function initFromDraft($draft_id, $uid) { require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/project_exrates.php"; $drafts = new drafts(); $this->_project = $drafts->getDraft($draft_id, $uid, 1); if (!$this->_project['id']) { return false; } if ($this->_project['logo_id'] > 0) { $this->_project['link'] = $this->_project['logo_link']; $LogoFile = new CFile($this->_project['logo_id']); $this->initLogo($LogoFile); } $cat = explode(",", $this->_project['categories']); foreach ($cat as $category) { list($cat_id, $subcat_id) = explode("|", $category); $categories[] = array('category_id' => $cat_id, 'subcategory_id' => $subcat_id); } $this->setCategories($categories); $pExrates = project_exrates::getAll(); if ($this->_project['currency'] === 0) { // USD $costRub = $this->_project['cost'] * $pExrates['24']; // бюджет в рублях } elseif ($this->_project['currency'] === 1) { // EURO $costRub = $this->_project['cost'] * $pExrates['34']; } else { // рубли $costRub = $this->_project['cost']; } $this->setCostRub($costRub); $this->_project['draft_id'] = $this->_project['id']; unset($this->_project['id']); $this->_project['user_id'] = $this->_project['uid']; $this->_project['is_pro'] = is_pro(true, $uid) ? 't' : 'f'; if ($this->_project['top_days'] > 0) { $this->setAddedTopDays($this->_project['top_days']); } if ($this->isKonkurs()) { $this->_project['end_date'] = date('d-m-Y', strtotime($this->_project['end_date'])); $this->_project['win_date'] = date('d-m-Y', strtotime($this->_project['win_date'])); } $attach = drafts::getAttachedFiles($draft_id, 4, $this->_project['uid']); if (!empty($attach)) { foreach ($attach as $file_id) { $ret[$file_id] = array('status' => 1, 'id' => $file_id); } $this->addAttachedFiles($ret, true); } return true; }
} if (is_empty_html($project['descr'])) { $error['descr'] = 'Поле не заполнено'; } if (is_empty_html($project['name'])) { $error['name'] = 'Поле не заполнено'; } $descr_limit = !$PDA ? 5000 : 2500; if (strlen_real($project['descr']) > $descr_limit) { $error['descr'] = "Исчерпан лимит символов ({$descr_limit})"; } if ($project['kind'] == 7) { $tmpPrj->setProjectField('end_date', str_replace('.', '-', __paramInit('string', NULL, 'end_date')), 0, 64); $tmpPrj->setProjectField('win_date', str_replace('.', '-', __paramInit('string', NULL, 'win_date')), 0, 64); $project = $tmpPrj->getProject(); $pExrates = project_exrates::getAll(); if ($project['currency'] == 0) { // USD $costRub = $project['cost'] * $pExrates['24']; // бюджет в рублях } elseif ($project['currency'] == 1) { // EURO $costRub = $project['cost'] * $pExrates['34']; } else { // рубли $costRub = $project['cost']; } $tmpPrj->setCostRub($costRub); // минимальный бюджет конкурса зависит от того введена ли новая система подсчета стоимости публикации $contestMinBudget = new_projects::isNewContestBudget($project['post_date']) ? new_projects::NEW_CONTEST_MIN_BUDGET : new_projects::CONTEST_MIN_BUDGET; if (!$project['cost'] || $costRub < $contestMinBudget) {