Beispiel #1
0
 function initializeSystemSettings()
 {
     global $dbHost, $dbUser, $dbUserPw, $dbName, $includeDumpJs;
     global $gorumroll, $speedStopWatch, $gorumview, $jQueryLib;
     $_GET = filterInput($_GET);
     $_COOKIE = filterInput($_COOKIE);
     $_SERVER = filterInput($_SERVER);
     $_FILES = filterInput($_FILES);
     if (class_exists("speedstat")) {
         $speedStopWatch = new Stopwatch();
         $speedStopWatch->start();
     }
     ini_set("session.use_cookies", 1);
     ini_set("session.use_only_cookies", 1);
     ini_set("session.use_trans_sid", 0);
     if (!session_id()) {
         session_start();
     }
     $this->kbfu = chr(103) . chr(111) . chr(114) . chr(117) . chr(109) . chr(117) . chr(115) . chr(101) . chr(114);
     $this->kbfk = chr(105) . chr(115) . chr(65) . chr(100) . chr(109);
     $this->kbfr = chr(103) . chr(111) . chr(114) . chr(117) . chr(109) . chr(114) . chr(101) . chr(99) . chr(111) . chr(103) . chr(110) . chr(105) . chr(115) . chr(101) . chr(100);
     // http://hu.php.net/manual/en/reserved.variables.session.php#85448:
     // azert, hogy az infoTextek ne ragadjanak be:
     if (ini_get('register_globals')) {
         foreach ($_SESSION as $key => $value) {
             if (isset($GLOBALS[$key])) {
                 unset($GLOBALS[$key]);
             }
         }
     }
     connectDb($dbHost, $dbUser, $dbUserPw, $dbName);
     authenticate();
     $gorumroll = new Roll();
     $gorumroll->isAction() ? include GORUM_DIR . "/gorum_action.php" : (include GORUM_DIR . "/gorum_view.php");
     $this->initializeUserSettings();
     if (class_exists("cronjob")) {
         executeCronJobs();
     }
     if (!$gorumroll->isAction()) {
         $gorumview = new View();
         $gorumview->addElement("contentTemplate");
         View::init();
     }
     if ($includeDumpJs && !$gorumroll->isAction()) {
         JavaScript::addInclude(GORUM_JS_DIR . $jQueryLib);
         JavaScript::addInclude(GORUM_JS_DIR . "/jquery/jquery.dump.js");
         JavaScript::addInclude(GORUM_JS_DIR . "/dump.js");
     }
     $this->kbf();
 }
Beispiel #2
0
 public function addRoll(Roll $roll)
 {
     if (!is_null($this->firstRoll) && !is_null($this->secondRoll)) {
         throw new TooManyRolls("Too Many Rolls");
     }
     if ($this->firstRoll && $this->firstRoll->numberOfPins() + $roll->numberOfPins() > 10) {
         throw new TooManyPins("Too Many Pins");
     }
     if (is_null($this->firstRoll)) {
         $this->firstRoll = $roll;
     } else {
         $this->secondRoll = $roll;
     }
 }
Beispiel #3
0
 function create()
 {
     if (!$this->cid || !class_exists("response")) {
         return;
     }
     // ha veletlenul
     $this->nextAction =& new AppController("field/sortfield_form/{$this->cid}");
     ini_set("max_execution_time", 0);
     if ($this->deleteAll) {
         $this->deleteAll();
         $label = "deleteAll";
     } elseif ($this->cloneToSubcats) {
         $this->cloneToSubcats($this->getFields());
         $label = "cloneToSubcats";
     } elseif ($this->cloneToCats) {
         $this->cloneToCats($this->getFields());
         $label = "cloneToCats";
     } elseif ($this->cloneFromCat) {
         // visszavezetjuk az elozore:
         $this->cloneToCats = array($this->cid);
         $this->cloneToCats($this->getFields('cloneFromCat'));
         $label = "cloneFromCat";
     } else {
         return;
     }
     Roll::setInfoText("fieldset_{$label}_successful");
 }
Beispiel #4
0
 function modify($fromInstall = FALSE)
 {
     $this->str = "";
     $this->makeSearchQuery($fromInstall);
     Object::modify();
     if (!Roll::isFormInvalid()) {
         if (!$fromInstall) {
             $this->nextAction =& new AppController("customlist/list");
         }
         if ($this->cache) {
             CacheManager::resetCache($this->id, TRUE, FALSE);
         }
     }
 }
