Exemplo n.º 1
0
$i = 0;
if ($prjs) {
    setlocale(LC_ALL, 'ru_RU.CP1251');
    $dir = $user->login;
    ?>
    <?php 
    $pj = 0;
    $pn = sizeof($prjs);
    foreach ($prjs as $ikey => $prj) {
        if (!get_uid(false) && $prj['hide'] == 't') {
            $pn--;
            continue;
        }
        $prj['name'] = htmlspecialchars($prj['name'], ENT_QUOTES, 'CP1251', false);
        $prj['descr'] = htmlspecialchars($prj['descr'], ENT_QUOTES, 'CP1251', false);
        $project = new_projects::initData($prj);
        //@todo: Лишний запрос. Применение в код ненайдено. Пока скрываю.
        //$spec = projects::getPrimarySpec($prj['id']);
        //$prj['category'] = $spec['category_id'];
        if (is_new_prj($prj['post_date'])) {
            $blink = getFriendlyURL("blog", $prj['thread_id']);
        } else {
            $blink = getFriendlyURL("project", $prj);
        }
        $plink = "/users/" . $prj['login'] . "/project/?prjid=" . $prj['id'];
        $executorExists = false;
        if ($prj['exec_id']) {
            // если исполнитель выбран
            if ($prj['offer_id']) {
                // если исполнитель отвечал на проект
                $executorExists = true;
/**
 * Перемещает проект в вакансии
 * @global type $user_content
 * @param type $sid
 * @return \xajaxResponse
 */
function makeVacancy($stream_id = '', $sid = '')
{
    global $user_content;
    $objResponse = new xajaxResponse();
    list($content_id, $rec_id, $rec_type) = explode('_', $sid);
    if ($user_content->hasContentPermissions($content_id)) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smtp.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/template.php';
        $project = new_projects::initData(new_projects::getPrj($rec_id));
        if ($project->isAllowMovedToVacancy()) {
            // Делаем проект вакансией
            $project->movedToVacancy();
            $user_content->markProjectBlocked($stream_id, $rec_id);
            // Отсылаем письмо заказчику о переносе его проекта в раздел вакансии
            $mail = new smtp();
            $mail->subject = 'Ваш проект перенесен в раздел Вакансии и ожидает публикации';
            // заголовок письма
            $mail->message = Template::render($_SERVER['DOCUMENT_ROOT'] . '/templates/mail/projects/makevacancy.tpl.php', array('title' => $project->_project['name'], 'project_id' => $project->_project['id']));
            $mail->recipient = "{$project->_project['email']} <{$project->_project['email']}>";
            // получатель
            $mail->SmtpMail('text/html');
        }
        $objResponse->script('user_content.spinner.hide(true);');
        $objResponse->script("\$('my_div_content_{$sid}').destroy();");
        $objResponse->script('user_content.spinner.resize();');
    } else {
        _parsePermissionsDenied($objResponse);
    }
    return $objResponse;
}
Exemplo n.º 3
0
<?php

require_once realpath(__DIR__ . '/../../classes/stdf.php');
require_once HOME . '/classes/projects.php';
require_once HOME . '/classes/smtp.php';
require_once HOME . '/classes/template.php';
$id = intval(__paramInit('int', 'id', 'id', 0));
$is_allow = $id > 0 && hasPermissions('projects');
if (!$is_allow) {
    header('Location: /403.php');
    exit;
}
$project = new_projects::initData(new_projects::getPrj($id));
if ($project->isAllowMovedToVacancy()) {
    // ƒелаем проект вакансией
    $project->movedToVacancy();
    // ќтсылаем письмо заказчику о переносе его проекта в раздел вакансии
    $mail = new smtp();
    $mail->subject = '¬аш проект перенесен в раздел ¬акансии и ожидает оплаты';
    // заголовок письма
    $mail->message = Template::render(HOME . '/templates/mail/projects/makevacancy.tpl.php', array('title' => $project->_project['name'], 'project_id' => $project->_project['id'], 'is_pro' => $project->isOwnerPro(), 'pro_price' => $project->getProjectInOfficePrice(true), 'not_pro_price' => $project->getProjectInOfficePrice(false)));
    $mail->recipient = "{$project->_project['email']} <{$project->_project['email']}>";
    // получатель
    $success = $mail->SmtpMail('text/html');
}
$ref_uri = empty($_SESSION['ref_uri']) ? '/' : urldecode($_SESSION['ref_uri']);
header("Location: {$ref_uri}#project-item{$project->_project['id']}");
exit;
Exemplo n.º 4
0
/**
 * Парсит порцию HTML содержимого для проектов
 * 
 * @param  int $last_id возвращает последний Id проектов
 * @param  array $content массив данных из базы
 * @param  int $status статус: 0 - не проверенно, 1 - утверждено, 2 - удалено
 * @param  array $aStream данные о потоке
 * @return string HTML
 */
function _parseProjects(&$last_id, $content = array(), $status = 0, $aStream = array())
{
    global $user_content, $stop_words, $sTeam;
    $nCnt = count($content);
    $sReturn = '';
    $aEmpId = array();
    foreach ($content as $aOne) {
        $aEmpId[] = $aOne['user_id'];
    }
    $aPrjCnt = $user_content->getProjectsPer24($aEmpId);
    // TODO: вынести в модель
    foreach ($content as $aOne) {
        $last_id = $aOne['moder_num'];
        $sAttach = '';
        if ($aOne['attach']) {
            $nn = 1;
            foreach ($aOne['attach'] as $attach) {
                $aData = getAttachDisplayData(null, $attach["name"], $attach['path'], 1000, 300, 307200, 0);
                if ($aData && $aData['success']) {
                    if ($aData['file_mode'] || $aData['virus_flag'] || $aData['file_ext'] == "swf") {
                        $sAttach .= _parseAttach($aData);
                    } else {
                        $sAttach .= "<div class=\"b-fon__body b-fon__body_pad_5 b-fon__body_bg_ffebbf b-fon__body_margbot_1\"><img src=\"" . WDCPREFIX . '/' . $attach['path'] . $attach["name"] . "\" alt=\"{$aData['file_name']}\" title=\"{$aData['file_name']}\" width=\"{$aData['img_width']}\" height=\"{$aData['img_height']}\" /></div>";
                    }
                    $nn++;
                }
            }
            $sAttach = '<div class="b-icon-layout b-post__txt_padbot_15">' . $sAttach . '</div>';
        }
        $sLogo = '';
        if ($aOne['logo_id']) {
            $cfile = new cfile($aOne['logo_id']);
            if ($cfile->id && trim($aOne['link'])) {
                $sLogo = '<div class="b-post__txt b-post__txt_padbot_15"><strong>Лого: </strong><br/>
                     <div>
                         <a target="_blank" rel="nofollow" href="' . $aOne['link'] . '" target="_blank" class="b-post__link">
                             <img alt="" src="' . WDCPREFIX . '/' . $cfile->path . '/' . $cfile->name . '" class="b-post__pic b-post__pic_clear_right">
                         </a>
                     </div>';
            }
        }
        $sPayed = $aOne['kind'] == 7 ? 'Конкурс!' : ($aOne['ico_payed'] == 't' || $aOne['is_upped'] == 't' ? 'Платный проект!' : '');
        $sPayed = $sPayed ? '<div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15"><span class="b-post__txt b-post__txt_color_c10601">' . $sPayed . '</span></div>' : '';
        $sTitle = xmloutofrangechars($aOne['name']);
        $sTitle = $aOne['kind'] != 4 && $status != 1 ? $stop_words->replace($sTitle) : $sTitle;
        $sTitle = reformat($sTitle, 30, 0, 1);
        $sDescr = xmloutofrangechars($aOne['descr']);
        $sDescr = $aOne['kind'] != 4 && $status != 1 ? $stop_words->replace($sDescr) : $sDescr;
        $sDescr = preg_replace("/^ /", "", $sDescr);
        $sDescr = preg_replace("/(\n) /", "\$1", $sDescr);
        $sDescr = reformat($sDescr, 30, 0, 0, 1);
        $sDescr = preg_replace("//", "&nbsp;", $sDescr);
        $sLink = $GLOBALS['host'] . getFriendlyURL('project', $aOne['id']);
        $sPrjCnt = isset($aPrjCnt[$aOne['user_id']]) ? $aPrjCnt[$aOne['user_id']] : '0';
        $sOffice = $aOne['kind'] != 4 ? '' : '<div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15" style="color: #cc4642;"> Проект в офис. Разрешен обмен контактами.</div>';
        $aOne['context_code'] = '3';
        $aOne['context_link'] = $sLink;
        $aOne['context_title'] = xmloutofrangechars($aOne['name']);
        $sKindIco = $aOne['kind'] == 7 ? 'kont' : 'prj';
        $sJSParams = "{'content_id': " . user_content::MODER_PROJECTS . ", 'stream_id': '{$aStream['stream_id']}', 'content_cnt': {$nCnt}, 'status': {$status}, 'is_sent': '{$aOne['is_sent']}'}";
        $sEditIcon = _parseEditIcon('admEditProjects', $aOne['id'], $status, $aOne['kind'] == 7 ? 7 : 0, $sJSParams);
        $sPro = $aOne['is_pro'] == 't' ? preg_replace('#<a[^>]+>(.+)</a>#', '$1', view_pro_emp()) . '&nbsp;' : '';
        $projectObject = new_projects::initData(new_projects::getPrj($aOne['id']));
        $allow_vacancy = $projectObject->isAllowMovedToVacancy();
        $moveToVacancy = $allow_vacancy ? '
            <div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11">
                <a onclick="user_content.make_vacancy(\'' . $aOne['content_id'] . '_' . $aOne['id'] . '_0\');" class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11" href="#">Сделать вакансией</a>
            </div>' : '';
        $sReturn .= '
<div class="b-post b-post_bordtop_dfe3e4 b-post_padtop_15 b-post_marg_20_10" id="my_div_content_' . $aOne['content_id'] . '_' . $aOne['id'] . '_0">
    ' . _parseHidden($aOne) . '
    ' . _parseOkIcon($status, $aOne['content_id'], $aOne['id'], '0', $aOne['user_id']) . '
    ' . _parsePostTime($status, $aOne['post_time']) . '
    <div class="b-username b-username_padbot_5">' . ($aOne['is_team'] == 't' ? $sTeam : $sPro) . '<a class="b-username__link b-username__link_color_6db335 b-username__link_fontsize_11 b-username__link_bold" href="/users/' . $aOne['login'] . '?kind=0&all=1" target="_blank">' . $aOne['uname'] . ' ' . $aOne['usurname'] . ' [' . $aOne['login'] . ']</a></div>
    ' . $sPayed . '
    ' . ($aOne['warn'] ? '<div class="b-username_padbot_5"><a onclick="parent.user_content.getUserWarns(' . $aOne['user_id'] . ');" href="javascript:void(0);" class="notice">Предупреждения:&nbsp;<span id="warn_' . $aOne['user_id'] . '_' . user_content::MODER_PROJECTS . '_' . $aOne['id'] . '">' . intval($aOne['warn']) . '</span></a></div>' : '<div class="b-username_padbot_5 user-notice">Предупреждений нет</div>') . '
    <div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11"><img class="b-post__pic b-post__pic_valign_mid" src="/images/frame-' . $sKindIco . '.png" alt="" /> (' . $sPrjCnt . ' за 24 часа)' . ($aOne['pro_only'] == 't' ? '&nbsp;Только для <span class="b-icon b-icon__pro b-icon__pro_f"></span>' : '') . '</div>
    ' . $sOffice . '
    ' . _parseMass($aOne, $status, '0') . '
    <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15"><a class="b-post__link b-post__link_bold b-post__link_fontsize_15" href="' . $sLink . '" target="_blank">' . $sTitle . '</a></div>
    <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15">' . $sDescr . '</div>
    ' . $sAttach . '
    ' . $sLogo . '
    <div class="b-post__txt b-post__txt_padtop_5 b-post__txt_fontsize_11"><span class="b-post__bold">Раздел:</span> ' . $aOne['specs'] . '</div>
    ' . ($aOne['pro_only'] == 't' ? '<div class="b-post__txt b-post__txt_padtop_10 b-post__txt_fontsize_11">Только для <span class="b-icon b-icon__pro b-icon__pro_f"></span></div>' : '') . '
    ' . $moveToVacancy . '
    ' . _parseDelIcons($aOne, 'user_id', $status, '0', $sJSParams, $sEditIcon) . '
</div>';
    }
    return $sReturn;
}
Exemplo n.º 5
0
<?php

/**
 * Шаблон катрочки проекта
 */
$projectObject = new_projects::initData($project);
?>

            <div class="b-layout b-layout_overflow_hidden b-layout_margbot_10">
				<?php 
$cfile = new cfile($project["logo_id"]);
if ($cfile->id) {
    if (trim($project["link"])) {
        ?>
                         <a target="_blank" rel="nofollow" href="<?php 
        echo $project["link"];
        ?>
" class="b-post__link">
                             <img alt="" src="<?php 
        echo WDCPREFIX . "/" . $cfile->path . "/" . $cfile->name;
        ?>
" class="b-post__pic b-post__pic_float_right b-post__pic_clear_right b-post__pic_margleft_10">
                         </a>
                  <?php 
    } else {
        ?>
                         <img alt="" src="<?php 
        echo WDCPREFIX . "/" . $cfile->path . "/" . $cfile->name;
        ?>
" class="b-post__pic b-post__pic_float_right b-post__pic_clear_right b-post__pic_margleft_10">
                  <?php 
Exemplo n.º 6
0
<?php

// ќбработка событий на сайте и отправка результатов в Google Analytics
?>
<script type='text/javascript'>
    window.addEvent('domready', function() {
        <?php 
if (Zend_Registry::isRegistered('action.render_project_page_after_publishing')) {
    // публикаци¤ проекта
    ?>
            <?php 
    $project = new_projects::initData(Zend_Registry::get('project'));
    ?>
            ga('send', 'event', 'Projects', '<?php 
    echo $project->getKindIdent();
    ?>
_created');
        <?php 
}
?>
    });
</script>

<script type='text/javascript'>
    var googletag = googletag || {};
    googletag.cmd = googletag.cmd || [];
    (function() {
    var gads = document.createElement('script');
    gads.async = true;
    gads.type = 'text/javascript';
    var useSSL = 'https:' == document.location.protocol;