diff --git a/presentation/lookAndFeel/knowledgeTree/administration/searches/conditions.php b/presentation/lookAndFeel/knowledgeTree/administration/searches/conditions.php new file mode 100644 index 0000000..fd34c11 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/administration/searches/conditions.php @@ -0,0 +1,87 @@ +oValidator->validateTemplate('ktcore/search/administration/conditions'); + $oTemplate->setData(array( + 'conditions' => KTSavedSearch::getConditions(), + )); + return $oTemplate->render(); + } + + function do_new() { + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/boolean_search"); + + $aCriteria = Criteria::getAllCriteria(); + + $aTemplateData = array( + "title" => "Create a new condition", + "sNameTitle" => "Name of condition", + "aCriteria" => $aCriteria, + "searchButton" => "Save", + ); + return $oTemplate->render($aTemplateData); + } + + function do_view() { + + } + + function handleOutput($data) { + global $main; + $main->bFormDisabled = true; + $main->setCentralPayload($data); + $main->render(); + } + + // XXX: Rename to do_save + function do_performSearch() { + $datavars = KTUtil::arrayGet($_REQUEST, 'boolean_search'); + if (!is_array($datavars)) { + $datavars = unserialize($datavars); + } + + if (empty($datavars)) { + $this->errorRedirectToMain('You need to have at least 1 condition.'); + } + + $sName = $_REQUEST['name']; + $sNamespace = KTUtil::nameToLocalNamespace('Saved searches', $sName); + + $oSearch = KTSavedSearch::createFromArray(array( + 'name' => $sName, + 'namespace' => $sNamespace, + 'iscondition' => true, + 'iscomplete' => true, + 'userid' => null, + 'search' => $datavars, + )); + + $this->oValidator->notError($oSearch, array( + 'redirect_to' => 'main', + 'message' => 'Search not saved', + )); + $this->successRedirectToMain('Search saved'); + } +} + +$oDispatcher = new KTConditionDispatcher(); +$oDispatcher->dispatch(); + +?> diff --git a/presentation/lookAndFeel/knowledgeTree/administration/searches/savedSearch.php b/presentation/lookAndFeel/knowledgeTree/administration/searches/savedSearch.php new file mode 100644 index 0000000..e67216c --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/administration/searches/savedSearch.php @@ -0,0 +1,86 @@ +oValidator->validateTemplate('ktcore/search/administration/savedsearches'); + $oTemplate->setData(array( + 'saved_searches' => KTSavedSearch::getList(), + )); + return $oTemplate->render(); + } + + function do_new() { + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/boolean_search"); + + $aCriteria = Criteria::getAllCriteria(); + + $aTemplateData = array( + "title" => "Create a new condition", + "aCriteria" => $aCriteria, + "searchButton" => "Save", + ); + return $oTemplate->render($aTemplateData); + } + + function do_view() { + + } + + function handleOutput($data) { + global $main; + $main->bFormDisabled = true; + $main->setCentralPayload($data); + $main->render(); + } + + // XXX: Rename to do_save + function do_performSearch() { + $datavars = KTUtil::arrayGet($_REQUEST, 'boolean_search'); + if (!is_array($datavars)) { + $datavars = unserialize($datavars); + } + + if (empty($datavars)) { + $this->errorRedirectToMain('You need to have at least 1 condition.'); + } + + $sName = "Neil's saved search"; + $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' => 'Search not saved', + )); + $this->successRedirectToMain('Search saved'); + } +} + +$oDispatcher = new KTSavedSearchDispatcher(); +$oDispatcher->dispatch(); + +?> diff --git a/templates/ktcore/search/administration/conditions.smarty b/templates/ktcore/search/administration/conditions.smarty new file mode 100644 index 0000000..ecd766d --- /dev/null +++ b/templates/ktcore/search/administration/conditions.smarty @@ -0,0 +1,20 @@ +