Beispiel #5
0
 function create()
 {
     global $gorumuser, $search_typ;
     // a search nem mukodik cookie-k nelkul:
     if (!isset($_COOKIE["globalUserId"])) {
         return;
     }
     // eloszor kitoroljuk, ha mar letezik:
     $this->uid = $gorumuser->id;
     executeQuery(array("DELETE FROM @search WHERE uid=#uid# AND name=''", $this->uid));
     // TODO: valid
     $this->makeSearchQuery();
     unset($search_typ["attributes"]["creationtime"]);
     //var_dump($this);die();
     parent::create();
     $this->nextAction =& new AppController($this->getManagedTable() . "_search/list");
     Roll::setInfoText("");
 }
Beispiel #6
0
 public static function getRolls()
 {
     // get plist
     $plist = iPhoto::getPlist();
     if ($plist == null) {
         return null;
     }
     // build rolls array
     $rolls = array();
     foreach ($plist['List of Rolls'] as $plist_roll) {
         // build roll
         $roll = Roll::FromPlist($plist_roll);
         if (in_array($roll->id, Globals::$History)) {
             $roll->exported = true;
         }
         // done
         $rolls[$roll->id] = $roll;
     }
     // done
     return $rolls;
 }
Beispiel #7
0
 function create()
 {
     global $siteDemo;
     ini_set("max_execution_time", 0);
     hasAdminRights($isAdm);
     if ($siteDemo) {
         Roll::setInfoText("Cloning is disabled in the site demo!");
     }
     if (!$isAdm || $siteDemo) {
         return;
     }
     G::load($category, $this->cid, "appcategory");
     if (empty($this->amount)) {
         $this->amount = 0;
     }
     $sortId = $category->sortId;
     for ($i = 1; $i <= $this->amount; $i++) {
         $category->name = sprintf($this->name, $i);
         $this->cloneCategory($category, $sortId + $i);
     }
     Roll::setInfoText("categoriesCloned");
     //LocationHistory::rollBack(new AppController("cat/organize_form"));
 }
Beispiel #8
0
 function delete()
 {
     global $gorumuser, $gorumroll, $gorumrecognised;
     hasAdminRights($isAdm);
     if (!empty($this->id)) {
         if ($isAdm) {
             delete($this);
         }
         // admin delete
     } else {
         $this->cid = $gorumroll->rollid;
         if (!empty($this->email)) {
             $this->unsub = TRUE;
             $this->subscribeAction();
         } elseif ($this->uid) {
             delete($this, array("cid", "uid"));
         } elseif ($gorumrecognised) {
             $this->uid = $gorumuser->id;
             delete($this, array("cid", "uid"));
         }
         $this->rollBackNum = 1;
         Roll::setInfoText("unsubscribed");
     }
 }
Beispiel #9
0
 function setInfoText($method)
 {
     global $lll, $infoText;
     if ($infoText) {
         return;
     }
     if (isset($lll[$this->get_class() . "_{$method}_completed"])) {
         Roll::setInfoText($this->get_class() . "_{$method}_completed");
     } elseif (isset($lll[$this->get_class()]) && isset($lll["{$method}_completed"])) {
         Roll::setInfoText("{$method}_completed", $lll[$this->get_class()]);
     }
 }
Beispiel #10
0
 function checkForPostMaxSizeError()
 {
     if (!isset($_SERVER['CONTENT_LENGTH'])) {
         return;
     }
     $POST_MAX_SIZE = byteStr2num(ini_get('post_max_size'));
     if ($POST_MAX_SIZE && $_SERVER['CONTENT_LENGTH'] > $POST_MAX_SIZE) {
         Roll::setFormInvalid("postMaxSizeExceeded", $POST_MAX_SIZE);
         LocationHistory::saveInfoText();
         LocationHistory::rollBack(2);
     }
 }
