Exemple #1
0
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/rating.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/xajax/projects_ci.common.php";
$xajax->printJavascript('/xajax/');
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/project_exrates.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/HTML/projects_lenta.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/opinions.php";
// Подгружаем данные по мнения создалю проекта
$op_data = opinions::getCounts($project['user_id'], array('frl', 'norisk', 'all', 'total'));
$project_exRates = project_exrates::GetAll();
$exch = array(1 => 'FM', 'USD', 'Euro', 'Руб');
$translate_exRates = array(0 => 2, 1 => 3, 2 => 4, 3 => 1);
$foto_alt = $project['name'];
$answer_button_href = get_uid(FALSE) ? is_emp($_SESSION['role']) ? "/frl_only.php" : ($project['pro_only'] == 't' && !$is_pro && $project['user_id'] != $_SESSION['uid'] && !hasPermissions('projects') ? "/payed/" : "#new_offer") : "/registration/?from_prj=" . $project['id'];
$category = professions::GetGroup($project['category'], $eeee);
if ($category['name'] && $project['subcategory']) {
    $category['name'] .= '&nbsp;/&nbsp;' . professions::GetProfName($project['subcategory']);
}
$can_edit = !!is_numeric(InGet('edit')) && $user_offer['refused'] != 't';
$is_user_offer_exist = (!$user_offer_exist || $can_edit) && $project['closed'] != 't' && $uid > 0;
if ($project['pro_only'] == 't' && !$is_pro && $project['user_id'] != $_SESSION['uid'] && !hasPermissions('projects')) {
    $offers = array();
    $is_user_offer_exist = false;
}
if ($project['verify_only'] == 't') {
    $verify_check = $is_verify;
    if (!$is_verify) {
        //$answer_button_href = '/promo/verification/';
        if (!get_uid(false)) {
            $_SESSION['ref_uri2'] = $project['id'];
?>
var filter_mirror_specs = <?php 
echo freelancers_filters::getMirroredSpecsJsObject($all_mirrored_specs);
?>
;
var filter_bullets = [[],[]];
<?php 
if (sizeof($_SESSION['ph_categories'])) {
    for ($ci = 0; $ci < 2; $ci++) {
        $ph_categories[$ci] = array();
        if (sizeof($_SESSION['ph_categories'][$ci])) {
            foreach ($_SESSION['ph_categories'][$ci] as $fkey => $fvalue) {
                if ($fkey) {
                    if (!freelancers_filters::mirrorExistsInArray($fkey, $ph_categories[$ci], $mirrored_specs)) {
                        if (!$fvalue) {
                            $proftitle = professions::GetGroup($fkey, $error);
                            $proftitle = $proftitle['name'];
                        } else {
                            $proftitle = professions::GetProfName($fkey);
                            $prof_group = professions::GetProfField($fkey, 'prof_group');
                        }
                        ?>
filter_bullets[<?php 
                        echo $fvalue;
                        ?>
][<?php 
                        echo $fkey;
                        ?>
] = new Array();
filter_bullets[<?php 
                        echo $fvalue;
Exemple #3
0
        $kind = 5;
        break;
}
if (!$subcategory) {
    $subcategory = 0;
}
$mbkey = $subcategory ? ($category ? $category . '_' : '') . 'sub_' . $subcategory : $category;
$projects = new new_projects();
$projects->setPageSize(new_projects::PAGE_SIZE_RSS);
$getcnt = 'nenado';
$additional = $subcategory ? array('active' => 't', 'categories' => array(array(), array($subcategory => 1))) : ($category ? array('active' => 't', 'categories' => array(array($category => 1))) : null);
$prjs = $projects->getProjects($getcnt, (int) $kind, 1, false, $additional);
if ($subcategory) {
    $kindStr .= ': ' . professions::GetProfNameWP($subcategory, ' - ', 'Все разделы', false);
} elseif ($category) {
    $name_cat = professions::GetGroup($category, $error);
    $kindStr .= ': ' . $name_cat['name'];
}
header('Content-Type: application/rss+xml');
print '<?xml version="1.0" encoding="windows-1251"?>';
?>
<!--  RSS generated by FL.ru RSS Generator on <?php 
echo gmdate('D, d M Y H:i:s');
?>
 GMT -->
<rss version="2.0">
<channel>
  <title>Проекты на FL.ru (<?php 
echo $kindStr;
?>
)</title>
Exemple #4
0
    /**
     * Возвращает блок для подписки на специализацию?
     * 
     * !!!Пример использования не нашел
     *
     * @param  int $category_id ID группы профессий
     * @param  int $subcategory_id ID профессии
     * @return string
     */
    public static function drawSubscrFilterLine($category_id, $subcategory_id)
    {
        require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
        $grp = professions::GetGroup($category_id, $error);
        $cat_name = $category_id ? $grp['name'] : '<em>Все разделы</em>';
        $sub_name = $subcategory_id ? professions::GetProfName($subcategory_id) : '<em>Все подразделы</em>';
        ob_start();
        ?>
    <tr>
           <th><?php 
        echo $cat_name;
        ?>
            <input type="hidden" name="cats[]" value="<?php 
        echo (int) $category_id;
        ?>
"/>
            <input type="hidden" name="subcats[]" value="<?php 
        echo (int) $subcategory_id;
        ?>
"/>
           </th>
           <td><?php 
        echo $sub_name;
        ?>
</td>
           <td><a href="javascript:void(0)" onclick="document.getElementById('filter_body').removeChild(this.parentNode.parentNode)"><img src="/images/btn-remove2.png" alt="Удалить"></a></td>
    </tr>
                                    <?php 
        $html = ob_get_contents();
        ob_clean();
        return $html;
    }
Exemple #5
0
 /**
  * Уведомление фрилансеру за 1 день до окончания 
  * размещения в freelancer_binds.
  */
 public function remindFreelancerbindsUp()
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer_binds.php';
     $binds = freelancer_binds::getDowned();
     if (!$binds) {
         return false;
     }
     foreach ($binds as $val) {
         if ($val['bill_subscribe'] == 'f') {
             continue;
         }
         $catalog_name = '';
         $catalog_url = "{$GLOBALS['host']}/freelancers/";
         if ($val['prof_id'] == 0) {
             $catalog_name = 'общем разделе';
         } elseif ($val['is_spec'] == 'f') {
             $group = professions::GetGroup($val['prof_id'], $error);
             $catalog_url .= $group['link'];
             $catalog_name = "разделе <a href='{$catalog_url}'>{$group['name']}</a>";
         } else {
             $prof_name = professions::GetProfName($val['prof_id']);
             $catalog_url .= professions::GetProfLink($val['prof_id']);
             $catalog_name = "подразделе <a href='{$catalog_url}'>{$prof_name}</a>";
         }
         $this->recipient = "{$val['uname']} {$val['usurname']} [{$val['login']}] <{$val['email']}>";
         $this->message = Template::render($_SERVER['DOCUMENT_ROOT'] . '/templates/mail/freelancer_binds/remind_up.tpl.php', array('smail' => &$this, 'catalog_url' => $catalog_url, 'catalog_name' => $catalog_name));
         $ok = $this->send('text/html');
         if ($ok) {
             freelancer_binds::markSent('up', $val['uid'], $val['prof_id'], $val['is_spec']);
         }
     }
     return 0;
 }
                    <?php 
}
?>
                </select>
              </div>
              <div class="b-select b-select_padbot_10">
                <select id="subscr_sub" class="b-select__select b-select__select_width_220"><option value="0">Весь раздел</option></select>
              </div>
                <button class="b-button b-button_flat b-button_flat_grey b-button_margbot_20" type="button" onclick="addMailerFilter()" disabled="disabled" id="addFilterButton">Добавить</button>
            </div>
    <div id="filter_body" class="b-layout__txt b-layout__txt_padbot_10">
        <?php 
$js = '';
foreach (explode(':', $user->mailer_str) as $vl) {
    if (preg_match("/c([0-9]+)s?([0-9]*)/i", $vl, $res)) {
        $grp = professions::GetGroup($res[1], $error);
        $cat_name = $res[1] ? $grp['name'] : '<em>Все разделы</em>';
        $sub_name = $res[2] ? professions::GetProfName($res[2]) : '<em>Все подразделы</em>';
        ?>
                <div class="b-layout__txt b-layout__txt_padbot_10">
                    <input type="hidden" name="cats[]" value="<?php 
        echo (int) $res[1];
        ?>
" />
                    <input type="hidden" name="subcats[]" value="<?php 
        echo (int) $res[2];
        ?>
" />
                    <span class="b-layout__bold"><?php 
        echo $cat_name;
        ?>
/**
 * Оплата через Плати потом
 * 
 * @param type $type - тип оплаты
 * @param type $data - данные по параметрам покупаемой услуги
 * @return \xajaxResponse
 */
function quickPaymentFrlbindPlatipotom($type, $data)
{
    $is_error = true;
    $uid = get_uid(false);
    $objResponse =& new xajaxResponse();
    $prof_id = (int) @$data['prof_id'];
    $is_spec = (bool) @$data['is_spec'];
    $is_prolong = (bool) @$data['is_prolong'];
    $promo_code = (string) @$data['promo'];
    $freelancer_binds = new freelancer_binds();
    $valid = $is_prolong ? $freelancer_binds->isUserBinded($uid, $prof_id, $is_spec) : $freelancer_binds->isAllowBind($uid, $prof_id, $is_spec);
    if ($valid) {
        $is_error = false;
        $bill = new billing($uid);
        //Допустимо использование промокодов
        $bill->setPromoCodes('SERVICE_FRLBIND', $promo_code);
        $op_code = $freelancer_binds->getOpCode($prof_id, $is_spec, $is_prolong);
        $option = array('weeks' => (int) @$data['weeks'], 'prof_id' => $prof_id);
        //Формируем заказ
        $billReserveId = $bill->addServiceAndCheckout($op_code, $option);
        $payed_sum = $bill->getRealPayedSum();
        $platipotom = new platipotom();
        $html_form = $platipotom->render($payed_sum, $bill->account->id, $billReserveId);
        if ($html_form) {
            $objResponse->script("\n                var qp_form_wrapper = \$\$('#quick_payment_frlbind .__quick_payment_form');\n                if(qp_form_wrapper){    \n                    qp_form_wrapper.set('html','{$html_form}');\n                    qp_form_wrapper.getElement('form')[0].submit();\n                }\n            ");
            $link = '/freelancers/';
            if ($prof_id) {
                if ($is_spec) {
                    $link .= professions::GetProfLink($prof_id) . '/';
                } else {
                    $group = professions::GetGroup($prof_id, $error);
                    $link .= $group['link'] . '/';
                }
            }
            //сохранаем в сессию куда перейти при успешной покупке
            $_SESSION[quickPaymentPopup::QPP_REDIRECT] = $link;
        }
    }
    // Показываем предупреждение в случае ошибки
    if ($is_error) {
        $action = $is_prolong ? 'продлении закрепления' : 'закреплении';
        $objResponse->script("\n            var qp = window.quick_payment_factory.getQuickPayment('frlbind');\n            if(qp) qp.show_error('Возникла ошибка при {$action} в каталоге!');\n        ");
    }
    return $objResponse;
}