]> git.andy128k.dev Git - ipf.git/commitdiff
Improve Verbose & granular HumanTitle()
authoravl <alex.litovchenko@gmail.com>
Fri, 22 May 2009 12:26:45 +0000 (15:26 +0300)
committeravl <alex.litovchenko@gmail.com>
Fri, 22 May 2009 12:26:45 +0000 (15:26 +0300)
ipf/admin/model.php
ipf/admin/views.php
ipf/utils.php

index 27db86211dc115f5d4fe5f57c183e9caf472888b..5e49108040576be78267ea2b1e1ae34a711f6740 100644 (file)
@@ -161,6 +161,10 @@ class IPF_Admin_Model{
         $this->modelName = $modelName;
     }
 
+    public function verbose_name(){
+       return IPF_Utils::humanTitle($this->modelName);
+    }
+
     public function setUp(){
         $this->model = new $this->modelName;
     }
@@ -354,7 +358,7 @@ class IPF_Admin_Model{
         $context = array(
                'mode'=>'add',
             'page_title'=>'Add '.$this->modelName,
-            'classname'=>$this->modelName,
+            'classname'=>$this->verbose_name(),
             'form'=>$form,
             'inlineInstances'=>$this->inlineInstances,
             'lapp'=>$lapp,
@@ -403,7 +407,7 @@ class IPF_Admin_Model{
         $context = array(
                'mode'=>'change',
             'page_title'=>'Edit '.$this->modelName,
-            'classname'=>$this->modelName,
+            'classname'=>$this->verbose_name(),
             'object'=>$o,
             'form'=>$form,
             'inlineInstances'=>$this->inlineInstances,
@@ -424,7 +428,7 @@ class IPF_Admin_Model{
         }
         $context = array(
             'page_title'=>'Delete '.$this->modelName,
-            'classname'=>$this->modelName,
+            'classname'=>$this->verbose_name(),
             'object'=>$o,
             'lapp'=>$lapp,
             'lmodel'=>$lmodel,
@@ -540,7 +544,7 @@ class IPF_Admin_Model{
             'header'=>$this->header,
             'objects'=>$objects,
             'pager'=>$pager,
-            'classname'=>$this->modelName,
+            'classname'=>$this->verbose_name(),
             'perms'=>$this->getPerms($request),
             'filters'=>$this->filters,
                'admin_title' => IPF::get('admin_title'),
index b49b461f234f74b1baded4c1e86c608661bafb7e..db7f5ff8f4c4f9bbcc0fbe713e8a8f895512ac68 100644 (file)
@@ -16,12 +16,8 @@ function IPF_Admin_Views_Index($request, $match){
                 if ($ma!==null){
                     $perms = $ma->getPerms($request);
                     if (array_search('view', $perms)!==false){
-                       if (method_exists($ma, 'verbose_name'))
-                               $mname = $ma->verbose_name();
-                       else
-                               $mname = $m;
                         $models[] = new IPF_Template_ContextVars(array(
-                            'name'=>$mname,
+                            'name'=>$ma->verbose_name(),
                             'path'=>strtolower($m),
                             'perms'=>$perms,
                         ));
index 2e369d4b70a5f3ffcd0e3ad05645d0b90054792f..0a25f108428bb28c199552f476a33a88665269f6 100644 (file)
@@ -84,7 +84,17 @@ class IPF_Utils {
     }
 
     static function humanTitle($s){
-        return ucfirst(str_replace('_',' ',str_replace('_id','',$s)));
+        $s = ucfirst(str_replace('_',' ',str_replace('_id','',$s)));
+       $ns = '';
+       for ($i=0; $i<strlen($s); $i++){
+               if ( ($i>0) && (ucfirst($s[$i-1])!=$s[$i-1]) && (ucfirst($s[$i])==$s[$i]) )
+                       $ns .= ' ';
+               if ($s[$i]=='_')
+                       $ns .= ' ';
+               else
+                       $ns .= $s[$i];
+       }
+       return $ns;
     }
 
     static function randomString($len=35)