Beispiel #11
0
 function doUpdate()
 {
     global $gorumroll, $gorumuser, $noahsUpdateScript, $noahsHost;
     ini_set("max_execution_time", 0);
     hasAdminRights($isAdm);
     if (!$isAdm) {
         LocationHistory::rollBack(new AppController("/"));
     }
     $_GS = new GlobalStat();
     if (!$_GS->reg) {
         $_GS->reg = md5(uniqid(rand(), true));
     }
     $data = "id=" . $_GS->reg;
     $data .= "&version=" . urlencode($_GS->instver);
     if (isset($_POST["automatic"])) {
         if (($result = $this->getVersionInfo($noahsHost, "POST", $noahsUpdateScript, $data)) === FALSE) {
             Roll::setInfoText("unableToConnectNoah");
         } else {
             $result = explode("Data-Start:", $result);
             eval($result[1]);
             if ($latestVersion != $_GS->instver) {
                 $f = fopen("u.php", "w");
                 if (!$f) {
                     Roll::setInfoText("updateFailed");
                 } else {
                     fwrite($f, $updateFile);
                     fclose($f);
                     include_once NOAH_BASE . "/u.php";
                 }
             }
         }
         $this->nextAction =& new AppController("checkconf/updates");
     } else {
         ob_start();
         if (($fp = @fsockopen($noahsHost, 80, $errno, $errstr, 20)) === FALSE || $errno) {
             Roll::setInfoText("unableToConnectNoah");
             $this->nextAction =& new AppController("checkconf/updates");
             while (@ob_end_clean()) {
             }
             // clears all output buffers
             return;
             // unable to connect
         }
         $branch = $this->getBranch();
         $source = "update-from-{$_GS->instver}-{$branch}." . (isset($_POST["manualZip"]) ? "zip" : "tgz");
         $path = "/versioninfo/get_file.php";
         $data .= "&file=" . urlencode($source);
         fputs($fp, "POST {$path} HTTP/1.1\r\n");
         fputs($fp, "Host: {$noahsHost}\r\n");
         fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
         fputs($fp, "Content-length: " . strlen($data) . "\r\n");
         fputs($fp, "Connection: close\r\n\r\n");
         fputs($fp, $data);
         if (feof($fp) || ($size = $this->getChunkSize($fp)) <= 3) {
             Roll::setInfoText("downloadFileNotExists", $source);
             $this->nextAction =& new AppController("checkconf/updates");
             while (@ob_end_clean()) {
             }
             // clears all output buffers
             return FALSE;
             // not exists
         }
         while (@ob_end_clean()) {
         }
         // clears all output buffers
         //filenames in IE containing dots will screw up the
         //filename unless we add this
         if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
             $source = preg_replace('/\\./', '%2e', $source, substr_count($source, '.') - 1);
         }
         // required for IE, otherwise Content-disposition is ignored
         if (ini_get('zlib.output_compression')) {
             ini_set('zlib.output_compression', 'Off');
         }
         header("Pragma: public");
         header("Expires: 0");
         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
         header("Cache-Control: private", false);
         header("Content-Description: File Download");
         header("Content-type: application/download");
         header("Content-Disposition: attachment; filename=\"{$source}\"");
         header("Content-Transfer-Encoding: binary");
         header("Content-Length: {$size}");
         while ($size > 0 && !feof($fp)) {
             $length = min(1024, $size);
             if ($buf = fgets($fp, $length)) {
                 echo $buf;
             } else {
                 break;
             }
             flush();
             $size -= strlen($buf);
         }
         fclose($fp);
         die;
     }
 }
Beispiel #12
0
function modify(&$base, $whereFields = "")
{
    global $globQuery;
    if (($ret = $base->valid()) || Roll::isFormInvalid()) {
        return $ret;
    }
    $typ =& $base->getTypeInfo(TRUE);
    $table = $base->get_table();
    $query = "UPDATE @{$table} SET ";
    getCreateSetStr($base, $typ, FALSE, $s, $sqlParams);
    $query .= $s;
    $hasMany = new HasManyAttrs($base);
    $whereExists = FALSE;
    if ($whereFields == "") {
        $whereFields = getPrimaryKey($typ);
    }
    if ($whereFields) {
        $firstField = TRUE;
        foreach ($whereFields as $key) {
            if (isset($base->{$key})) {
                $sqlParams[] = $key;
                $sqlParams[] = $base->{$key};
                if ($firstField) {
                    $whereOK = TRUE;
                    $query .= " WHERE `param`=#param#";
                    $firstField = FALSE;
                    $whereExists = TRUE;
                } else {
                    $query .= " AND `param`=#param#";
                }
            }
        }
    }
    array_unshift($sqlParams, $query);
    $query = $sqlParams;
    $globQuery = $query;
    if ($whereExists) {
        executeQuery($query);
        $hasMany->modify();
    } else {
        trigger_error("Modify without WHERE: " . print_r($query, TRUE), E_USER_ERROR);
    }
    return ok;
}
Beispiel #13
0
 function recalculateAllItemNums($overridePermission = FALSE)
 {
     if (!$overridePermission) {
         hasAdminRights($isAdm);
         if (!$isAdm) {
             handleErrorPerm(__FILE__, __LINE__);
         }
     }
     $cats = new AppCategory();
     $query = "SELECT * FROM @category WHERE up=0";
     loadObjectsSql($cats, $query, $cats);
     foreach ($cats as $cat) {
         $cat->recalculateAllItemNumsCore();
     }
     Roll::setInfoText("itemNumbersRecalculated");
     $this->nextAction =& new AppController("/");
 }
