//Записываются данные о скрытом и срочном. будут сохранены в кэш при $tmpPrj->fix() $oproject = $project; if ($tmpPrj->isEdit()) { $tmpPrj->setProjectField('o_hide', $oproject['hide']); $tmpPrj->setProjectField('o_urgent', $oproject['urgent']); } $tmpPrj->fix(); $account_sum = $account->sum; $account_bonus_sum = $account->bonus_sum; $bill = new billing($uid); $bill->cancelAllNewAndReserved(); //Здесь впервые считается цена if ($tmpPrj->getAmmount()) { $tmpProject = $tmpPrj->getProject(); //Цена считается повторно, в $items формируется список услуг $price = $tmpPrj->getPrice($items, $__temp, true); $option = array('is_edit' => $tmpPrj->isEdit(), 'items' => $items, 'prj_id' => $project['id'], 'logo_id' => $logo['id'], 'logo_link' => $tmpProject['link']); if ($items['top']) { $option['addTop'] = $tmpPrj->getAddedTopDays(); } if ($tmpPrj->isKonkurs()) { if (new_projects::isNewContestBudget()) { $cost = $tmpPrj->getCostRub(); $op_code = new_projects::getContestTaxOpCode($tmpPrj->getCostRub(), is_pro()); $items['contest']['no_pro'] = $tmpPrj->isEdit() ? 0 : new_projects::getContestTax($cost, is_pro()); $items['contest']['pro'] = $tmpPrj->isEdit() ? 0 : new_projects::getContestTax($cost, true); } else { //Здесь счет создастся при редактировании конкурса $items['contest']['no_pro'] = $tmpPrj->isEdit() ? 0 : 3300; $items['contest']['pro'] = $tmpPrj->isEdit() ? 0 : 3000; $op_code = is_pro() ? new_projects::OPCODE_KON : new_projects::OPCODE_KON_NOPRO;
} if ($action == 'save' || $action == 'bill' || $action == 'prev' || $action == 'reload') { $tmpPrj->setProjectField('is_color', __paramInit('bool', NULL, 'is_color') ? 't' : 'f'); $tmpPrj->setProjectField('is_bold', __paramInit('bool', NULL, 'is_bold') ? 't' : 'f'); $tmpPrj->setProjectField('link', substr(__paramInit('string', NULL, 'link'), 0, 100)); $tmpPrj->setAddedTopDays(__paramInit('bool', NULL, 'top_ok') ? __paramInit('int', NULL, 'top_days', 0) : 0); if (__paramInit('bool', NULL, 'logo_ok')) { if (!$_FILES['logo']['size']) { $error['logo'] = 'Необходимо выбрать файл'; } elseif ($err = $tmpPrj->setLogo(new CFile($_FILES['logo']))) { $error['logo'] = $err; } } if (!$error && $action != 'prev' && $action != 'reload') { //для пользователя $price = $tmpPrj->getPrice($payedItems); $account_sum = $account->sum; $account_bonus_sum = $account->bonus_sum; //для модератора $view_user_login = ''; if (hasPermissions("projects")) { $uid = $tmpPrj->getAuthorId(); $view_account = new account(); $view_account->GetInfo($uid); $account_sum = $view_account->sum; $account_bonus_sum = $view_account->bonus_sum; $view_user_login = $tmpPrj->getAuthorLogin(); } if ($action == 'save' && ($account_sum >= $price || $account_bonus_sum >= $price)) { if ($PDA && !$tmpPrj->getCategories()) { $cats = array();