Exemplo n.º 1
0
 function do_updateSearch()
 {
     $id = KTUtil::arrayGet($_REQUEST, 'fSavedSearchId');
     $sName = KTUtil::arrayGet($_REQUEST, 'name');
     $oSearch = KTSavedSearch::get($id);
     if (PEAR::isError($oSearch) || $oSearch == false) {
         $this->errorRedirectToMain('No such dynamic condition');
     }
     $datavars = KTUtil::arrayGet($_REQUEST, 'boolean_search');
     if (!is_array($datavars)) {
         $datavars = unserialize($datavars);
     }
     if (empty($datavars)) {
         $this->errorRedirectToMain(_kt('You need to have at least 1 condition.'));
     }
     //$sName = "Neil's saved search";
     if (!empty($sName)) {
         $oSearch->setName($sName);
     }
     $oSearch->setSearch($datavars);
     $res = $oSearch->update();
     $this->oValidator->notError($res, array('redirect_to' => 'main', 'message' => _kt('Search not saved')));
     // Update permission object if exists
     $sWhere = 'condition_id = ?';
     $aParams = array($id);
     $aPermissionObjects = KTPermissionDynamicCondition::getPermissionObjectIdList($sWhere, $aParams);
     if (!PEAR::isError($aPermissionObjects) && !empty($aPermissionObjects)) {
         // update permission objects
         foreach ($aPermissionObjects as $iPermObjectId) {
             $oPO = KTPermissionObject::get($iPermObjectId['permission_object_id']);
             KTPermissionUtil::updatePermissionLookupForPO($oPO);
         }
     }
     $this->successRedirectToMain(_kt('Dynamic condition saved'));
 }