Changeset 4362 for contrib/Dms/inc


Ignore:
Timestamp:
05/12/11 11:52:50 (13 years ago)
Author:
afernandes
Message:

Ticket #1416 - Disponibilizado módulo de recursos para a comunidade

Location:
contrib/Dms/inc
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • contrib/Dms/inc/class.uimydms.inc.php

    r3526 r4362  
    1313         
    1414        /* $Id: class.uimydms.inc.php 22794 2006-11-06 05:53:11Z lkneschke $ */ 
    15  
     15define('PHPGW_SERVER_ROOT','/var/www/expresso'); 
    1616        require_once(PHPGW_SERVER_ROOT.'/mydms/inc/inc.Settings.php'); 
    1717        require_once(PHPGW_SERVER_ROOT.'/mydms/inc/inc.DBAccess.php'); 
     
    759759                        $this->t->set_var('lang_comment',lang('comment')); 
    760760                        $this->t->set_var('lang_keywords',lang('keywords')); 
    761                         $this->t->set_var('lang_download',lang('download')); 
     761                        $this->t->set_var('lang_download',lang('Descargar Archivo')); 
    762762                        $this->t->set_var('lang_last_update',lang('last update')); 
    763763                        $this->t->set_var('lang_current_version',lang('current version')); 
     
    776776                        $this->t->set_var('lang_delete',lang('delete')); 
    777777                        $this->t->set_var('lang_view_online',lang('view online')); 
    778                         $this->t->set_var('lang_confirm_delete',lang('Do you really want to delete this document?')); 
     778                        $this->t->set_var('lang_confirm_delete',lang('Relmente quiere borrar el documento?')); 
    779779                        $this->t->set_var('lang_update_document',lang('update document')); 
    780780                        $this->t->set_var('lang_update',lang('update')); 
     
    865865                { 
    866866                        $documentID = ($_documentID === false ? (int)$_GET['documentid'] : $_documentID); 
    867  
     867                         
     868                        //echo "documento".$documentID; 
    868869                        if(!$document   = getDocument($documentID)) 
    869870                        { 
    870871                                print "Access denied!"; exit; 
    871872                        } 
     873                 
     874 
    872875                        $user           = getUser($GLOBALS['phpgw_info']['user']['account_id']); 
    873876                        $accessMode     = $document->getAccessMode($user); 
  • contrib/Dms/inc/inc.ClassDocument.php

    r3526 r4362  
    33function getDocument($id) 
    44{ 
     5         
     6//      echo "aggggi".$id; 
    57        if (!is_numeric($id)) 
    68                die ("invalid documentid"); 
    79         
    810        $queryStr = "SELECT * FROM phpgw_mydms_Documents WHERE id = " . $id; 
     11         
     12        //echo "<br>documentos".$queryStr."<br>"; 
    913        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
    1014        if (is_bool($resArr) && $resArr == false) 
     
    1519 
    1620        $resArr = $resArr[0]; 
    17         $newDocument = new Document($resArr["id"], $resArr["name"], $resArr["comment"], $resArr["date"], $resArr["expires"], $resArr["owner"], $resArr["folder"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr["locked"], $resArr["keywords"], $resArr["sequence"]); 
    18  
     21        $newDocument = new Document($resArr["id"], $resArr["name"], $resArr["comment"], $resArr["date"], $resArr["expires"], $resArr["owner"], $resArr["folder"], $resArr[7], $resArr[8], $resArr[9], $resArr["keywords"], $resArr["sequence"]); 
     22 
     23         
    1924        if($newDocument->getAccessMode(getUser($GLOBALS['phpgw_info']['user']['account_id'])) > M_NONE) 
    2025                return $newDocument; 
     
    419424                                return M_NONE; 
    420425                } 
    421                  
     426                return $this->getAccessList2(); 
    422427                //Berechtigung erben?? 
    423428                // wird ï¿œber GetAccessList() bereits realisiert. 
     
    431436                } 
    432437                */ 
    433                 $highestPrivileged = M_NONE; 
     438        /*      $highestPrivileged = M_NONE; 
    434439                 
    435440                //ACLs durchforsten 
     
    465470                 
    466471                //Standard-Berechtigung verwenden 
    467                 return $this->getDefaultAccess(); 
    468         } 
    469  
     472                return $this->getDefaultAccess();*/ 
     473        } 
     474function getAccessList2() 
     475        { 
     476                 
     477                $grupos=read_repository2($GLOBALS['phpgw_info']['user']['account_id']); 
     478        //      echo "".$GLOBALS['phpgw_info']['user']['account_id']; 
     479 
     480        if($grupos!=''){ 
     481                        $queryStr = "SELECT * FROM phpgw_mydms_acls WHERE targettype = ".T_FOLDER." AND target in ( select folder from phpgw_mydms_Documents WHERE id=" . $this->_id . ") and (userid=".$GLOBALS['phpgw_info']['user']['account_id']." or groupid in (".$grupos."))  ORDER BY targettype"; 
     482        }else{ 
     483                                        $queryStr = "SELECT * FROM phpgw_mydms_acls WHERE targettype = ".T_FOLDER." AND target in  ( select folder from phpgw_mydms_Documents WHERE id=" . $this->_id . ") and (userid=".$GLOBALS['phpgw_info']['user']['account_id']." )  ORDER BY targettype"; 
     484                 
     485        } 
     486//echo "aqui".$queryStr ; 
     487                        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
     488 
     489 
     490                        if (is_bool($resArr) && !$resArr) 
     491                                return false; 
     492                         
     493                        //$this->_accessList = array("groups" => array(), "users" => array()); 
     494                        foreach ($resArr as $row) 
     495                        { 
     496                                 
     497                                                                //echo "el grupo de acceso es".$row[4]."   ".$row["groupid"]."<br>"; 
     498                                return $row["mode"]; 
     499                                /*if ($row["userid"] != -1) 
     500                                        array_push($this->_accessList["users"], new UserAccess($row["userid"], $row["mode"])); 
     501                                else //if ($row["groupID"] != -1) 
     502                                        array_push($this->_accessList["groups"], new GroupAccess($row["groupid"], $row["mode"]));*/ 
     503                        } 
     504                 
     505 
     506                return $this->_accessList; 
     507        } 
    470508        function getNotifyList() 
    471509        { 
     
    683721                ); 
    684722                         
    685                 if(!$this->db->select('phpgw_mydms_DocumentContent', $cols, $where, __LINE__, __FILE__)) { 
     723                if(!$this->db->select('phpgw_mydms_DocumentContent', $cols, $where, __LINE__, __FILE__, false, 'ORDER BY version,id desc')) { 
    686724                        return false; 
    687725                } 
  • contrib/Dms/inc/inc.ClassFolder.php

    r3526 r4362  
    44        if (!is_numeric($id)) 
    55                die ("invalid folderid"); 
    6  
    7         $queryStr = "SELECT * FROM phpgw_mydms_Folders WHERE id = " . $id; 
     6        $queryStr = "SELECT id,name,parent,comment,owner,inheritaccess,defaultaccess,sequence FROM phpgw_mydms_folders WHERE id = " . $id; 
     7         
     8        //echo "<br>folderrrrr".$queryStr."<br>"; 
    89        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
    910                 
     
    1516        $resArr = $resArr[0]; 
    1617        if($id == 1) { 
    17                 $resArr["defaultAccess"] = M_READ; 
    18         } 
    19         $newFolder =  new Folder($resArr["id"], $resArr["name"], $resArr["parent"], $resArr["comment"], $resArr["owner"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr["sequence"]); 
     18                $resArr[6] = M_READ; 
     19        } 
     20        //      echo $resArr["id"]."  ".$resArr[6]." ".$resArr["parent"]."   ".$id."  ".$GLOBALS['phpgw_info']['user']['account_id']." dddd ".$resArr[5]."  dddd ".$resArr["defaultAccess"]; 
    2021         
     22        $newFolder =  new Folder($resArr["id"], $resArr["name"], $resArr["parent"], $resArr["comment"], $resArr["owner"], $resArr["inheritaccess"], $resArr["defaultaccess"], $resArr["sequence"]); 
     23        //echo "llll".$GLOBALS['phpgw_info']['user']['account_id']."   ".$resArr["inheritaccess"]; 
    2124        #print $resArr["name"]."<br>"; 
    2225        #print $newFolder->getAccessMode(getUser($GLOBALS['phpgw_info']['user']['account_id']))."<br>"; 
    23         if($newFolder->getAccessMode(getUser($GLOBALS['phpgw_info']['user']['account_id'])) > 1) 
    24                 return $newFolder; 
    25         else 
     26        if($newFolder->getAccessMode(getUser($GLOBALS['phpgw_info']['user']['account_id'])) > 1){ 
     27        //echo "retornoooo";     
     28                return $newFolder; 
     29        } 
     30        else{ 
    2631                return false; 
     32        } 
    2733} 
    2834 
     
    4551        function Folder($id, $name, $parentID, $comment, $ownerID, $inheritAccess, $defaultAccess, $sequence) 
    4652        { 
     53                //echo "aaaaaccccseexxx".$inheritAccess; 
     54                        if($inheritAccess=='f'){ 
     55                                unset($inheritAccess); 
     56                        }        
    4757                $this->_id = $id; 
    4858                $this->_name = $name; 
     
    5363                $this->_defaultAccess = $defaultAccess; 
    5464                $this->_sequence = $sequence; 
    55                  
    5665                $this->db = clone($GLOBALS['phpgw']->db); 
    5766                $this->db->set_app('mydms'); 
     67        //      echo"accc".$defaultAccess."lll{ñ{{ñ".$inheritAccess; 
    5868        } 
    5969 
     
    6777                $where  = array('id' => $this->_id); 
    6878                 
    69                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     79                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    7080                        return false; 
    7181                 
     
    8292                $where  = array('id' => $this->_id); 
    8393                 
    84                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     94                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    8595                        return false; 
    8696                 
     
    105115                $where  = array('id' => $this->_id); 
    106116                 
    107                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     117                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    108118                        return false; 
    109119                 
     
    126136                $where  = array('id' => $this->_id); 
    127137                 
    128                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     138                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    129139                        return false; 
    130140                 
     
    151161                $where  = array('id' => $this->_id); 
    152162                 
    153                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     163                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    154164                        return false; 
    155165                 
     
    167177                $where  = array('id' => $this->_id); 
    168178                 
    169                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     179                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    170180                        return false; 
    171181                 
     
    181191                $where  = array('id' => $this->_id); 
    182192                 
    183                 if(!$this->db->update('phpgw_mydms_Folders', $data, $where, __LINE__, __FILE__)) 
     193                if(!$this->db->update('phpgw_mydms_folders', $data, $where, __LINE__, __FILE__)) 
    184194                        return false; 
    185195 
     
    192202                if (!isset($this->_subFolders)) 
    193203                { 
    194                         $queryStr = "SELECT * FROM phpgw_mydms_Folders WHERE parent = " . $this->_id . " ORDER BY sequence"; 
     204                        $queryStr = "SELECT * FROM phpgw_mydms_folders WHERE parent = " . $this->_id . " ORDER BY sequence"; 
    195205 
    196206 
     
    226236                        'sequence'      => $sequence, 
    227237                ); 
    228                 $res = $this->db->insert('phpgw_mydms_Folders', $insertData, '', __LINE__, __FILE__, 'mydms'); 
     238                $res = $this->db->insert('phpgw_mydms_folders', $insertData, '', __LINE__, __FILE__, 'mydms'); 
    229239 
    230240                if (!$res) 
     
    233243                unset($this->_subFolders); 
    234244                 
    235                 return getFolder($this->db->get_last_insert_id('phpgw_mydms_Folders','id')); 
     245                return getFolder($this->db->get_last_insert_id('phpgw_mydms_folders','id')); 
    236246        } 
    237247 
     
    307317        function getDocuments() 
    308318        { 
     319                 
     320        //      echo "aaaaaaaquoooooo"; 
    309321                if (!isset($this->_documents)) 
    310322                { 
    311                         $queryStr = "SELECT * FROM phpgw_mydms_Documents WHERE folder = " . $this->_id . " ORDER BY sequence"; 
     323                        $queryStr = "SELECT * FROM phpgw_mydms_documents WHERE folder = " . $this->_id . " ORDER BY id desc,sequence"; 
     324                //      echo "eeeeee".$queryStr; 
    312325                        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
    313326                        if (is_bool($resArr) && !$resArr) 
     
    341354                        'sequence'      => $sequence, 
    342355                ); 
    343                 $res = $this->db->insert('phpgw_mydms_Documents', $insertData, '', __LINE__, __FILE__, 'mydms'); 
     356                $res = $this->db->insert('phpgw_mydms_documents', $insertData, '', __LINE__, __FILE__, 'mydms'); 
    344357 
    345358                if (!$res) 
     
    355368                #       return false; 
    356369                 
    357                 $document = getDocument($this->db->get_last_insert_id('phpgw_mydms_Documents','id')); 
     370                $document = getDocument($this->db->get_last_insert_id('phpgw_mydms_documents','id')); 
    358371                 
    359372                $res = $document->addContent($comment, $owner, $tmpFile, $orgFileName, $fileType, $mimeType); 
    360373                if (is_bool($res) && !$res) 
    361374                { 
    362                         $queryStr = "DELETE FROM phpgw_mydms_Documents WHERE id = " . $document->getID(); 
     375                        $queryStr = "DELETE FROM phpgw_mydms_documents WHERE id = " . $document->getID(); 
    363376                        $GLOBALS['mydms']->db->getResult($queryStr); 
    364377                        return false; 
     
    389402                 
    390403                //Entfernen der Datenbankeintrï¿œge 
    391                 $queryStr = "DELETE FROM phpgw_mydms_Folders WHERE id =  " . $this->_id; 
    392                 if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    393                         return false; 
    394                 $queryStr = "DELETE FROM phpgw_mydms_ACLs WHERE target = ". $this->_id. " AND targetType = " . T_FOLDER; 
    395                 if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    396                         return false; 
    397                 $queryStr = "DELETE FROM phpgw_mydms_Notify WHERE target = ". $this->_id. " AND targetType = " . T_FOLDER; 
     404                $queryStr = "DELETE FROM phpgw_mydms_folders WHERE id =  " . $this->_id; 
     405                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
     406                        return false; 
     407                $queryStr = "DELETE FROM phpgw_mydms_acls WHERE target = ". $this->_id. " AND targettype = " . T_FOLDER; 
     408                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
     409                        return false; 
     410                $queryStr = "DELETE FROM phpgw_mydms_notify WHERE target = ". $this->_id. " AND targettype = " . T_FOLDER; 
    398411                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    399412                        return false; 
     
    415428                if (!isset($this->_accessList)) 
    416429                { 
    417                         $queryStr = "SELECT * FROM phpgw_mydms_ACLs WHERE targetType = ".T_FOLDER." AND target = " . $this->_id . " ORDER BY targetType"; 
    418  
     430                        $queryStr = "SELECT * FROM phpgw_mydms_acls WHERE targettype = ".T_FOLDER." AND target = " . $this->_id . " ORDER BY targettype"; 
     431//echo "aqui".$queryStr ; 
    419432                        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
    420433 
     
    426439                        foreach ($resArr as $row) 
    427440                        { 
     441                                                                //echo "el grupo de acceso es".$row[4]."   ".$row["groupid"]."<br>"; 
     442                                 
    428443                                if ($row["userid"] != -1) 
    429444                                        array_push($this->_accessList["users"], new UserAccess($row["userid"], $row["mode"])); 
     
    435450                return $this->_accessList; 
    436451        } 
     452         
     453         
     454         
     455function getAccessList2() 
     456        { 
     457                 
     458                $grupos=read_repository2($GLOBALS['phpgw_info']['user']['account_id']); 
     459        //      echo "".$GLOBALS['phpgw_info']['user']['account_id']; 
     460 
     461        if($grupos!=''){ 
     462                        $queryStr = "SELECT * FROM phpgw_mydms_acls WHERE targettype = ".T_FOLDER." AND target = " . $this->_id . " and (userid=".$GLOBALS['phpgw_info']['user']['account_id']." or groupid in (".$grupos."))  ORDER BY targettype"; 
     463        }else{ 
     464                                        $queryStr = "SELECT * FROM phpgw_mydms_acls WHERE targettype = ".T_FOLDER." AND target = " . $this->_id . " and (userid=".$GLOBALS['phpgw_info']['user']['account_id']." )  ORDER BY targettype"; 
     465                 
     466        } 
     467//echo "<br>aqui".$queryStr ; 
     468                        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
     469 
     470 
     471                        if (is_bool($resArr) && !$resArr) 
     472                                return false; 
     473                         
     474                        //$this->_accessList = array("groups" => array(), "users" => array()); 
     475                        foreach ($resArr as $row) 
     476                        { 
     477                                //echo "acceso".$row["mode"]; 
     478                                                                //echo "el grupo de acceso es".$row[4]."   ".$row["groupid"]."<br>"; 
     479                                return $row["mode"]; 
     480                                /*if ($row["userid"] != -1) 
     481                                        array_push($this->_accessList["users"], new UserAccess($row["userid"], $row["mode"])); 
     482                                else //if ($row["groupID"] != -1) 
     483                                        array_push($this->_accessList["groups"], new GroupAccess($row["groupid"], $row["mode"]));*/ 
     484                        } 
     485                 
     486                return false; 
     487        } 
    437488 
    438489        function clearAccessList() 
    439490        { 
    440                 $queryStr = "DELETE FROM phpgw_mydms_ACLs WHERE targetType = " . T_FOLDER . " AND target = " . $this->_id; 
     491                $queryStr = "DELETE FROM phpgw_mydms_acls WHERE targettype = " . T_FOLDER . " AND target = " . $this->_id; 
    441492                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    442493                        return false; 
     
    450501                $userOrGroup = ($isUser) ? "userid" : "groupid"; 
    451502                 
    452                 $queryStr = "INSERT INTO phpgw_mydms_ACLs (target, targetType, ".$userOrGroup.", mode) VALUES  
     503                $queryStr = "INSERT INTO phpgw_mydms_acls (target, targettype, ".$userOrGroup.", mode) VALUES  
    453504                                        (".$this->_id.", ".T_FOLDER.", " . $userOrGroupID . ", " .$mode. ")"; 
    454505                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
     
    463514                $userOrGroup = ($isUser) ? "userID" : "groupID"; 
    464515                 
    465                 $queryStr = "UPDATE phpgw_mydms_ACLs SET mode = " . $newMode . " WHERE targetType = ".T_FOLDER." AND target = " . $this->_id . " AND " . $userOrGroup . " = " . $userOrGroupID; 
     516                $queryStr = "UPDATE phpgw_mydms_acls SET mode = " . $newMode . " WHERE targettype = ".T_FOLDER." AND target = " . $this->_id . " AND " . $userOrGroup . " = " . $userOrGroupID; 
    466517                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    467518                        return false; 
     
    475526                $userOrGroup = ($isUser) ? "userID" : "groupID"; 
    476527                 
    477                 $queryStr = "DELETE FROM phpgw_mydms_ACLs WHERE targetType = ".T_FOLDER." AND target = ".$this->_id." AND ".$userOrGroup." = " . $userOrGroupID; 
     528                $queryStr = "DELETE FROM phpgw_mydms_acls WHERE targettype = ".T_FOLDER." AND target = ".$this->_id." AND ".$userOrGroup." = " . $userOrGroupID; 
    478529                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    479530                        return false; 
     
    492543        function getAccessMode($user) 
    493544        { 
     545                 
    494546                GLOBAL $settings; 
    495547 
     
    532584                //ACLs durchforsten 
    533585                $foundInACL = false; 
    534                 $accessList = $this->getAccessList(); 
     586                 
     587                return $this->getAccessList2(); 
     588                /*$accessList = $this->getAccessList(); 
    535589                if (!$accessList) { 
    536590                        return false; 
     
    552606                foreach ($accessList["groups"] as $groupAccess) 
    553607                { 
     608                         
    554609                        if ($user->isMemberOfGroup($groupAccess->getGroup())) 
    555610                        { 
     611                                 
     612                                                //      echo "entro grupoooo<br>";//.$groupAccess->getGroup()."  <br>"; 
     613                                 
    556614                                $foundInACL = true; 
    557615                                if ($groupAccess->getMode() > $highestPrivileged) 
     
    562620                } 
    563621                if ($foundInACL) 
    564                         return $highestPrivileged; 
     622                        return $highestPrivileged;*/ 
    565623                 
    566624                //Standard-Berechtigung verwenden 
    567                 return $this->getDefaultAccess(); 
     625                //return $this->getDefaultAccess(); 
    568626        } 
    569627 
     
    572630                if (!isset($this->_notifyList)) 
    573631                { 
    574                         $queryStr ="SELECT * FROM phpgw_mydms_Notify WHERE targetType = " . T_FOLDER . " AND target = " . $this->_id; 
     632                        $queryStr ="SELECT * FROM phpgw_mydms_notify WHERE targettype = " . T_FOLDER . " AND target = " . $this->_id; 
    575633                        $resArr = $GLOBALS['mydms']->db->getResultArray($queryStr); 
    576634                        if (is_bool($resArr) && $resArr == false) 
     
    593651                $userOrGroup = ($isUser) ? "userID" : "groupID"; 
    594652                 
    595                 $queryStr = "INSERT INTO phpgw_mydms_Notify (target, targetType, " . $userOrGroup . ") VALUES (" . $this->_id . ", " . T_FOLDER . ", " . $userOrGroupID . ")"; 
     653                $queryStr = "INSERT INTO phpgw_mydms_notify (target, targettype, " . $userOrGroup . ") VALUES (" . $this->_id . ", " . T_FOLDER . ", " . $userOrGroupID . ")"; 
    596654                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    597655                        return false; 
     
    605663                $userOrGroup = ($isUser) ? "userID" : "groupID"; 
    606664                 
    607                 $queryStr = "DELETE FROM phpgw_mydms_Notify WHERE target = " . $this->_id . " AND targetType = " . T_FOLDER . " AND " . $userOrGroup . " = " . $userOrGroupID; 
     665                $queryStr = "DELETE FROM phpgw_mydms_notify WHERE target = " . $this->_id . " AND targettype = " . T_FOLDER . " AND " . $userOrGroup . " = " . $userOrGroupID; 
    608666                if (!$GLOBALS['mydms']->db->getResult($queryStr)) 
    609667                        return false; 
  • contrib/Dms/inc/inc.ClassGroup.php

    r3526 r4362  
    1010         
    1111        $name = $GLOBALS['phpgw']->accounts->id2name($id); 
    12          
     12//      echo" el grupo es".$name."   ".$id."<br>"; 
    1313        return new Group($id, $name, ''); 
    1414} 
     
    144144        { 
    145145                //Wenn die User bereits abgefragt wurden, geht's so schneller: 
     146                 
     147                //echo "usuariooooo".$user->getID()."<br>"; 
     148                 
    146149                if (isset($this->_users)) 
    147150                { 
     
    154157                 
    155158                $members = $GLOBALS['phpgw']->accounts->member((int)$this->_id); 
     159         
    156160                $phpgw_group_member = array(); 
    157161 
    158162                if (is_array($members)) 
    159163                { 
    160                         foreach($members as $member) 
     164                     /*   foreach($members as $member) 
    161165                        { 
    162166                                if(!in_array($member['account_id'],$phpgw_group_member)) 
    163167                                { 
    164168                                        $phpgw_group_member[] = $member['account_id']; 
    165                                 } 
    166                         } 
     169                                        //echo "grupomiembro".$member['account_id']."   ".$this->_id."<br>"; 
     170                                }//else{ 
     171                                        //echo "<br>arrreglo<br>".$member['account_id']."   ".$phpgw_group_member->id."<br>"; 
     172                                //} 
     173                        }*/ 
    167174                } 
    168175                                                 
     
    177184 
    178185        } 
     186         
     187 
     188         
    179189 
    180190        /** 
  • contrib/Dms/inc/inc.ClassUser.php

    r3526 r4362  
    4949} 
    5050 
     51 
     52 
     53 
     54                 
     55        function read_repository2($id) 
     56                { 
     57                         
     58                        $login=$GLOBALS['phpgw']->accounts->id2name($id); 
     59                                $ds = $GLOBALS['phpgw']->common->ldapConnect(); 
     60                                $user_context  = $GLOBALS['phpgw_info']['server']['ldap_context']; 
     61                                $group_context  = $GLOBALS['phpgw_info']['server']['ldap_context']; 
     62                                $justthese = array("gidnumber"); 
     63                                $sri = @ldap_search($ds, $group_context, ("(&(memberUid=" . $login.")(phpgwaccounttype=g))"), $justthese); 
     64                         
     65                                if(!$sri) 
     66                                return null; 
     67                                $allValues = ldap_get_entries($ds, $sri); 
     68 
     69                                 
     70                                while (list($null,$allVals) = @each($allValues)) 
     71                                { 
     72                                        settype($allVals,'array'); 
     73                                         
     74                                        if($data!=""){ 
     75                                                $data=$data.","; 
     76                                        } 
     77                                        $data=$data. $allVals['gidnumber'][0]; 
     78                                 
     79                                         
     80                                         
     81                                } 
     82                                 
     83                                //echo "<br>".$data; 
     84                                return $data; 
     85                } 
     86                 
     87 
     88function get_account_name($account_id,$valor) 
     89                { 
     90                //      $acct_type = $this->get_type($account_id); 
     91$acct_type ='u'; 
     92                        /* jakjr: using justthese with ldap_search */ 
     93                        //$justthese = array("cn","uid","givenname","sn","gecos"); 
     94 
     95                        /* search the dn for the given uid */ 
     96$ds = $GLOBALS['phpgw']->common->ldapConnect(); 
     97$user_context  = $GLOBALS['phpgw_info']['server']['ldap_context']; 
     98                         
     99$justthese = array("uidnumber",  "cn",  "mail","gecos","dn"); 
     100                        //      $sri = @ldap_search($this->ds, "ou=usuarios,ou=cnti,dc=gob,dc=ve", ("(&(sn=*)(mail=*@*)(structuralObjectClass=inetOrgPerson)(deliveryMode=virtual))"), $justthese); 
     101 
     102                        //if(($acct_type == 'g') && $this->group_context) 
     103                //      { 
     104                //              $sri = @ldap_search($this->ds, $this->group_context, '(gidnumber=' . (int)$account_id . ')', $justthese); 
     105                //      } 
     106                //      else 
     107                //      { 
     108                                $sri = @ldap_search($ds, $user_context, '(uidnumber=' . (int)$account_id . ')', $justthese); 
     109                        //} 
     110 
     111//echo $this->ds.",". $this->user_context.",". '(uidnumber=' . (int)$account_id . ')'.",". $justthese; 
     112                        if(!$sri) 
     113                                return False; 
     114                        $allValues = ldap_get_entries($ds, $sri); 
     115$retorna=""; 
     116                        if($acct_type =='g') 
     117                        { 
     118                                if($valor=='gecos') { 
     119                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['gecos'][0],'utf-8'); 
     120                                } 
     121                                if($valor=='uidnumber') { 
     122                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['uidnumber'][0],'utf-8'); 
     123                                } 
     124                                if($valor=='cn') { 
     125                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['cn'][0],'utf-8'); 
     126                                } 
     127 
     128                                if($valor=='mail') { 
     129                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['mail'][0],'utf-8'); 
     130                                } 
     131                                if($valor=='dn') { 
     132                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['dn'][0],'utf-8'); 
     133                                } 
     134                                 
     135                        } 
     136                        else 
     137                        { 
     138                                if($valor=='gecos') { 
     139                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['gecos'][0],'utf-8'); 
     140                                } 
     141                                if($valor=='uidnumber') { 
     142                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['uidnumber'][0],'utf-8'); 
     143                                } 
     144                                if($valor=='cn') { 
     145                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['cn'][0],'utf-8'); 
     146                                } 
     147 
     148                                if($valor=='mail') { 
     149                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['mail'][0],'utf-8'); 
     150                                } 
     151                                if($valor=='dn') { 
     152                                        $retorna=$GLOBALS['phpgw']->translation->convert($allValues[0]['dn'][0],'utf-8'); 
     153                                } 
     154                                 
     155 
     156 
     157 
     158                        } 
     159                        return $retorna; 
     160                } 
     161 
    51162function getUser($id) 
    52163{ 
     164//echo "llego"; 
    53165        $resArr["id"] = $id; 
    54         $resArr["login"] = phpgw_id2name($id); 
     166        $resArr["login"] =  phpgw_id2name($id);//get_account_name($id,'dn'); 
    55167        $resArr["fullName"] = phpgw_get_accname($id); 
    56168        $resArr["email"] = phpgw_get_accemail($id); 
     
    59171        $resArr["pwd"] = ''; 
    60172        $resArr["comment"] = ''; 
     173//      echo "hhh".$resArr["login"]."  ".$resArr["fullName"]."  ".$resArr["isAdmin"]; 
    61174        return new User($resArr["id"], $resArr["login"], $resArr["pwd"], $resArr["fullName"], $resArr["email"], $resArr["comment"], $resArr["isAdmin"]); 
    62175} 
     
    137250                $this->_isAdmin = $isAdmin; 
    138251        } 
     252         
     253         
     254        function add($id,$login,$fullName,$email,$isAdmin,$pwd,$comment) 
     255    { 
     256        $this->User = new User($id, $login, $pwd, $fullName, $email, $comment, $isAdmin); 
     257    } 
     258         
     259         function sortDataSet($s) 
     260    { 
     261        //Sort by the given parameter 
     262        switch($s) 
     263        { 
     264            case "fullName": 
     265                //Note use of array to reference member method of this object in callback 
     266                uasort($this->User,array($this,"cmpName")); 
     267                break; 
     268            
     269            case "login": 
     270                uasort($this->User,array($this,"cmpX")); 
     271                break; 
     272                
     273            case "id": 
     274                uasort($this->User,array($this,"cmpY")); 
     275                break;                
     276            
     277            case "added": 
     278            default: 
     279                //Re-sort array by original keys 
     280                ksort($this->User);        
     281        } 
     282    } 
     283 
     284    //Callback function for sorting by name 
     285    //$a and $b are dataItem objects 
     286    function cmpName($a,$b) 
     287    { 
     288        //Use sort() for simple alphabetical comparison 
     289        //Convert to lowercase to ensure consistent behaviour 
     290        $sortable = array(strtolower($a->_fullName),strtolower($b->_fullName)); 
     291        $sorted = $sortable; 
     292        sort($sorted);    
     293        
     294        //If the names have switched position, return -1. Otherwise, return 1. 
     295        return ($sorted[0] == $sortable[0]) ? -1 : 1; 
     296    } 
     297    
     298    //Callback function for sorting by x 
     299    //$a and $b are dataItem objects 
     300    function cmpX($a,$b) 
     301    { 
     302        //Use sort() for simple alphabetical comparison 
     303        //Convert to lowercase to ensure consistent behaviour 
     304        $sortable = array(strtolower($a->x),strtolower($b->x)); 
     305        $sorted = $sortable; 
     306        sort($sorted);    
     307        
     308        //If the names have switched position, return -1. Otherwise, return 1. 
     309        return ($sorted[0] == $sortable[0]) ? -1 : 1; 
     310    } 
     311    
     312    //Callback function for sorting by y 
     313    //$a and $b are dataItem objects 
     314    function cmpY($a,$b) 
     315    {        
     316        //If $a's y attribute >= $b's y attribute, return 1. Otherwise, return -1. 
     317        return ($a->y >= $b->y) ? 1 : -1; 
     318    }    
    139319 
    140320        function getID() { return $this->_id; } 
     
    339519        function isMemberOfGroup($group) 
    340520        { 
     521                //echo "es miembro de".$this."<br>"; 
    341522                return $group->isMember($this); 
    342523        } 
Note: See TracChangeset for help on using the changeset viewer.