sync
[Pman.Admin] / GroupRights.php
index b6cb0ff..0dbd455 100644 (file)
@@ -12,7 +12,7 @@ class Pman_Admin_GroupRights extends Pman
         parent::getAuth(); // load company!
         $au = $this->getAuthUser();
         if (!$au) {
-            $this->jerr("Not authenticated", array('authFailure' => true));
+            $this->jerror("LOGIN-NOAUTH", "Not authenticated", array('authFailure' => true));
         }
         
         if ($au->company()->comptype !='OWNER') {
@@ -28,13 +28,14 @@ class Pman_Admin_GroupRights extends Pman
     
     // FOR PERMS - SEE THE DATAOBJECT!
     
-    function get()
+    function get($v, $opts = Array())
     {
         // must recieve a group..
         if (!isset($_GET['group_id']) || (int)$_GET['group_id'] < 0) {
             $this->jerr("NO GROUP");
         }
-        if (!$this->hasPerm( 'Core.Groups','S')) { // listing groups..
+        
+        if (!$this->checkPerm('E')) { // editing groups..
             $this->jerr("PERMISSION DENIED");
         }
         
@@ -52,9 +53,12 @@ class Pman_Admin_GroupRights extends Pman
         while ($p->fetch()) {
             $cur[$p->rightname] = clone($p);
         }
+        
+//        print_r($cur);exit;
+        
         $e = -1;
         $ar = array();
-         echo "<PRE>"; print_r($p->defaultPermData() );exit;
+        // echo "<PRE>"; print_r($p->defaultPermData() );
         foreach($p->defaultPermData() as $k => $defdata) {
             
             if (empty($defdata[0])) { // no admin data available..
@@ -71,17 +75,28 @@ class Pman_Admin_GroupRights extends Pman
                 $cur[$k] = clone($gr);
             }
             
-            
+            $short = explode('.',$k);
             $ar[] = array(
                 'id' => $cur[$k]->id * 1, //
                 'rightname' => $k,
                 'descript' => isset($defdata[2]) ? $defdata[2] : '' ,
                 'accessmask' => $cur[$k]->accessmask,
                 'FullMask' => $defdata[0],
-                'group_id' => (int)$_GET['group_id']
+                'group_id' => (int)$_GET['group_id'],
+                'shortname' => $short[0]
             );
                 
         }
+        
+        if (isset($_GET['_sort'])) {
+            foreach ($ar as $key => $row) {
+                $shortname[$key]  = $row['shortname'];
+                $descript[$key] = $row['descript'];
+            }
+
+            array_multisort($shortname, SORT_ASC, $descript, SORT_ASC, $ar);        
+        }
+        
         $this->jdata($ar);
         
          
@@ -89,19 +104,16 @@ class Pman_Admin_GroupRights extends Pman
     
     
     // post.. 
-    function post()
+    function post($v)
     {
         if (!isset($_POST['group_id']) || (int)$_POST['group_id'] < 0) {
             $this->jerr("NO GROUP");
         }
-        if (!$this->hasPerm( 'Core.Groups','E')) { // editing groups..
+        
+        if (!$this->checkPerm('E')) { // editing groups..
             $this->jerr("PERMISSION DENIED");
         }
         
-        
-            
-        
-        
         // add or update..
         if (!empty($_POST['dataUpdate'])) {
             foreach($_POST['dataUpdate'] as $id => $ac) {
@@ -133,9 +145,10 @@ class Pman_Admin_GroupRights extends Pman
         
         
     }
-     
-    
-    
     
+    function checkPerm($lvl)
+    {
+        return $this->hasPerm('Core.Groups', $lvl);
+    }
     
 }
\ No newline at end of file