$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; } $op_code_pay = new_projects::OPCODE_PAYED_KON; } else { $op_code = new_projects::OPCODE_PAYED; $op_code_pay = new_projects::OPCODE_PAYED; } if ($items) { $bill->start();