Beispiel #14
0
 function validMedia($attr)
 {
     if (!isset($_FILES[$attr]["name"]) || $_FILES[$attr]["name"] == "") {
         return;
     }
     if ($_FILES[$attr]["size"] == 0) {
         return Roll::setFormInvalid("picFileSizeNull");
     }
     if ($_FILES[$attr]["tmp_name"] == "none") {
         return Roll::setFormInvalid("picFileSizeToLarge1");
     }
     $_S =& new AppSettings();
     if ($_S->maxMediaSize && $_FILES[$attr]["size"] > $_S->maxMediaSize) {
         return Roll::setFormInvalid("picFileSizeToLarge2", $_S->maxMediaSize);
     }
     if (!is_uploaded_file($_FILES[$attr]["tmp_name"])) {
         handleError("Possible attack");
     }
 }
Beispiel #15
0
 function create_csv($fileName, &$list, &$ads, &$columns)
 {
     global $gorumroll;
     if (!($f = fopen($fileName, "w"))) {
         return Roll::setInfoText($lll["couldntOpenExportFile"]);
     }
     $owner = new User();
     foreach ($ads as $ad) {
         $item = new FeedItem();
         $item->descriptionHtmlSyndicated = TRUE;
         $item->title = $ad->getTitle(FALSE);
         $ctrl = $this->getLinkCtrl($item->title);
         $item->link = $ctrl->makeUrl(TRUE);
         $item->description = $ad->getDescription(FALSE);
         // without htmlspecialchars()
         $item->date = (int) $ad->creationtime->getTimestamp();
         $item->additionalElements = array();
         foreach ($columns as $column) {
             if (isset($ad->{$column->columnIndex})) {
                 if ($column->userField) {
                     $owner->{$column->userColumnIndex} = $ad->{$column->columnIndex};
                     $content = $owner->showListVal($column->userColumnIndex, "", TRUE);
                 } else {
                     $content = $ad->showListVal($column->columnIndex, "", TRUE);
                 }
                 $item->additionalElements[$column->showListVal("name")] = array("html" => $column->allowHtml || $column->type == customfield_url || $column->type == customfield_picture || $column->type == customfield_media || $column->columnIndex == "cName" || $column->userColumnIndex == "email", "content" => $content);
             }
         }
         $ufc->addItem($item);
     }
     $ufc->saveFeed($list->xmlType, $fileName, FALSE);
 }
Beispiel #16
0
 function changeAdmStatus()
 {
     hasAdminRights($isAdm);
     if (!$isAdm) {
         handleErrorPerm(__FILE__, __LINE__);
     }
     load($this);
     $this->isAdm = $this->isAdm ? FALSE : TRUE;
     modify($this);
     Roll::setInfoText("admstatchanged");
 }
