示例#1
0
 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;
 }
示例#2
0
 }
 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) {