Esempio n. 1
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));
 }
 function createLdapAuthenticationProvider()
 {
     if (!file_exists(KT_DIR . '/config/environment.php')) {
         return;
     }
     global $default;
     $new_default = $default;
     $default = null;
     require_once KT_DIR . '/config/environment.php';
     $old_default = $default;
     $default = $new_default;
     if ($old_default->authenticationClass !== "LDAPAuthenticator") {
         return;
     }
     $sName = "Autocreated by upgrade";
     $sNamespace = KTUtil::nameToLocalNamespace("authenticationsources", $sName);
     $aConfig = array('searchattributes' => split(',', 'cn,mail,sAMAccountName'), 'objectclasses' => split(',', 'user,inetOrgPerson,posixAccount'), 'servername' => $old_default->ldapServer, 'basedn' => $old_default->ldapRootDn, 'searchuser' => $old_default->ldapSearchUser, 'searchpassword' => $old_default->ldapSearchPassword);
     if ($old_default->ldapServerType == "ActiveDirectory") {
         $sProvider = "ktstandard.authentication.adprovider";
     } else {
         $sProvider = "ktstandard.authentication.ldapprovider";
     }
     require_once KT_LIB_DIR . '/authentication/authenticationsource.inc.php';
     $oSource = KTAuthenticationSource::createFromArray(array('name' => $sName, 'namespace' => $sNamespace, 'config' => serialize($aConfig), 'authenticationprovider' => $sProvider));
     if (PEAR::isError($oSource)) {
         return $oSource;
     }
     $sUsersTable = KTUtil::getTableName('users');
     $sQuery = "UPDATE {$sUsersTable} SET authentication_source_id = ? WHERE authentication_source_id IS NULL AND LENGTH(authentication_details_s1)";
     $aParams = array($oSource->getId());
     $res = DBUtil::runQuery(array($sQuery, $aParams));
     return $res;
 }
 function do_create()
 {
     $oForm = $this->form_create();
     $res = $oForm->validate();
     $data = $res['results'];
     $errors = $res['errors'];
     $extra_errors = array();
     if (!empty($data['name'])) {
         $oFieldset = KTFieldset::getByName($data['name']);
         if (!PEAR::isError($oFieldset)) {
             // means we're looking at an existing name
             $extra_errors['name'] = _kt("There is already a fieldset with that name.");
         }
     }
     $is_conditional = false;
     // FIXME this is inelegant.  get it from somewhere else.
     if ($this->bHaveConditional && $data['fieldset_type'] == 'conditional') {
         $is_conditional = true;
     }
     if (!empty($errors) || !empty($extra_errors)) {
         return $oForm->handleError(null, $extra_errors);
     }
     // we also need a namespace.
     $temp_name = $data['name'];
     $namespace = KTUtil::nameToLocalNamespace('fieldsets', $temp_name);
     $oOldFieldset = KTFieldset::getByNamespace($namespace);
     while (!PEAR::isError($oOldFieldset)) {
         $temp_name .= '_';
         $namespace = KTUtil::nameToLocalNamespace('fieldsets', $temp_name);
         $oOldFieldset = KTFieldset::getByNamespace($namespace);
     }
     // we now know its a non-conflicting one.
     // FIXME handle conditional fieldsets, which should be ... a different object.
     $oFieldset = KTFieldset::createFromArray(array("name" => $data['name'], "description" => $data['description'], "namespace" => $namespace, "mandatory" => false, "isConditional" => $is_conditional, "isGeneric" => $data['generic'], "isComplete" => false, "isComplex" => false, "isSystem" => false));
     if (PEAR::isError($oFieldset)) {
         return $oForm->handleError(sprintf(_kt("Failed to create fieldset: %s"), $oFieldset->getMessage()));
     }
     $this->successRedirectTo('edit', _kt("Fieldset created."), sprintf('fFieldsetId=%d', $oFieldset->getId()));
 }
 function do_newsource_final()
 {
     $aErrorOptions = array('redirect_to' => array('main'));
     $aErrorOptions['message'] = _kt("No name provided");
     $sName = KTUtil::arrayGet($_REQUEST, 'name');
     $sName = $this->oValidator->validateString($sName, $aErrorOptions);
     $aErrorOptions['message'] = _kt("No authentication provider chosen");
     $sProvider = KTUtil::arrayGet($_REQUEST, 'authentication_provider');
     $sProvider = $this->oValidator->validateString($sProvider, $aErrorOptions);
     $sNamespace = KTUtil::nameToLocalNamespace($sName, 'authentication/sources');
     $sConfig = "";
     $oSource =& KTAuthenticationSource::createFromArray(array('name' => $sName, 'namespace' => $sNamespace, 'authenticationprovider' => $sProvider));
     $this->oValidator->notError($oSource);
     $this->successRedirectTo('editSourceProvider', _kt("Source created"), sprintf('source_id=%d', $oSource->getId()));
 }
Esempio n. 5
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'));
 }
<?php

require_once "../../../config/dmsDefaults.php";
require_once KT_LIB_DIR . "/util/ktutil.inc";
print KTUtil::nameToLocalNamespace("Saved Searches", "Neil's saved search");