//Записываются данные о скрытом и срочном. будут сохранены в кэш при $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;
Exemple #2
0
 }
 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();