$project = $tmpPrj->getProject();
//Юзер пытается купить скрытый
$tmpPrj->setProjectField('hide', 't');
//Записываются данные о скрытом и срочном. будут сохранены в кэш при $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 {
            //Здесь счет создастся при редактировании конкурса
Exemple #2
0
 if ($PDA && !$tmpPrj->getCategories()) {
     $cats = array();
     $cats[] = array('category_id' => $project['category'], 'subcategory_id' => $project['subcategory']);
     $tmpPrj->setCategories($cats);
 }
 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php";
 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/billing.php";
 $bill = new billing($uid);
 $bill->clearOrders();
 $tmpProject = $tmpPrj->getProject();
 if ($tmpPrj->isVacancy()) {
     $initedState = $tmpProject['state'];
     $tmpPrj->setProjectField('old_state', $initedState);
     $tmpPrj->setProjectField('state', projects::STATE_PUBLIC);
 }
 if ($tmpPrj->getAmmount() && $account_bonus_sum < $tmpPrj->getAmmount()) {
     if (!$tmpPrj->isEdit()) {
         $tmpProject['uid'] = $uid;
         $tmpProject['draft_id'] = $draft_id;
         $tmpProject['project_profession0_columns'] = $_POST['project_profession0_columns'];
         $tmpProject['project_profession1_columns'] = $_POST['project_profession1_columns'];
         $tmpProject['project_profession2_columns'] = $_POST['project_profession2_columns'];
         $tmpProject['currency_db_id'] = $tmpProject['currency'];
         $tmpProject['priceby_db_id'] = $tmpProject['priceby'];
         $tmpProject['top_ok'] = $_POST['top_ok'];
         $tmpProject['top_days'] = intval($_POST['top_days']);
         $tmpProject['logo_link'] = $tmpProject['link'];
         $tmpProject['logo_ok'] = $_POST['logo_ok'];
         $tmpProject['logo_id'] = $_POST['logo_id'];
         $tmpProject['logo_file_id'] = $_POST['logo_id'];
         $tmpProject['logo_attachedfiles_session'] = $_POST['logo_attachedfiles_session'];