Example #1
0
 public static function getInstance()
 {
     if (self::$classInstance === null) {
         self::$classInstance = new self();
     }
     return self::$classInstance;
 }
Example #2
0
 public function findBasedOnUser($userLevel)
 {
     $daoPermTable = TOPLINK_BOL_ToplinkPermissionDao::getInstance()->getTableName();
     $sql = "SELECT " . $this->getTableName() . ".* FROM " . $this->getTableName() . " LEFT JOIN " . $daoPermTable . " ON " . $daoPermTable . ".itemid = " . $this->getTableName() . ".id WHERE " . $daoPermTable . ".availablefor = " . $userLevel . ";";
     return $this->dbo->queryForObjectList($sql, $this->getDtoClassName(), array(), 0, array());
 }
Example #3
0
 public function saveToplink(TOPLINK_BOL_Toplink $toplinkitems, $permission = null)
 {
     TOPLINK_BOL_ToplinkDao::getInstance()->save($toplinkitems);
     if (!empty($toplinkitems->id)) {
         $newId = OW::getDbo()->getInsertId();
         //print_r( $toplinkitems );
     }
     $example = new OW_EXAMPLE();
     $example->andFieldEqual('itemid', $toplinkitems->id);
     $listOfItem = TOPLINK_BOL_ToplinkPermissionDao::getInstance()->findListByExample($example);
     if (!empty($listOfItem)) {
         if (!empty($permission)) {
             //get saved permission
             foreach ($listOfItem as $permissionObj) {
                 $visibleFor[$permissionObj->id] = $permissionObj->availablefor;
             }
             //if perm item is reduced, remove also from table
             $removeInstalled = array_diff($visibleFor, $permission);
             if (!empty($removeInstalled)) {
                 foreach ($removeInstalled as $id => $myperm) {
                     TOPLINK_BOL_ToplinkPermissionDao::getInstance()->deleteById($id);
                 }
             }
             //if perm is added, add also into table
             $installNew = array_diff($permission, $visibleFor);
             if (!empty($installNew)) {
                 foreach ($installNew as $id) {
                     $toplinkPermission = new TOPLINK_BOL_ToplinkPermission();
                     $toplinkPermission->itemid = $toplinkitems->id;
                     $toplinkPermission->availablefor = $id;
                     TOPLINK_BOL_ToplinkPermissionDao::getInstance()->save($toplinkPermission);
                 }
             }
         } else {
             //if permission is not provided, remove except for admin
             foreach ($listOfItem as $permissionObj) {
                 if ($permissionObj->availablefor != 1) {
                     TOPLINK_BOL_ToplinkPermissionDao::getInstance()->deleteById($permissionObj->availablefor);
                 }
             }
         }
     } else {
         if (!empty($permission)) {
             //if no perm found in table, add allow to admin
             foreach ($permission as $perm) {
                 $toplinkPermission = new TOPLINK_BOL_ToplinkPermission();
                 $toplinkPermission->itemid = $toplinkitems->id;
                 $toplinkPermission->availablefor = $perm;
                 TOPLINK_BOL_ToplinkPermissionDao::getInstance()->save($toplinkPermission);
             }
         } else {
             //if no perm found in table, add allow to admin
             $toplinkPermission = new TOPLINK_BOL_ToplinkPermission();
             $toplinkPermission->itemid = $toplinkitems->id;
             $toplinkPermission->availablefor = 1;
             TOPLINK_BOL_ToplinkPermissionDao::getInstance()->save($toplinkPermission);
         }
     }
     return $newId;
 }