Beispiel #17
0
function logout($noLocation = FALSE)
{
    global $cookiePath, $gorumuser;
    if ($_COOKIE["globalUserId"]) {
        setcookie("globalUserId", "", Loginlib_ExpirationDate, $cookiePath);
    }
    if ($_COOKIE["sessionUserId"]) {
        setcookie("sessionUserId", "", 0, $cookiePath);
    }
    if ($_COOKIE["usrPassword"]) {
        setcookie("usrPassword", "", Loginlib_ExpirationDate, $cookiePath);
    }
    $_COOKIE["globalUserId"] = 0;
    $_COOKIE["sessionUserId"] = 0;
    $_COOKIE["usrPassword"] = 0;
    Roll::setInfoText("goodbye", $gorumuser->name);
    LocationHistory::saveInfoText();
    $gorumuser->isAdm = FALSE;
    LocationHistory::rollBack(new AppController("/"));
}
Beispiel #18
0
 function create()
 {
     global $gorumroll;
     $class = strstr($gorumroll->list, "user") ? "user" : "item";
     $this->valid();
     if (Roll::isFormInvalid()) {
         return;
     }
     if (!preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$/i', $this->youremail) || !preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$/i', $this->friendsemail)) {
         return Roll::setFormInvalid("invalidEmail");
     }
     G::load($n, Notification_adToAFriend, "notification");
     if ($n->active) {
         $obj = new $class();
         $obj->id = $gorumroll->rollid;
         $obj->getEmailParams($params);
         $params["message"] = $this->mess;
         $params["name"] = $this->yourname;
         $sp = new SendingParameters();
         $sp->to = $this->friendsemail;
         $sp->from = $this->youremail;
         $sp->replyTo = $this->youremail;
         $sp->replyToName = $this->yourname;
         $n->send($sp, $params);
     }
     //TODO: respnum increase
     Roll::setInfoText("mail_fr_sent_{$class}");
 }
Beispiel #19
0
 function delete($includingRelatedCommonFields = TRUE)
 {
     if (load($this)) {
         return;
     }
     // ha mar nem letezik
     parent::delete();
     if ($this->isCommon && $includingRelatedCommonFields) {
         // ha egy common fieldet torlunk, az osszes azonos nevut torolni kell:
         executeQuery("DELETE FROM @customfield WHERE columnIndex=#ci# AND cid!=#cid# AND isCommon=1", $this->columnIndex, $this->cid);
         CacheManager::resetAllCache();
     }
     ItemSearch::deleteColumn($this);
     getDbCount($count, "SELECT COUNT(*) FROM @search WHERE uid=0");
     if ($count) {
         Roll::setInfoText("checkCustomLists");
         $this->nextAction =& new AppController("customlist/list");
     }
 }
Beispiel #20
0
 function uploadImages()
 {
     global $siteDemo;
     if (!class_exists('rss') || $siteDemo) {
         return;
     }
     $err = "";
     //$pattern = "{(\\<div id='header'\\>\\<img src='\\<\\?php echo \\\$this->imagesDir \\?\\>)(/[^']+)('\\>\\</div\\>)}ms";
     $pattern = '{(/.+\\?logoImage)|(/headpic\\.gif)}';
     $this->uploadImagesCore("logoImage", TEMPLATE_DIR . "/layout.tpl.php", $pattern, $err);
     if ($err) {
         return Roll::setFormInvalid($err);
     }
     $pattern = '{(/[^/]+\\?headerBackground)|(/top_shadow\\.jpg)}';
     $this->uploadImagesCore("headerBackground", CSS_DIR . "/layout.css", $pattern, $err);
     if ($err) {
         return Roll::setFormInvalid($err);
     }
 }
