function getStatProject($id, $payed_to, $now, $payed, $post_date, $kind, $comm_count, $offers_count) { $objResponse = new xajaxResponse(); $payed = $payed_to && $payed_to > $now ? 1 : 0; $counte = projects::CountProjectByID($id); $page = floor($counte / $GLOBALS['prjspp']) + 1; $counte_page = $counte % $GLOBALS['prjspp']; $html = 'Ваше объявление – <a class="public_blue" href="/projects/?kind=' . $kind . '&page=' . $page . '#prj' . $id . '">' . $counte_page . '-е по счету (' . $page . '-я страница)</a><br />'; if (hasPermissions('projects')) { $aWatch = projects::getProjectWatch($id); $html .= 'Просмотров ' . (int) $aWatch['view_cnt'] . ' (' . (int) $aWatch['today_view_cnt'] . ' за сегодня)<br />'; } if (is_new_prj($post_date) && $comm_count > 0) { $html .= "{$comm_count} " . ending($comm_count, 'предложение', 'предложения', 'предложений'); } elseif ($offers_count > 0) { $html .= "{$offers_count} " . ending($offers_count, 'предложение', 'предложения', 'предложений'); } $objResponse->assign("prj_pos_{$id}", 'innerHTML', $html); $objResponse->script("\$('pos_link_{$id}').destroy();"); return $objResponse; }
<?php if ($is_owner && $project->isNotPayedVacancy() && !$project->isClosed()) { ?> <div class="b-fon b-fon_padtop_10 b-fon_clear_both"> <div class="b-fon__body b-fon__body_padtop_10 b-fon__body_pad_10 b-fon__body_padleft_30 b-fon__body_fontsize_13 b-fon__body_bg_ffebbf"> <span class="b-icon b-icon_sbr_oattent b-icon_margleft_-25"></span> Ваш проект перенесен в раздел Вакансии. Пожалуйста, оплатите его размещение, чтобы видеть отклики фрилансеров и иметь возможность выбрать Исполнителя. </div> </div> <?php } ?> <?php $sDescr = $prj['moderator_status'] === '0' && $prj['kind'] != 4 && $user->is_pro != 't' ? $stop_words->replace($prj['descr']) : $prj['descr']; if (is_new_prj($prj['post_date'])) { $sDescr = reformatExtended($sDescr); } ?> <div class="fl2_offer_content"><?php echo ereg_replace("\r", "", ereg_replace("\n", "", reformat($sDescr, 65))); ?> </div> <?php //@todo: Список приатаченный файлов для заказчика. Лишняя нагрузка на БД. Пока скрываю. /*if(get_uid(false)) include dirname(__FILE__)."/attachlist.tpl.php";*/ ?> <br /> <div class="fl2_offer_meta">Прошло времени с момента публикации: <?php
/** * Редактировать проект * * @param array $prj Данные для редактирования * @param object $newattach Новые файлы (@see class CFile) * @return boolean true если редактирование прошло успешно, иначе false */ function editPrj($prj, $newattach, $categories = false) { global $DB; if ($prj['kind'] == 7) { preg_match("/^([0-9]{1,2})\\-([0-9]{1,2})\\-([0-9]{4})\$/", $prj['end_date'], $o1); preg_match("/^([0-9]{1,2})\\-([0-9]{1,2})\\-([0-9]{4})\$/", $prj['win_date'], $o2); if ($o1) { $end_date = date('Y-m-d', mktime(0, 0, 0, $o1[2], $o1[1], $o1[3])); } else { $end_date = $prj['end_date']; } if ($o2) { $win_date = date('Y-m-d', mktime(0, 0, 0, $o2[2], $o2[1], $o2[3])); } else { $win_date = $prj['win_date']; } } else { $end_date = NULL; $win_date = NULL; } $top_set = $post_set = ''; if ($prj['top_days']) { $top_set = $DB->parse(",\n top_from = CASE WHEN COALESCE(top_to,'epoch') >= now() THEN top_from ELSE now() END,\n top_to = CASE WHEN COALESCE(top_to,'epoch') >= now() THEN top_to + '?i days'::interval ELSE now() + '?i days'::interval END\n ", $prj['top_days'], $prj['top_days']); } if ($prj['post_now']) { $post_set = ", post_date = NOW()"; } $sql = ''; if ($prj['user_id'] == $_SESSION['uid'] && !hasPermissions('projects')) { // автор, не админ, не про - отправить на модерирование $sModeration = 'moderator_status = 0, '; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php'; $stop_words = new stop_words(); $nStopWordsCnt = $stop_words->calculate($prj['name'], $prj['descr']); $this->addModeration($prj['id'], $nStopWordsCnt); } $prj['payed'] = round($prj['payed'], 0); $prj['strong_top'] = hasPermissions('projects') ? (int) $prj['strong_top'] : 0; $sql .= $DB->parse("UPDATE projects\n SET state = ?i,\n name = ?,\n cost = ?f,\n descr = ?,\n currency = ?i,\n kind = ?i,\n country = ?i,\n city = ?i,\n payed = ?,\n pro_only = ?b,\n verify_only = ?b,\n videolnk = ?,\n strong_top = ?i,\n logo_id = ?i,\n link = ?,\n is_color = ?b,\n is_bold = ?b,\n billing_id = ?i,\n payed_items = ?,\n edit_date = NOW(),\n\t\t\t\tend_date = ?,\n\t\t\t\tbudget_type = ?i,\n\t\t\t\tpriceby = ?i,\n prefer_sbr = ?b,\n urgent = ?b,\n hide = ?b,\n o_urgent = ?b,\n o_hide = ?b,\n contacts = ?,\n {$sModeration}\n\t\t\t\twin_date = ?\n {$top_set}\n {$post_set}\n WHERE id = ?i\n ", $prj['state'], $prj['name'], $prj['cost'], $prj['descr'], $prj['currency'], $prj['kind'], $prj['country'], $prj['city'], $prj['payed'], $prj['pro_only'], $prj['verify_only'], $prj['videolnk'], $prj['strong_top'], $prj['logo_id'], $prj['link'], $prj['is_color'], $prj['is_bold'], $prj['billing_id'], $prj['payed_items'], $end_date, $prj['budget_type'], $prj['priceby'], $prj['prefer_sbr'], $prj['urgent'], $prj['hide'], $prj['urgent'], $prj['hide'], $prj['contacts'], $win_date, $prj['id']); if ($categories) { $this->saveSpecs($prj['id'], $categories); } $DB->query("DELETE FROM project_attach WHERE project_id = ?i", $prj['id']); // Удаляем все if ($newattach && is_array($newattach)) { $sql .= ";INSERT INTO project_attach (project_id, file_id) VALUES "; $i = 0; foreach ($newattach as $a) { $sql .= ($i++ ? ',' : '') . $DB->parse('(?i, ?i)', $prj['id'], $a['file_id']); } } //Обновляем информацию в старых преоктах (которые хранились также в таблице blogs_msgs) if (is_new_prj($prj['post_date'])) { $base = $prj['kind'] == 2 ? 5 : 3; $sql .= $DB->parse(";UPDATE blogs_msgs b\n SET title = ?,\n msgtext = ?,\n modified = NOW()\n FROM blogs_themes_old t\n WHERE t.id_gr = ?i\n AND t.base = ?i\n AND b.thread_id = t.thread_id\n AND b.reply_to IS NULL", $prj['name'], $prj['descr'], $prj['id'], $base); } return !!$DB->squery($sql); }
public function GetProjectLink() { if (is_new_prj($this->project['post_date'])) { $link = $this->project['pro_only'] == 't' && !$this->is_pro && !$this->edit_mode && $this->uid != $this->project['user_id'] ? '/proonly.php' : '/blogs/view.php?tr=' . $this->project['thread_id']; } else { $link = $this->project['pro_only'] == 't' && !$this->is_pro && !$this->edit_mode && $this->uid != $this->project['user_id'] ? '/proonly.php' : getFriendlyURL('project', $this->project['id']); } return $link; }
"><?php echo reformat($sTitle, 20, 0, 1); ?> </a> </div> <?php $sDescr = $row['moderator_status'] === '0' && $row['kind'] != 4 && $user->is_pro != 't' ? $stop_words->replace($row['descr']) : $row['descr']; if (is_new_prj($row['post_date'])) { $sDescr = reformatExtended($sDescr); } ?> <div class="fl2_offer_content"><?php echo ereg_replace("\r", "", ereg_replace("\n", "", reformat($sDescr, 65))); ?> </div><?php if (is_new_prj($row['post_date'])) { ?> <br /><?php echo !$row["comm_count"] || $row["comm_count"] % 10 == 0 || $row["comm_count"] % 10 > 4 || $row["comm_count"] > 4 && $row["comm_count"] < 21 ? '<a class="public_blue" href="' . getFriendlyURL("blog", $row['thread_id']) . '">' . $row["comm_count"] . ' предложений</a>' : ($row["comm_count"] % 10 == 1 || $row["comm_count"] == 1 ? '<a class="public_blue" href="' . getFriendlyURL("blog", $row['thread_id']) . '">' . $row["comm_count"] . ' предложение</a>' : '<a class="public_blue" href="' . getFriendlyURL("blog", $row['thread_id']) . '">' . $row["comm_count"] . ' предложения</a>'); ?> <br /><br /> <?php } else { ?> <br /><?php echo !$row["offers_count"] || $row["offers_count"] % 10 == 0 || $row["offers_count"] % 10 > 4 || $row["offers_count"] > 4 && $row["offers_count"] < 21 ? '<a class="public_blue" href="' . $blink . '">' . $row["offers_count"] . ' предложений</a>' : ($row["offers_count"] % 10 == 1 || $row["comm_count"] == 1 ? '<a class="public_blue" href="' . $blink . '">' . $row["offers_count"] . ' предложение</a>' : '<a class="public_blue" href="' . $blink . '">' . $row["offers_count"] . ' предложения</a>'); ?> <br /><br /> <?php } ?>
?> #prj<?php echo $project['id']; ?> "><?php echo $counte_page; ?> -е по счету (<?php echo $page; ?> -я страница)</a><br>закладка "<?php echo GetKind($project["kind"]); ?> "<?php } if (is_new_prj($project['post_date'])) { ?> <br><?php echo !$project["comm_count"] || $project["comm_count"] % 10 == 0 || $project["comm_count"] % 10 > 4 || $project["comm_count"] > 4 && $project["comm_count"] < 21 ? $project["comm_count"] . ' предложений' : ($project["comm_count"] % 10 == 1 || $project["comm_count"] == 1 ? $project["comm_count"] . ' предложение' : $project["comm_count"] . ' предложения'); ?> </td><?php } else { ?> <br /><?php echo !$project["offers_count"] || $project["offers_count"] % 10 == 0 || $project["offers_count"] % 10 > 4 || $project["offers_count"] > 4 && $project["offers_count"] < 21 ? $project["offers_count"] . ' предложений' : ($project["offers_count"] % 10 == 1 || $project["comm_count"] == 1 ? $project["offers_count"] . ' предложение' : $project["offers_count"] . ' предложения'); ?> </td><?php } if ($project['pro_only'] == 't') { echo "</tr><tr><td><font class=\"fl2_offer_meta2\" style=\"background-color:#fff7ee;\">Отвечать на проект могут только пользователи с аккаунтом " . view_pro() . "</font></td>"; }
<td style="padding-top: 8px;"></td> <td><div class="public_plus"><a href="/public/?step=2&public=<?php echo $prj["id"]; ?> &red=<?php echo rawurlencode("/users/" . $name["login"] . "/setup/projects/"); ?> " class="b-button b-button_flat b-button_flat_green b-button_height_30 b-button_block">Получить еще предложений</a></div> <?php /* if (($account->bonus_sum<50) && ($account->sum<50)) {?><table border="0" cellpadding="0" cellspacing="0"><tr><td class="public_grey_alert">ВНИМАНИЕ! У Вас на счету не хватает<b> <?=50-$account->sum?> FM</b>. После нажатия кнопки Вам будет предложено пополнить счет на указанную сумму.</td></tr></table ><?}*/ ?> </td> </tr> <?php if (!$prj["payed"] && !is_new_prj($prj['post_date'])) { ?> <tr valign="top"> <td style="padding-top: 8px;"><img src="/images/pointer.gif" border="0"></td> <td></td> </tr> <?php } ?> </table> <br> </td> <td class="public_plus_black" align="center" valign="middle"><div class="b-layout__txt"><?php echo $prj["closed"] == "t" && !$prj["frl_id"] ? "Снято с публикации" : ($prj["exec_id"] > 0 ? "Исполнитель найден:<br>" . '<a class="blue" href="/users/' . $prj['exec_login'] . '">' . $prj['exec_name'] . ' ' . $prj['exec_surname'] . ' ' . '[' . $prj['exec_login'] . "]" : "Ищется исполнитель"); ?> <br>