Example #1
0
 function makeSearchQueryAdvanced($fromInstall = FALSE)
 {
     global $gorumroll;
     if ($fromInstall) {
         $cid = $this->cid;
     } elseif ($gorumroll->method == "modify") {
         $cid = $this->cid = isset($_POST["cid"]) ? $_POST["cid"] : 0;
     } elseif ($gorumroll->method == "create") {
         $cid = $this->cid = $gorumroll->rollid;
     } else {
         $cid = $this->cid = 0;
     }
     $fields = $this->activateVariableFields();
     // az install soran nem form submit reven hivodik a create - ezert initClassVars-ra nincs szukseg:
     if (!$fromInstall) {
         $this->initClassVars();
         LocationHistory::savePost($this);
     }
     $condition = array();
     if ($word = @quoteSQL($this->str)) {
         if ($cid) {
             $condition[] = "(" . implode(" OR ", $this->getSimpleCustomFieldConditions($word, $cid)) . ")";
         } elseif ($simpleCond = $this->makeSearchQuerySimple()) {
             $condition[] = $simpleCond;
         }
     }
     $condition = array_merge($condition, $this->getAdvancedCustomFieldConditions($fields));
     if ($cid) {
         list($recursive, $wholeName) = G::getAttr($cid, "appcategory", "recursive", "wholeName");
         $cidCond = $recursive ? "wholeName LIKE '" . quoteSQL($wholeName) . "%'" : "cid='" . quoteSQL($cid) . "'";
     } else {
         $cidCond = "";
     }
     if ($this->relationBetweenFields == search_allFields) {
         if ($cid) {
             $condition[] = $cidCond;
         }
         return implode(" AND ", $condition);
     } elseif (count($condition)) {
         if ($cid) {
             return "({$cidCond} AND (" . implode(" OR ", $condition) . "))";
         } else {
             return "(" . implode(" OR ", $condition) . ")";
         }
     } else {
         return $cidCond;
     }
 }
Example #2
0
 function beforeAction(&$base)
 {
     global $lll;
     if (isset($_POST["gsubmit"]) && $_POST["gsubmit"] == $lll["cancel"]) {
         Roll::setInfoText("operation_cancelled");
         LocationHistory::saveInfoText();
         LocationHistory::rollBack(2);
     }
     $base->hasObjectRights($hasRight, $this->method, TRUE);
     LocationHistory::savePost($base);
 }
Example #3
0
 function modify($whereFields = "")
 {
     global $gorumuser, $now;
     hasAdminRights($isAdm);
     $_S =& new AppSettings();
     $_EC = EComm::createObject();
     if (!$isAdm && !$_S->allowModify) {
         return;
     }
     $this->getCid();
     $this->activateVariableFields();
     $this->initClassVars();
     LocationHistory::savePost($this);
     G::load($old, $this->id, "item");
     if (!$isAdm && !$old->status) {
         return;
     }
     // inactive itemet nem modosithat a tulaj
     if (!$this->checkCharacterLimit() || !$this->checkAndSetExpirationDays() || !$_EC->checkConsumptionOfAction($purchaseItem, $consumption, $this, $old)) {
         return;
     }
     if (!$isAdm) {
         // ha a tulaj modosit, ujra inactive lesz az item:
         if (!$this->getImmediateAppear($consumption, TRUE)) {
             $this->status = FALSE;
         } elseif (G::getAttr($this->cid, "appcategory", "restartExpOnModify")) {
             if (!$this->expirationAppearsInForm() && $this->expiration) {
                 $this->expEmailSent = FALSE;
                 $this->expirationTime = Date::add($this->expiration, Date_Day);
             }
         }
     }
     // ha az expiration megjelent a formban es modositottak is, akkor az expirationTime-ot megfeleloen modositani kell:
     if ($this->expirationAppearsInForm() && ($this->expiration != round($old->expirationTime->getDayDiff()) || $this->expiration > 0 && $old->expirationTime->isPast() || $this->expiration < 0 && $old->expirationTime->isFuture())) {
         $this->expirationTime = Date::add($this->expiration, Date_Day);
     }
     parent::modify();
     load($this);
     if (!Roll::isFormInvalid()) {
         if (!$this->getImmediateAppear($consumption, TRUE) && $this->status != $old->status) {
             $this->changeStatus($this->status);
         }
         if ($this->getRenewOnModify()) {
             executeQuery("UPDATE @item SET creationtime=NOW() WHERE id=#id#", $this->id);
         }
         if (!$isAdm && $old->status && !$this->status) {
             if (!$purchaseItem) {
                 Roll::addInfoText("adScheduled");
             }
             G::load($n, Notification_adCreated, "notification");
             if ($n->active) {
                 $_S =& new AppSettings();
                 $this->getEmailParams($params, FALSE);
                 $n->send($_S->adminEmail, $params);
             }
         }
         $this->storeAttachment();
         if ($purchaseItem) {
             $purchaseItem->save($this);
         }
         CacheManager::resetCache($this->cid);
     }
 }
Example #4
0
 function create()
 {
     global $gorumuser, $gorumauthlevel;
     $this->activateVariableFields();
     LocationHistory::resetPost();
     $this->initClassVars();
     LocationHistory::savePost($this);
     if (!$this->validRegistration()) {
         return FALSE;
     }
     unset($this->isAdm);
     $this->active = FALSE;
     // Majd az elso bejelentkezes utan lesz true
     $plainPassword = $this->generatePassword();
     $this->setDefaultsOfFieldsThatDontAppearInForm();
     if ($gorumauthlevel == Loginlib_GuestLevel) {
         // don't create a new user, only updating the current
         // nameless user with the newly registered username and
         // password:
         $this->id = $gorumuser->id;
         modify($this);
         if (Roll::isFormInvalid()) {
             return;
         }
     } else {
         if ($gorumauthlevel == Loginlib_BasicLevel || $gorumauthlevel == Loginlib_LowLevel) {
             generateRandomId($randomId);
             $this->id = $randomId;
             create($this);
             if (Roll::isFormInvalid()) {
                 return;
             }
         }
     }
     $this->storeAttachment();
     load($this);
     // hogy a notification minden mezot tartalmazhasson
     $this->sendPassword($plainPassword, Notification_initialPassword, "youWillGetAEmailCheckEmail");
     return $plainPassword;
 }