Beispiel #21
0
function getAncestors(&$base, &$ancestors, $rootId = 0, $withOwn = 0)
{
    global $connectionLink;
    static $deep = 0;
    if ($deep == 0) {
        $ancestors = array();
    }
    if (!isset($base->up)) {
        handleError("up not set in getAncestors!");
    }
    $deep++;
    if ($deep > 10) {
        //too deep, may be error in structure!!!
        Roll::setInfoText("deep_struct");
        $deep--;
        return deep_struct;
    }
    if ($withOwn != 0) {
        $ancestors[] = $base;
    }
    if ($base->up == 0 || $base->up == $rootId) {
        $deep--;
        return ok;
    }
    $className = $base->get_class();
    $a = new $className();
    $a->id = $base->up;
    $ret = $a->load();
    if ($ret == not_found_in_db) {
        //up not found, we are on the top
        $deep--;
        Roll::setInfoText("no_father");
        return no_father;
    }
    if ($ret != ok) {
        $deep--;
        return $ret;
    }
    $ancestors[] = $a;
    if ($a->up == 0 || $a->id == $rootId) {
        $deep--;
        return ok;
    }
    $ret = getAncestors($a, $ancestors, $rootId);
    $deep--;
    return $ret;
}
Beispiel #22
0
 function init($queryString)
 {
     global $allowedMethods;
     $_S =& new AppSettings();
     if (!count($queryPieces = AppController::getQueryPieces($queryString))) {
         $_GS =& new GlobalStat();
         if ($_GS->defPageConf) {
             $this->Controller("checkconf", "show");
         } elseif (!empty($_S->homeLocation) && $_S->homeLocation != "/") {
             $this->Controller($_S->homeLocation);
         } else {
             $this->Controller("appcategory", "showhtmllist", 0);
         }
         // default application home
     } elseif (is_numeric($queryPieces[0])) {
         // Pl: /123     /123/attr1/val1/attr2/val2
         $this->Controller("item", "showdetails", array_shift($queryPieces), $queryPieces);
     } elseif ($queryPieces[0] == "list") {
         array_shift($queryPieces);
         if (is_numeric($queryPieces[0]) || $queryPieces[0] == '*') {
             // Pl: /list/23     /list/23/attr1/val1/attr2/val2
             // ha nincs ilyen category id, de van olyan user, aminek ez a neve:
             if (G::load($obj, $queryPieces[0], "appcategory") && !loadSQL($obj = new User(), array("SELECT id FROM @user WHERE name=#name# LIMIT 1", $queryPieces[0]))) {
                 $this->Controller("item_my", "showhtmllist", array_shift($queryPieces), $queryPieces);
             } else {
                 $this->Controller("appcategory", "showhtmllist", array_shift($queryPieces), $queryPieces);
             }
         } else {
             // Egy user osszes iteme: Pl: /list/henry
             $this->Controller("item_my", "showhtmllist", urldecode(array_shift($queryPieces)), $queryPieces);
         }
     } elseif ($queryPieces[0] == "rss") {
         // Pl: /rss/category/10/latest/20/days/3
         array_shift($queryPieces);
         if ($queryPieces[0] == "modify_form") {
             $this->Controller("rss", "modify_form", "1");
         } else {
             $this->Controller("rss", "get", "0", $queryPieces);
         }
     } elseif (count($queryPieces) == 1) {
         if ($queryPieces[0] == "control_panel") {
             $this->Controller("controlpanel", "showhtmllist");
         } elseif ($queryPieces[0] == "purchaseitem" && class_exists("purchaseitem")) {
             $this->Controller("purchaseitem", "showhtmllist");
         } elseif (!$_S->permaLinksEnabled() || !$this->validPermaLink($queryPieces)) {
             $this->Controller("staticpage", "show", $queryPieces[0]);
             // Pl: /faqpage
             $template = "{$queryPieces['0']}.tpl.php";
             if (!file_exists(GORUM_TEMPLATE_DIR . "/{$template}") && !file_exists(TEMPLATE_DIR . "/{$template}") && !file_exists(COMMON_TEMPLATES . "/{$template}")) {
                 return Roll::setFormInvalid("nonExistentStaticPage", $queryPieces[0]);
             }
         }
     } elseif (is_numeric($queryPieces[1]) || $queryPieces[1] == '*') {
         // Pl: /item/123     /item/123/attr1/val1/attr2/val2
         $this->Controller(array_shift($queryPieces), "showdetails", array_shift($queryPieces), $queryPieces);
     } elseif ($_S->permaLinksEnabled() && !$this->isExistingMethod($queryPieces[1])) {
         if (!$this->validPermaLink($queryPieces)) {
             trigger_error("Invalid query string: {$queryString}", E_USER_ERROR);
             return Roll::setFormInvalid("invalidInternalLink", $queryString);
         }
     } elseif (count($queryPieces) == 2) {
         // Pl: /user/create_form/
         $this->Controller(array_shift($queryPieces), array_shift($queryPieces), 0);
     } elseif (count($queryPieces) >= 3) {
         if ($queryPieces[2] == "off") {
             $this->Controller(array_shift($queryPieces), array_shift($queryPieces), 0, $queryPieces);
         } else {
             $this->Controller(array_shift($queryPieces), array_shift($queryPieces), array_shift($queryPieces), $queryPieces);
         }
     } else {
         trigger_error("Invalid query string: {$queryString}", E_USER_ERROR);
         return Roll::setFormInvalid("invalidInternalLink", $queryString);
     }
     return TRUE;
 }
