function create($fromInstall = FALSE) { global $gorumuser; $_S =& new AppSettings(); $_EC = EComm::createObject(); if (empty($this->cid)) { return Roll::setFormInvalid("selectCategoryNecessary"); } hasAdminRights($isAdm); if (!$_S->showSubmitAd() && !$isAdm) { handleError("Permission denied"); } $this->activateVariableFields(); LocationHistory::resetPost(); $this->initClassVars(); LocationHistory::savePost($this); if (!$this->checkAgainstEarlySubmission() || !$this->checkCharacterLimit() || $this->checkMandatoryFileUpload() || !$this->checkAndSetExpirationDays() || !$_EC->checkConsumptionOfAction($purchaseItem, $consumption, $this)) { return; } if (!$isAdm || !isset($this->status)) { $this->status = $this->getImmediateAppear($consumption); // ha viszont isAdm, akkor a status benne van a formban } if ($this->status) { if ($this->expiration) { $this->expirationTime = Date::add($this->expiration, Date_Day); } } $this->setDefaultsOfFieldsThatDontAppearInForm(); if (!isset($this->ownerId)) { $this->ownerId = $gorumuser->id; } parent::create(); if (!Roll::isFormInvalid()) { G::load($c, $this->cid, "appcategory"); if ($this->status) { $c->increaseDirectItemNum(); } if ($fromInstall) { return; } elseif (!$purchaseItem) { Roll::addInfoText("adScheduled"); } $this->storeAttachment(); // hogyy hogy nem cName es ownerName itt 0-ra beallitva, ami bezavarhat a getEmailParams-ban: unset($this->cName); unset($this->ownerName); $ownerEmail = $this->getEmailParams($params, TRUE); if (!$isAdm) { $_S =& new AppSettings(); G::load($n, Notification_adCreated, "notification"); if ($n->active) { $n->send($_S->adminEmail, $params); } G::load($n, Notification_adCreatedOwner, "notification"); if ($n->active) { $n->send($ownerEmail, $params); } } if ($purchaseItem) { $purchaseItem->save($this); } elseif (!$isAdm && $consumption) { executeQuery("UPDATE @user SET credits=credits-{$consumption} WHERE id=#id#", $gorumuser->id); } $this->sendNotificationsToSubscribedUsers($params); if (empty($this->nextAction)) { $this->nextAction = $this->getLinkCtrl(); } CacheManager::resetCache($this->cid); } }