Beispiel #1
0
 function do_performSearch()
 {
     $datavars = KTUtil::arrayGet($_REQUEST, 'boolean_search');
     $sName = $this->oValidator->validateEntityName('KTSavedSearch', KTUtil::arrayGet($_REQUEST, 'name'), array('extra_condition' => 'not is_condition', 'redirect_to' => array('new')));
     if (!is_array($datavars)) {
         $datavars = unserialize($datavars);
     }
     if (empty($datavars)) {
         $this->errorRedirectToMain(_kt('You need to have at least 1 condition.'));
     }
     $sNamespace = KTUtil::nameToLocalNamespace('Saved searches', $sName);
     $oSearch = KTSavedSearch::createFromArray(array('name' => $sName, 'namespace' => $sNamespace, 'iscondition' => false, 'iscomplete' => true, 'userid' => null, 'search' => $datavars));
     $this->oValidator->notError($oSearch, array('redirect_to' => 'main', 'message' => _kt('Search not saved')));
     $this->successRedirectToMain(_kt('Search saved'));
 }
Beispiel #2
0
 function do_saveSearch()
 {
     $this->startTransaction();
     $iSearchId = KTUtil::arrayGet($_REQUEST, 'fSearchId', false);
     $sName = KTUtil::arrayGet($_REQUEST, 'name', false);
     $sSearch = KTUtil::arrayGet($_REQUEST, 'boolean_search');
     if ($iSearchId === false && $sName === false) {
         $this->errorRedirectTo('performSearch', _kt('Please either enter a name, or select a search to save over'), sprintf('boolean_search_id=%s', $sSearch));
         exit(0);
     }
     if ($this->oUser->isAnonymous()) {
         $this->errorRedirectTo('performSearch', _kt('Cannot save searches as anonymous user'), sprintf('boolean_search_id=%s', $sSearch));
         exit(0);
     }
     $datavars = $_SESSION['boolean_search'][$sSearch];
     if (!is_array($datavars)) {
         $datavars = unserialize($datavars);
     }
     if (empty($datavars)) {
         $this->errorRedirectToMain(_kt('You need to have at least 1 condition.'));
     }
     if ($iSearchId) {
         $oSearch = KTSavedSearch::get($iSearchId);
         if (PEAR::isError($oSearch) || $oSearch == false) {
             $this->errorRedirectToMain(_kt('No such search'));
             exit(0);
         }
         $oSearch->setSearch($datavars);
         $oSearch = $oSearch->update();
     } else {
         $sName = $this->oValidator->validateEntityName('KTSavedSearch', KTUtil::arrayGet($_REQUEST, 'name'), array('extra_condition' => 'not is_condition', 'redirect_to' => array('new')));
         $sNamespace = KTUtil::nameToLocalNamespace('Saved searches', $sName);
         $oSearch = KTSavedSearch::createFromArray(array('name' => $sName, 'namespace' => $sNamespace, 'iscondition' => false, 'iscomplete' => true, 'userid' => $this->oUser->getId(), 'search' => $datavars));
     }
     $this->oValidator->notError($oSearch, array('redirect_to' => 'main', 'message' => _kt('Search not saved')));
     $this->commitTransaction();
     $this->successRedirectTo('performSearch', _kt('Search saved'), sprintf('boolean_search_id=%s', $sSearch));
 }
<?php

require_once '../../config/dmsDefaults.php';
require_once KT_LIB_DIR . '/search/savedsearch.inc.php';
$aSearch = array('join' => 'AND', 'subgroup' => array(array('join' => 'AND', 'values' => array(array('type' => '-3', 'data' => array('bmd_3' => '4'))))));
$oSearch = KTSavedSearch::createFromArray(array('name' => 'name', 'namespace' => 'namespace', 'iscondition' => false, 'iscomplete' => true, 'userid' => null, 'search' => $aSearch));
var_dump($oSearch);