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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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; 
Note: See TracChangeset for help on using the changeset viewer.