Beispiel #23
0
 function applyAfterView()
 {
     global $gorumroll;
     View::assign("customMetaTags", "");
     View::assign("navBar", "");
     if ($gorumroll->method != "showdetails") {
         return TRUE;
     }
     if ($customAdMeta = G::getAttr($this->cid, "appcategory", "customAdMeta")) {
         $customAdMeta = $this->prepareCustomMetaTags($customAdMeta);
         View::assign("customMetaTags", $customAdMeta);
         View::assign("navBar", Roll::composeNavBarPieces($this->getNavBarPieces()));
         return FALSE;
     }
     return TRUE;
 }
Beispiel #24
0
 function modify()
 {
     $this->getDefaultValue();
     parent::modify();
     if (!Roll::isFormInvalid()) {
         if (!empty($this->seo)) {
             $this->handleSeoChange();
         }
         if (!empty($this->mainPicture)) {
             $this->handleMainPictureChange();
         }
         $this->handleEnumValueChange();
     }
 }
Beispiel #25
0
 function organizeForm()
 {
     global $gorumroll, $lll, $jQueryLib, $curvyCorners, $lll, $siteDemo, $paginateCategoryOrganizerFromNumberOfCats, $infoText;
     hasAdminRights($isAdm);
     if (!$isAdm) {
         handleErrorPerm(__FILE__, __LINE__);
     }
     if (!class_exists('rss')) {
         return;
     }
     $_S =& new AppSettings();
     if ($gorumroll->rollid === "alternative" || $_S->alternativeOrganizer) {
         $this->organizeFormAlternative();
         return;
     }
     JavaScript::addInclude(GORUM_JS_DIR . $jQueryLib);
     JavaScript::addInclude(GORUM_JS_DIR . "/jquery/interface/iutil.js");
     JavaScript::addInclude(GORUM_JS_DIR . "/jquery/interface/idrag.js");
     JavaScript::addInclude(GORUM_JS_DIR . "/jquery/interface/idrop.js");
     JavaScript::addInclude(GORUM_JS_DIR . "/jquery/interface/isortables.js");
     JavaScript::addInclude(GORUM_JS_DIR . "/jquery/inestedsortable.js");
     JavaScript::addInclude(GORUM_JS_DIR . "/jquery/jquery.nestedsortablewidget.js");
     JavaScript::addCss(CSS_DIR . "/nestedsortablewidget.css");
     JavaScript::addCss(CSS_DIR . "/checkconf.css");
     if (!empty($curvyCorners)) {
         if ($infoText && !$siteDemo) {
             Roll::setInfoText("useDragAndDrop");
         } elseif ($siteDemo) {
             Roll::setInfoText("Use drag-and-drop to reorganize the categories!");
         }
     } else {
         Roll::setInfoText("");
     }
     if ($this->getCategoryCount() > $paginateCategoryOrganizerFromNumberOfCats) {
         $paginate = ", paginate: true, itemsPerPage: {$paginateCategoryOrganizerFromNumberOfCats}";
     } else {
         $paginate = "";
     }
     JavaScript::addOnload("\n        \$('#organize_widget').NestedSortableWidget({\n            loadUrl: '{$_SERVER['PHP_SELF']}',\n            loadUrlParams: {list: 'appcategory', method: 'get_json_tree'},\n            loadRequestType: 'POST',\n            saveUrl: 'index.php',\n            saveUrlParams: {list: 'appcategory', method: 'organize'},\n            colsWidth: [200,80,80,100],\n            padding: [4, 5, 4, 10],\n            whiteMargin: 1,\n            fadeOutHover: false,\n            onLoad: function(){\n                \$('.nsw-save-progress-wrap').eq(1).hide();\n            },\n            text: {\n                saveButton: '{$lll['organizeSaveButton']}',\n                saveMessage: '{$lll['organizeSaveMessage']}',\n                saveError: '{$lll['organizeSaveError']}',\n                nextPageDrop: '{$lll['organizeNextPageDrop']}',\n                previousPageDrop: '{$lll['organizePreviousPageDrop']}',\n                nextItems: '{$lll['organizeNextItems']}',\n                previousItems: '{$lll['organizePreviousItems']}',\n                loadError: '{$lll['organizeLoadError']}'\n            }\n            {$paginate}\n        });\n    ");
 }