public function run()
 {
     $attachedfiles = new attachedfiles();
     $attachedfiles_session = $attachedfiles->getSession();
     //Хеш безопасности целосности параметров формы
     //сейчас используется для загрузчика файлов
     $param_hash = tservices_helper::getOrderUrlHash(array((int) $this->order_id, $attachedfiles_session), $this->uid);
     //собираем шаблон
     $this->render('t-service-order-messages-form', array('order_id' => $this->order_id, 'param_hash' => $param_hash, 'is_scroll' => $this->is_scroll, 'attachedfiles_session' => $attachedfiles_session));
 }
Example #2
0
function ResetAttachedfiles()
{
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/blogs.php";
    $objResponse = new xajaxResponse();
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
    $attachedfiles = new attachedfiles('', true);
    $asid = $attachedfiles->createSessionID();
    $attachedfiles->addNewSession($asid);
    $objResponse->assign("attachedfiles", "innerHTML", '');
    $objResponse->script("\n    \t\t\t\t\t\t\t\tvar attachedfiles_list = new Array();\n                                    attachedFiles.init('attachedfiles', \n                                                       '{$asid}',\n                                                       attachedfiles_list, \n                                                       '" . blogs::MAX_FILES . "',\n                                                       '" . blogs::MAX_FILE_SIZE . "',\n                                                       '" . implode(', ', $GLOBALS['disallowed_array']) . "',\n                                                       'blog',\n                                                       '" . get_uid(false) . "'\n                                                       );\n\n                                ");
    return $objResponse;
}
Example #3
0
 /**
  * Обработка входящих данных на запись рассылки
  * 
  * @param array $post    Входящие данные $_POST
  * @return array Обработканные данные для записи array(name=>value) где name - имя поля в таблице value - значение поля
  */
 public function initPost($post)
 {
     $insert = array();
     if ($post['attachedfiles_session']) {
         $attachedfiles = new attachedfiles($post['attachedfiles_session']);
         $attachedfiles_files = $attachedfiles->getFiles(array(1, 3, 4));
         if (count($attachedfiles_files) > 0) {
             $insert['is_attached'] = true;
             $_POST['attachedfiles_files'] = $attachedfiles_files;
         } else {
             $insert['is_attached'] = false;
         }
     }
     $insert['in_draft'] = (int) $post['in_draft'] == 0 ? 'false' : 'true';
     if (isset($post['status_sending'])) {
         $insert['status_sending'] = (int) $post['status_sending'];
     }
     if (isset($post['status_message'])) {
         $insert['status_message'] = (int) $post['status_message'];
     }
     if (!is_empty_html($post['subject'])) {
         $insert['subject'] = __paramValue('string', addslashes($post['subject']));
     } else {
         $insert['subject'] = 'Рассылка Free-lance.ru';
         //$this->error['subject'] = 'Введите заголовок письма';
     }
     if (!is_empty_html($post['message'])) {
         //$insert['message'] = addslashes(__paramValue('ckedit', stripslashes($post['message'])  ));
         $insert['message'] = $post['message'];
     } else {
         $this->error['message'] = 'Введите текст письма';
     }
     if ($post['type_sending']) {
         $post['type_sending'] = array_map('intval', $post['type_sending']);
         $insert['type_sending'] = (string) implode("", array((int) $post['type_sending'][0], (int) $post['type_sending'][1]));
     }
     if ($post['type_regular']) {
         $insert['type_regular'] = __paramValue('int', $post['type_regular']);
     }
     if ($post['type_send_regular']) {
         $insert['type_send_regular'] = __paramValue('int', $post['type_send_regular']);
     }
     if (!is_empty_html($post['time_sending'])) {
         $time = __paramValue('string', $post['time_sending']) . ":00";
         if (is_empty_html($post['date_sending'])) {
             $insert['date_sending'] = date('Y-m-d ' . $time);
         }
     } elseif ($insert['type_regular'] == 2) {
         $this->error['time_sending'] = 'Введите время отправки рассылки';
     }
     if (!is_empty_html($post['date_sending'])) {
         $time = "00:00";
         if (!is_empty_html($post['time_sending'])) {
             $time = __paramValue('string', $post['time_sending']) . ":00";
         }
         $insert['date_sending'] = date('Y-m-d ' . $time, strtotime($post['date_sending']));
     } elseif ($insert['type_regular'] != 2) {
         $this->error['date_sending'] = 'Введите дату отправки рассылки';
     }
     // Обработка фильтра Работодателя
     if ($post['filter_emp']) {
         // Записываем фильтр
         $insert['filter_emp'] = $this->initPostEmpFilter($post);
     }
     if ($post['filter_frl']) {
         // Записываем фильтр
         $insert['filter_frl'] = $this->initPostFrlFilter($post);
     }
     if ($post['filter_file']) {
         $insert['filter_file'] = true;
     } else {
         $insert['filter_file'] = '';
     }
     $insert['user_id'] = get_uid();
     //$insert['count_recipients'] = 0;
     return $insert;
 }
Example #4
0
                            <td>
                               <br/>
                                <div id="attachedfiles" class="b-fon b-fon_width_full" style="width:560px"></div>

                                <script type="text/javascript">
                                    var attachedfiles_list = new Array();
                                    <?php 
        require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
        $attachedfiles_session = $_POST['attachedfiles_session'];
        if (!$attachedfiles_session) {
            $attachedfiles = new attachedfiles('', true);
            $asid = $attachedfiles->createSessionID();
            $attachedfiles->addNewSession($asid);
            $attachedfiles_session = $asid;
        } else {
            $attachedfiles = new attachedfiles($attachedfiles_session);
            $asid = $attachedfiles_session;
        }
        if ($draft_id) {
            if (!$attachedfiles_session) {
                $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 1);
                if ($attachedfiles_tmpdraft_files) {
                    $attachedfiles_prj_files = array();
                    foreach ($attachedfiles_tmpdraft_files as $attachedfiles_draft_file) {
                        $attachedfiles_draft_files[] = $attachedfiles_draft_file;
                    }
                    $attachedfiles->setFiles($attachedfiles_draft_files, 1);
                }
            }
        } else {
            if ($action == 'edit' && !$alert) {
                    $file['name'] = $fileinfo['name'];
                    $file['path'] = WDCPREFIX . '/' . $fileinfo['path'];
                    $file['size'] = ConvertBtoMB($fileinfo['size']);
                    $file['type'] = $fileinfo['type'];
                }
            } else {
                if ($_FILES['attachedfiles_file']['size'] > $max_files_size) {
                    $file['error'] = 'Максимальный объем файлов: ' . ConvertBtoMB($max_files_size);
                } else {
                    $file['error'] = 'Ошибка загрузки файла';
                }
            }
        }
        break;
    case 'delete':
        $attachedfiles = new attachedfiles($sess);
        $attachedfiles->delete($_POST['attachedfiles_delete']);
        break;
}
?>

<script type="text/javascript">
    window.parent.attachedFiles.clearFileField();
    <?php 
switch ($action) {
    case 'add':
        ?>
            var message = new Object;
            message.error = '<?php 
        echo $file['error'];
        ?>
Example #6
0
 /**
  * Сохранение проекта в черновики (новый шаблон)
  *
  * @param   array     $prj    Информация о проекте
  * @return  array             ['id'] - ID черновика, ['date'] - дата сохранения черновика
  */
 function SaveProjectNew($prj, $attachedfiles_files = false)
 {
     global $DB;
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
     $categories = "";
     $check = array();
     for ($i = 0; $i <= 2; $i++) {
         $catID = __paramValue('int', $prj['project_profession' . $i . '_columns'][0]);
         $subcatID = __paramValue('int', $prj['project_profession' . $i . '_spec_columns'][0]);
         if ($catID || $subcatID) {
             $categories .= $catID . '|' . $subcatID . ',';
         }
     }
     $categories = preg_replace("/,\$/", "", $categories);
     if ($prj['name'] === false) {
         $prj['name'] = '';
     }
     if ($prj['descr'] === false) {
         $prj['descr'] = '';
     }
     if (!$prj['end_date']) {
         $prj['end_date'] = NULL;
     }
     if (!$prj['win_date']) {
         $prj['win_date'] = NULL;
     }
     $prj['budget_type'] = intval($prj['budget_type']);
     if (!intval($prj['draft_prj_id'])) {
         $prj['prj_id'] = NULL;
     } else {
         $prj['prj_id'] = $prj['draft_prj_id'];
     }
     $prj['draft_id'] = intval($prj['draft_id']);
     if (!isset($prj['kind'])) {
         $prj['kind'] = 7;
     }
     $prj['cost'] = $prj['agreement'] ? 0 : floatval($prj['cost']);
     $date = date("Y-m-d H:i:s");
     $prj['strong_top'] = hasPermissions('projects') ? (int) $prj['strong_top'] : 0;
     $prj['verify_only'] = (bool) $prj['verify_only'];
     // платные опции
     $prj['urgent'] = (bool) $prj['urgent'];
     $prj['hide'] = (bool) $prj['hide'];
     $topDays = $prj['top_ok'] ? $prj['top_days'] : 0;
     if ($prj['logo_ok']) {
         $logoAttach = new attachedfiles($prj['logo_attachedfiles_session']);
         $logoFiles = $logoAttach->getFiles();
         if (is_array($logoFiles) && count($logoFiles)) {
             $logoFile = array_pop($logoFiles);
             // файлов может быть несколько, берем последний
             $logoAttach->setStatusTo3($logoFile['id']);
             $logoFileID = $logoFile['id'];
         } elseif ($prj['logo_file_id']) {
             $logoFileID = $prj['logo_file_id'];
         }
         $logoLink = $prj['link'];
     }
     if (self::isDraftExists($prj['draft_id'], $prj['uid'], 1, $prj['prj_id'])) {
         $sql = "UPDATE draft_projects SET \n                            name = ?u,\n                            descr = ?u,\n                            cost = ?,\n                            currency = ?i,\n                            kind = ?i,\n                            pro_only = ?,\n                            strong_top = ?i,\n                            end_date = ?,\n                            win_date = ?,\n                            country = ?i,\n                            city = ?i,\n                            categories = ?,\n                            date = ?,\n                            prj_id = ?,\n                            priceby = ?i,\n                            prefer_sbr = ?,\n                            budget_type = ?i,\n                            verify_only = ?,\n                            urgent = ?,\n                            hide = ?,\n                            top_days = ?i,\n                            logo_id = ?,\n                            logo_link = ?,\n                            contacts = ?\n                    WHERE (id=? OR prj_id=?)AND uid=?i";
         $DB->query($sql, $prj['name'], $prj['descr'], $prj['cost'], $prj['currency_db_id'], $prj['kind'], $prj['pro_only'] == 1 ? 't' : 'f', $prj['strong_top'], $prj['end_date'], $prj['win_date'], (int) $prj['project_location_columns'][0], (int) $prj['project_location_columns'][1], $categories, $date, $prj['prj_id'], intval($prj['priceby_db_id']), $prj['prefer_sbr'] == 1 ? 't' : 'f', $prj['budget_type'], $prj['verify_only'], $prj['urgent'], $prj['hide'], $topDays, $logoFileID, $logoLink, $prj['contacts'], $prj['draft_id'], $prj['prj_id'], $prj['uid']);
         $id = $prj['draft_id'];
     } else {
         $new_draft = true;
         $sql = "INSERT INTO draft_projects (\n                            name,\n                            descr,\n                            cost,\n                            currency,\n                            kind,\n                            pro_only,\n                            end_date,\n                            win_date,\n                            country,\n                            city,\n                            categories,\n                            date,\n                            uid,\n                            prj_id,\n                            priceby,\n                            prefer_sbr,\n                            budget_type,\n                            strong_top,\n                            verify_only,\n                            urgent,\n                            hide, \n                            top_days,\n                            logo_id,\n                            logo_link,\n                            contacts\n                        ) VALUES (\n                            ?u,\n                            ?u,\n                            ?,\n                            ?i,\n                            ?i,\n                            ?,\n                            ?,\n                            ?,\n                            ?i,\n                            ?i,\n                            ?,\n                            ?,\n                            ?i,\n                            ?,\n                            ?i,\n                            ?,\n                            ?i,\n                            ?i,\n                            ?,\n                            ?,\n                            ?,\n                            ?i,\n                            ?,\n                            ?,\n                            ?\n                        ) RETURNING id;";
         $id = $DB->val($sql, $prj['name'], $prj['descr'], $prj['cost'], $prj['currency_db_id'], $prj['kind'], $prj['pro_only'] == 1 ? 't' : 'f', $prj['end_date'], $prj['win_date'], (int) $prj['project_location_columns'][0], (int) $prj['project_location_columns'][1], $categories, $date, $prj['uid'], $prj['prj_id'], intval($prj['priceby_db_id']), $prj['prefer_sbr'] == 1 ? 't' : 'f', $prj['budget_type'], (int) $prj['strong_top'], $prj['verify_only'], $prj['urgent'], $prj['hide'], $topDays, $logoFileID, $logoLink, $prj['contacts']);
     }
     // - BEGIN атачи
     if (!$attachedfiles_files) {
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes//uploader/uploader.php";
         $mask_files = array(1, 3);
         $uploader = new uploader(current($prj['IDResource']));
         $attachedfiles_files = $uploader->getFiles($mask_files);
     }
     $file_id = array();
     // массив с ID файлов которые не надо удалять
     $noDeletedFiles = array();
     foreach ($attachedfiles_files as $attachedfiles_file) {
         $noDeletedFiles[] = $attachedfiles_file['id'];
         // старые файлы не трогаем
         if ($attachedfiles_file['status'] == 3) {
             continue;
         }
         if (in_array($f->id, $file_id)) {
             continue;
         }
         // Чтобы не было дублей
         $file_id[] = $f->id;
         $f = new CFile($attachedfiles_file['id']);
         $f->table = 'file';
         $f->makeLink();
         $sql = "INSERT INTO draft_attaches(draft_id, draft_type, file_id) VALUES(?i, 4, ?i)";
         $DB->hold()->query($sql, $id, $f->id);
     }
     if ($DB->sqls) {
         $DB->query();
     }
     if ($uploader && $attachedfiles_files) {
         $uploader->setStatusFiles(uploader::STATUS_CREATE, uploader::STATUS_ADDED);
     }
     $sqlNoDeletedFiles = count($noDeletedFiles) ? $DB->parse('AND file_id NOT IN (?l)', $noDeletedFiles) : '';
     $sql = "SELECT * FROM draft_attaches WHERE draft_id = ?i AND draft_type = 4 {$sqlNoDeletedFiles};";
     $files = $DB->rows($sql, $id, $noDeletedFiles);
     if ($files) {
         foreach ($files as $f) {
             $cf = new CFile($f['file_id']);
             $cf->table = 'file';
             $cf->Delete($cf->id);
         }
     }
     $sql = "DELETE FROM draft_attaches WHERE draft_id = ?i AND draft_type = 4 {$sqlNoDeletedFiles};";
     $DB->query($sql, $id, array());
     // - END атачи
     $_SESSION['drafts_count'] = drafts::getCount($msg['uid']);
     return array('id' => $id, 'date' => $date);
 }
/**
 * Сохранение комментария к статьям
 * 
 * @param object $objResponse xajaxResponse
 * @param string $rec_id идентификатор записи
 * @param string $rec_type тип записи
 * @param array $aForm массив данных
 * @param string $sDrawFunc имя функции для выполнения после сохранения
 */
function _admEditArtComSaveForm(&$objResponse, $rec_id = '', $rec_type = '', $aForm = array(), $sDrawFunc = '')
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/comments/CommentsArticles.php';
    $oComments = new CommentsArticles();
    $attachedfiles = new attachedfiles($aForm['attachedfiles_session']);
    $attachedfiles_files = $attachedfiles->getFiles(array(1, 3, 4));
    $oComments->addAttachedFiles($attachedfiles_files, $rec_id, $aForm['user_login']);
    $attachedfiles->clear();
    $sReason = _parseReason($aForm['user_id'], $aForm['adm_edit_text']);
    messages::artComModifiedNotification($rec_id, $aForm['user_login'], $aForm['user_uname'], $aForm['user_usurname'], $sReason, $aForm['resource']);
    $content_id = user_content::MODER_ART_COM;
    _admEditAfterAll($objResponse, $content_id, $rec_id, $rec_type, $sDrawFunc, $aForm);
}
Example #8
0
									</div>
								</div>

								<div id="letters_div_attach" class="b-file b-file_padleft_80 b-file_padbot_15">												

									<div id="attachedfiles">
		 					 	   	<?php 
require_once $_SERVER['DOCUMENT_ROOT'] . '/siteadmin/letters/tpl.attachedfiles.php';
?>
		 					 	    </div>
									<script type="text/javascript">
									    (function () {
									        var attachedfiles_list = new Array();
							    		    <?php 
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
$attachedfiles = new attachedfiles('', true);
$asid = $attachedfiles->createSessionID();
$attachedfiles->addNewSession($asid);
?>
							   	    		attachedFiles.initComm( 'attachedfiles', 
							                                		'<?php 
echo $asid;
?>
',
							                                		attachedfiles_list, 
							                                		'1',
							                                		'<?php 
echo letters::MAX_FILE_SIZE;
?>
',
							                                		'<?php 
Example #9
0
/**
 * формирует превью проекта на главной странице.
 */
function GetPreview($data)
{
    $objResponse = new xajaxResponse();
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/CFile.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/HTML/projects_lenta.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/project_exrates.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/memBuff2.php';
    $kind = 1;
    $memBuff = new memBuff();
    $htmlLenta = $memBuff->get('projectsLentaHTML');
    if (!$htmlLenta) {
        $prj = new new_projects();
        $prjs = $prj->getProjects($num_prjs, -1, 1, false, null, true);
        foreach ($prjs as &$proj) {
            // стираем принадлежность проекта к пользователю, чтобы не появилось кнопок РЕДАКТИРОВАТЬ и пр.
            unset($proj['user_id']);
        }
        unset($proj);
        $htmlPrj = new HTMLProjects();
        $htmlPrj->template = '/projects/tpl.lenta.new.php';
        $prj_content = $htmlPrj->ShowProjects($num_prjs, $prjs, 1, 1, null, true);
        $prfs = new professions();
        $profs = $prfs->GetAllProfessions('', 0, 1);
        // подложка с лентой проектов
        ob_start();
        include $_SERVER['DOCUMENT_ROOT'] . '/templates/main.php';
        $htmlLenta = ob_get_clean();
        // кэшируем ленту проектов
        $memBuff->set('projectsLentaHTML', $htmlLenta, 1800);
    }
    // подготавливаем данные для шаблона в ленту проектов
    $row = array();
    $row['kind'] = __paramValue('int', $data['kind']);
    $row['cost'] = __paramValue('int', $data['cost']);
    $row['currency'] = __paramValue('int', $data['currency_db_id']);
    $row['priceby'] = __paramValue('int', $data['priceby_db_id']);
    $row['name'] = stripslashes(__paramValue('html', $data['name'], null, true));
    $contacts = array('phone' => array('name' => 'Телефон', 'value' => ''), 'site' => array('name' => 'Сайт', 'value' => ''), 'icq' => array('name' => 'ICQ', 'value' => ''), 'skype' => array('name' => 'Skype', 'value' => ''), 'email' => array('name' => 'E-mail', 'value' => ''));
    if (isset($data['contacts'])) {
        foreach ($data['contacts'] as $name => $value) {
            if (!isset($contacts[$name])) {
                continue;
            }
            switch ($name) {
                case 'site':
                    if (!url_validate(ltrim(ltrim($value, 'http://'), 'https://')) && trim($value) != '') {
                        $error["contact_{$name}"] = 'Поле заполнено некорректно';
                    }
                    if (strpos($value, 'htt') === false && trim($value) != '') {
                        $value = 'http://' . $value;
                    }
                    break;
                case 'email':
                    if (!is_email($value) && trim($value) != '') {
                        $error["contact_{$name}"] = 'Поле заполнено некорректно';
                    }
                    break;
            }
            $contacts[$name]['value'] = __paramValue('htmltext', stripslashes($value));
        }
        $row['contacts'] = serialize($contacts);
    }
    $descrFull = stripslashes(__paramValue('html', $data['descr'], null, true));
    $descr = preg_replace('/^ /', "", $descrFull);
    $descr = preg_replace("/(\n) /", "\$1", $descr);
    $descr = reformat(strip_tags(htmlspecialchars(LenghtFormatEx(htmlspecialchars_decode($descr, ENT_QUOTES), 180), ENT_QUOTES), '<br />'), 50, 1, 0, 1);
    $descr = preg_replace("//", '&nbsp;', $descr);
    $row['descr'] = $descr;
    $row['t_is_payed'] = $data['logo_ok'] || $data['top_ok'];
    $row['t_is_ontop'] = __paramValue('bool', $data['top_ok']);
    $row['t_pro_only'] = $data['pro_only'] ? 't' : 'f';
    $row['t_verify_only'] = $data['verify_only'] ? 't' : 'f';
    $row['t_urgent'] = $data['urgent'] ? 't' : 'f';
    $row['t_hide'] = $data['hide'] ? 't' : 'f';
    $row['create_date'] = date('Y-m-d H:i', strtotime(date('Y-m-d H:i:s')) - 120);
    // делаем дату публикации 2 минуты назад
    $row['end_date'] = __paramValue('string', $data['end_date']);
    $row['win_date'] = __paramValue('string', $data['win_date']);
    $row['country'] = __paramValue('int', $data['project_location_columns'][0]);
    $row['city'] = __paramValue('int', $data['project_location_columns'][1]);
    list($row['country_name'], $row['city_name']) = explode(': ', __paramValue('string', $data['location']));
    $logoOK = __paramValue('bool', $data['logo_ok']);
    $topOK = __paramValue('bool', $data['top_ok']);
    $row['link'] = __paramValue('string', $data['link']);
    if ($logoOK) {
        $logoAttach = new attachedfiles($data['logo_attachedfiles_session']);
        $logoFiles = $logoAttach->getFiles(array(1));
        if (count($logoFiles)) {
            $logoFile = array_pop($logoFiles);
            // загружено может быть несколько файлов, берем последний
            $logoCFile = new CFile($logoFile['id']);
        } elseif (__paramValue('int', $data['logo_file_id'])) {
            $logoCFile = new CFile(__paramValue('int', $data['logo_file_id']));
        }
        $row['logo_name'] = $logoCFile->name;
        $row['logo_path'] = $logoCFile->path;
    }
    $is_ajax = true;
    // подготовка данных для подробной страницы проекта
    $project = $row;
    $categories = array();
    for ($i = 0; $i < 3; ++$i) {
        $categoryID = __paramValue('int', $data['project_profession' . $i . '_columns'][0]);
        $subcategoryID = __paramValue('int', $data['project_profession' . $i . '_spec_columns'][0]);
        if ($categoryID || $subcategoryID) {
            $categories[] = array('category_id' => $categoryID, 'subcategory_id' => $subcategoryID);
        }
    }
    $project['spec_txt'] = projects::_getSpecsStr($categories, ' / ', ', ', true);
    $project['ico_payed'] = $logoOK;
    $project['is_upped'] = $topOK;
    $project['descr'] = $descrFull;
    $project['logo_id'] = $logoCFile->id;
    $project['prefer_sbr'] = __paramValue('bool', $data['prefer_sbr']) ? 't' : 'f';
    $project['urgent'] = __paramValue('bool', $data['urgent']) ? 't' : 'f';
    $project['hide'] = __paramValue('bool', $data['hide']) ? 't' : 'f';
    if (trim($project['contacts']) != '') {
        $contacts_employer = unserialize($project['contacts']);
        $empty_contacts_employer = 0;
        foreach ($contacts_employer as $name => $contact) {
            if (trim($contact['value']) == '') {
                $empty_contacts_employer++;
            }
        }
        $is_contacts_employer_empty = count($contacts_employer) == $empty_contacts_employer;
    }
    $isPreview = true;
    $project_exRates = project_exrates::GetAll();
    $translate_exRates = array(0 => 2, 1 => 3, 2 => 4, 3 => 1);
    ob_start();
    include $_SERVER['DOCUMENT_ROOT'] . '/public/new/tpl.preview.php';
    ?>
    <?php 
    $htmlProject = ob_get_clean();
    $objResponse->assign('project_preview_lenta', 'innerHTML', $htmlLenta);
    $objResponse->assign('project_preview_content', 'innerHTML', $htmlProject);
    $objResponse->script('Public.showPreview()');
    return $objResponse;
}
Example #10
0
 $prjname = __paramInit('string', NULL, 'prjname');
 $attachedfiles_session = __paramInit('string', NULL, 'attachedfiles_session');
 //$attach = new CFile($_FILES['attach']);
 // загрузка файлов
 $files = array();
 $attach = $_FILES['attach'];
 if (is_array($attach) && !empty($attach['name'])) {
     foreach ($attach['name'] as $key => $v) {
         if (!$attach['name'][$key]) {
             continue;
         }
         $files[] = new CFile(array('name' => $attach['name'][$key], 'type' => $attach['type'][$key], 'tmp_name' => $attach['tmp_name'][$key], 'error' => $attach['error'][$key], 'size' => $attach['size'][$key]));
     }
 }
 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
 $attachedfiles = new attachedfiles($attachedfiles_session);
 $attachedfiles_info = $attachedfiles->calcFiles();
 if ((!$msg || trim($msg) == "") && !(sizeof($files) || $attachedfiles_info['count'])) {
     $error_flag = 1;
     $alert[2] = "Поле заполнено некорректно";
 } elseif ($msg && strlen($msg) > messages::MAX_MSG_LENGTH) {
     $error_flag = 1;
     $alert[2] = "Вы ввели слишком большое сообщение. Текст сообщения не должен превышать 20 000 символов.";
 }
 if ($isNeedUseCaptcha) {
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/captcha.php";
     $captchanum = $_POST['captchanum'];
     $captcha = new captcha($captchanum);
     $rnd = $_POST['rndnum'];
     if (!$captcha->checkNumber(trim($rnd))) {
         $error_flag = 1;
Example #11
0
                        window.addEvent('domready', function(){
                            $(document.body).addEvent('click', function(){
                                $('attachedfiles_info').addClass('b-shadow_hide');
                            });
                            $('hint_files').removeEvents('click').addEvent('click', function(e){ e.stop(); $('attachedfiles_info').toggleClass('b-shadow_hide');});
                            $('attachedfiles_close_info').removeEvents('click').addEvent('click', function(){ e.stop(); $('attachedfiles_info').toggleClass('b-shadow_hide');});
                        });
                        
                        (function () {
                            var attachedfiles_list = new Array();
                            <?php 
if ($action == 'create_project') {
    $attachedfiles = new attachedfiles($attachedfiles_session);
    $attachedfiles_files = $attachedfiles->getFiles();
} else {
    $attachedfiles = new attachedfiles();
    $attachedfiles_files = $attachedfiles->getFilesForWizard($existPrjID);
}
if ($attachedfiles_files) {
    $n = 0;
    foreach ($attachedfiles_files as $attachedfiles_file) {
        echo "attachedfiles_list[{$n}] = new Object;\n";
        echo "attachedfiles_list[{$n}].id = '" . md5($attachedfiles_file['id']) . "';\n";
        echo "attachedfiles_list[{$n}].name = '{$attachedfiles_file['orig_name']}';\n";
        echo "attachedfiles_list[{$n}].path = '" . WDCPREFIX . "/{$attachedfiles_file['path']}{$attachedfiles_file['name']}';\n";
        echo "attachedfiles_list[{$n}].size = '" . ConvertBtoMB($attachedfiles_file['size']) . "';\n";
        echo "attachedfiles_list[{$n}].type = '{$attachedfiles_file['type']}';\n";
        ++$n;
    }
}
?>
Example #12
0
/**
* Публикация черновика
*
* @param    int     $draft_id   ID черновика
* @param    int     $type       Тип черновика
* @param    bool    $is_edit    false - публикация нового поста/прокта, true - публикация существующего поста/проекта
*/
function PostDraft($draft_id, $type, $is_edit = false)
{
    $objResponse = new xajaxResponse();
    session_start();
    $draft_id = intval($draft_id);
    $uid = get_uid(false);
    if ($uid) {
        require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php";
        $draft = drafts::getDraft($draft_id, $uid, $type);
        if ($draft) {
            switch ($type) {
                case 2:
                    // Личка
                    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
                    $attachedfiles = new attachedfiles($attachedfiles_session);
                    $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 3);
                    if ($attachedfiles_tmpdraft_files) {
                        $attachedfiles_draft_files = array();
                        foreach ($attachedfiles_tmpdraft_files as $attachedfiles_draft_file) {
                            $attachedfiles_draft_files[] = $attachedfiles_draft_file;
                        }
                        $attachedfiles->setFiles($attachedfiles_draft_files);
                    }
                    $objResponse->assign("f_attachedfiles_session", "value", $attachedfiles->getSession());
                    $objResponse->assign("f_msg", "innerHTML", $draft['msg']);
                    $objResponse->assign("f_msg_to", "value", $draft['to_login']);
                    $objResponse->assign("f_draft_id", "value", $draft['id']);
                    $objResponse->assign("f_to_login", "value", $draft['to_login']);
                    $objResponse->script("var attrAction = document.createAttribute('action'); attrAction.value='/contacts/?from=" . $draft['to_login'] . "'; \$('f_frm').setAttributeNode(attrAction);");
                    $objResponse->script('$("f_frm").submit();');
                    break;
                case 3:
                    // Блоги
                    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/blogs.php";
                    $objResponse->assign("f_draft_id", "value", $draft['id']);
                    $objResponse->assign("f_msg", "value", $draft['msgtext']);
                    $objResponse->assign("f_yt_link", "value", $draft['yt_link']);
                    if ($draft['is_close_comments'] == 't') {
                        $objResponse->script('$("f_is_close_comments").set("checked",true);');
                    }
                    if ($draft['is_private'] == 't') {
                        $objResponse->script('$("f_is_private").set("checked",true);');
                    }
                    $objResponse->assign("f_category", "value", $draft['category'] . '|0');
                    if ($is_edit) {
                        $blogmsg = blogs::GetMsgInfo($draft['post_id'], $error, $perm);
                        $objResponse->assign("f_msg_name", "value", $draft['title']);
                        $objResponse->assign("f_tr", "value", $blogmsg['thread_id']);
                        $objResponse->assign("f_olduser", "value", $blogmsg['fromuser_id']);
                        $objResponse->assign("f_reply", "value", $draft['post_id']);
                        $objResponse->assign("f_action", "value", 'change');
                        $objResponse->assign("f_msg_name", "value", $draft['title']);
                        $objResponse->assign("f_draft_post_id", "value", $draft['post_id']);
                        $objResponse->script("var attrAction = document.createAttribute('action'); attrAction.value='/blogs/view.php?id=" . $draft['post_id'] . "'; \$('f_frm').setAttributeNode(attrAction);");
                    } else {
                        $objResponse->assign("f_name", "value", $draft['title']);
                        $objResponse->assign("f_sub_ord", "value", 'new');
                        $objResponse->assign("f_action", "value", 'new_tr');
                        $objResponse->script("var attrAction = document.createAttribute('action'); attrAction.value='/blogs/viewgroup.php?gr=" . $draft['category'] . "&ord=new&tr='; \$('f_frm').setAttributeNode(attrAction);");
                    }
                    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
                    $attachedfiles = new attachedfiles($attachedfiles_session);
                    $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 1);
                    if ($attachedfiles_tmpdraft_files) {
                        $attachedfiles_draft_files = array();
                        foreach ($attachedfiles_tmpdraft_files as $attachedfiles_draft_file) {
                            $attachedfiles_draft_files[] = $attachedfiles_draft_file;
                        }
                        $attachedfiles->setFiles($attachedfiles_draft_files, 1);
                    }
                    $objResponse->assign("f_attachedfiles_session", "value", $attachedfiles->getSession());
                    $objResponse->assign("f_poll_question", "value", $draft['poll_question']);
                    $objResponse->assign("f_poll_type", "value", $draft['poll_type']);
                    $answers = $draft['poll_answers'];
                    if (count($answers)) {
                        $out = '';
                        foreach ($answers as $answer) {
                            $out .= '<input type="hidden" value="' . htmlspecialchars($answer, ENT_QUOTES) . '" name="answers[]" />';
                        }
                        $objResponse->assign("f_poll_answers", "innerHTML", $out);
                    }
                    $objResponse->script('$("f_frm").submit();');
                    break;
                case 4:
                    // Сообщества
                    $objResponse->assign("f_id", "value", $draft['commune_id']);
                    $objResponse->assign("f_draft_id", "value", $draft['id']);
                    $objResponse->assign("f_category_id", "value", intval($draft['category']));
                    $objResponse->assign("f_title", "value", $draft['title']);
                    $objResponse->assign("f_msgtext", "value", $draft['msg']);
                    $objResponse->assign("f_youtube_link", "value", $draft['yt_link']);
                    if ($draft['close_comments'] == 't') {
                        $objResponse->script('$("f_close_comments").set("checked",true);');
                    }
                    if ($draft['is_private'] == 't') {
                        $objResponse->script('$("f_is_private").set("checked",true);');
                    }
                    if ($is_edit) {
                        $objResponse->assign("f_draft_post_id", "value", $draft['post_id']);
                        $objResponse->assign("f_top_id", "value", $draft['post_id']);
                        $objResponse->assign("f_message_id", "value", $draft['post_id']);
                        $objResponse->assign("f_page", "value", 0);
                        $objResponse->script("var attrAction = document.createAttribute('action'); attrAction.value='" . getFriendlyURL('commune', $draft['post_id']) . "'; \$('f_frm').setAttributeNode(attrAction);");
                        $objResponse->assign("f_action", "value", "do.Edit.post");
                    } else {
                        $objResponse->script("var attrAction = document.createAttribute('action'); attrAction.value='" . getFriendlyURL('commune_commune', $draft['commune_id']) . "#o'; \$('f_frm').setAttributeNode(attrAction);");
                        $objResponse->assign("f_action", "value", "do.Create.post");
                    }
                    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
                    $attachedfiles = new attachedfiles($attachedfiles_session);
                    if (!$is_edit) {
                        $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 2);
                        if ($attachedfiles_tmpdraft_files) {
                            $attachedfiles_draft_files = array();
                            foreach ($attachedfiles_tmpdraft_files as $attachedfiles_draft_file) {
                                $attachedfiles_draft_files[] = $attachedfiles_draft_file;
                            }
                            $attachedfiles->setFiles($attachedfiles_draft_files, 1);
                        }
                    }
                    $objResponse->assign("f_attachedfiles_session", "value", $attachedfiles->getSession());
                    $objResponse->assign("f_poll_question", "value", $draft['poll_question']);
                    $objResponse->assign("f_poll_type", "value", $draft['poll_type']);
                    $answers = $draft['poll_answers'];
                    if (count($answers)) {
                        $out = '';
                        foreach ($answers as $answer) {
                            $out .= '<input type="hidden" value="' . htmlspecialchars($answer, ENT_QUOTES) . '" name="answers[]" />';
                        }
                        $objResponse->assign("f_poll_answers", "innerHTML", $out);
                    }
                    $objResponse->script('$("f_frm").submit();');
                    break;
            }
        }
    }
    return $objResponse;
}
Example #13
0
     if (!preg_match("/^([0-9]{1,2})\\-([0-9]{1,2})\\-([0-9]{4})\$/", $project['win_date'], $o2) || !checkdate($o2[2], $o2[1], $o2[3])) {
         $error['win_date'] = 'Неправильная дата';
     }
     // Модераторам аккуратней
     if (!hasPermissions('projects')) {
         if (!$error['end_date'] && mktime(0, 0, 0, $o1[2], $o1[1], $o1[3]) <= mktime(0, 0, 0)) {
             $error['end_date'] = 'Дата окончания конкурса не может находиться  в прошлом';
         }
         if (!$error['win_date'] && mktime(0, 0, 0, $o2[2], $o2[1], $o2[3]) <= mktime(0, 0, 0, $o1[2], $o1[1], $o1[3])) {
             $error['win_date'] = 'Дата определения победителя должна быть больше даты окончания конкурса';
         }
     }
 }
 $logoOK = __paramInit('bool', NULL, 'logo_ok');
 if ($logoOK) {
     $logoAttach = new attachedfiles($_POST['logo_attachedfiles_session']);
     $logoFiles = $logoAttach->getFiles(array(1, 3));
     if (count($logoFiles)) {
         $logoFile = array_pop($logoFiles);
         // загружено может быть несколько файлов, берем последний
         $logoCFile = new CFile($logoFile['id']);
         $tmpPrj->setLogoNew($logoCFile);
         $logoAttach->setStatusTo3($logoFile['id']);
     } elseif ($_POST['logo_file_id']) {
         //$logoCFile = new CFile(__paramInit('int', null, 'logo_file_id'));
         //$tmpPrj->setLogoNew($logoCFile);
     } else {
         if ($_POST['is_exec_quickprj'] != 1) {
             $error['logo'] = 'Необходимо выбрать файл';
         }
     }
/**
 * Новое сообщение в заказе ТУ
 * 
 * @global type $orderModel
 * @param type $order_id
 * @param type $message
 * @param type $sess
 * @return \xajaxResponse
 */
function tservicesOrdersNewMessage($order_id, $message, $sess)
{
    global $orderModel;
    $uid = get_uid(false);
    $objResponse =& new xajaxResponse();
    $orderModel->attributes(array('is_adm' => hasPermissions('tservices')));
    $orderData = $orderModel->getCard($order_id, $uid);
    //Если не существует или статус не подходящий
    if (!$orderData) {
        return $objResponse;
    }
    $author_id = $uid;
    $reciever_id = is_emp() ? $orderData['frl_id'] : $orderData['emp_id'];
    //@todo: Зачем делаем reformat? это только функция ворматирования!
    //@todo: где валидация на кол-во симолов?
    //@todo: "reformat(htmlspecialchars(strip_tags(" это для кучи?
    //если есть теги то нужно показвать их а не вырезать
    $text = reformat(htmlspecialchars(strip_tags($message)), 30);
    $modelMsg = TServiceMsgModel::model();
    $mes_id = $modelMsg->add($order_id, $uid, $reciever_id, $text);
    if (!$mes_id) {
        return $objResponse;
    }
    TServiceOrderModel::touchOrder($order_id, is_emp());
    $modelMsg->addAttached($sess, $mes_id);
    $message = $modelMsg->getCard($mes_id);
    if (!$message) {
        return $objResponse;
    }
    $attachedfiles = new attachedfiles();
    $sess = $attachedfiles->getSession();
    $objResponse->script("TServices_Order_Messages.updateAttachSession('{$sess}');");
    $sHtml = Template::render(ABS_PATH . '/tu/tpl.order-msg.php', array('messages' => array($message), 'order' => $orderData));
    $mail = new pmail();
    if ($uid != $orderData['frl_id']) {
        $mail->NewTserviceMessage($uid, $orderData['frl_id'], $orderData, stripslashes($text));
    }
    if ($uid != $orderData['emp_id']) {
        $mail->NewTserviceMessage($uid, $orderData['emp_id'], $orderData, stripslashes($text));
    }
    $objResponse->script("\$('messages').getElements('div.b-layout').removeClass('b-layout_margbot_10')" . ".removeClass('b-fon')" . ".removeClass('b-fon_bg_e4faeb')" . ".removeClass('b-fon_pad_10')" . ".addClass('b-layout_margbot_20');");
    $objResponse->prepend('messages', 'innerHTML', $sHtml);
    return $objResponse;
}
Example #15
0
/**
 * Ресет загрузки файлов.
 *
 * @return object xajaxResponse
 */
function resetAttachedFiles()
{
    $objResponse = new xajaxResponse();
    if (hasPermissions('letters') && hasPermissions('adm')) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
        $attachedfiles = new attachedfiles('', true);
        $asid = $attachedfiles->createSessionID();
        $attachedfiles->addNewSession($asid);
        ob_start();
        echo '<div id="attachedfiles">';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/siteadmin/letters/tpl.attachedfiles.php';
        echo '</div>';
        echo "<input type='hidden' id='attachedfiles_uid' name='attachedfiles_uid' value='" . get_uid(false) . "'>";
        echo "<input type='hidden' id='attachedfiles_action' name='attachedfiles_action' value=''>";
        echo "<input type='hidden' id='attachedfiles_delete' name='attachedfiles_delete' value=''>";
        echo "<input type='hidden' id='attachedfiles_type' name='attachedfiles_type' value='letters'>";
        echo "<input type='hidden' id='attachedfiles_session' name='attachedfiles_session' value='" . $asid . "'>";
        echo "<iframe id='attachedfiles_hiddenframe' name='attachedfiles_hiddenframe' style='display:none;'></iframe>";
        $html = ob_get_contents();
        ob_end_clean();
        $objResponse->assign('letters_div_attach', 'innerHTML', $html);
        $objResponse->script("(function () {\n                                    var attachedfiles_list = new Array();\n\n\n                                    attachedFiles.initComm( 'attachedfiles', \n                                                            '{$asid}',\n                                                            attachedfiles_list, \n                                                            '1',\n                                                            '" . letters::MAX_FILE_SIZE . "',\n                                                            '" . implode(', ', $GLOBALS['disallowed_array']) . "',\n                                                            'letters',\n                                                            '" . get_uid(false) . "'\n                                                            );\n                                })();\n                                \$('wd_file_add').setStyle('display', 'table');\n                                ");
        //$objResponse->script("$('f_button_actionwork').addClass('b-button_rectangle_color_disable');");
        $objResponse->script('status_can_submit = true;');
        $objResponse->script('if (attachedFiles.newDesign) attachedFiles.initCommDomready();');
    }
    return $objResponse;
}
Example #16
0
 public function paidOperation($id)
 {
     global $DB;
     if (!$id) {
         return false;
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
     $operation = $DB->row('SELECT * FROM draft_account_operations WHERE id = ? AND status IS NULL', $id);
     $account = new account();
     $this->_transactionId = $account->start_transaction($_SESSION['uid'], $this->_transactionId);
     switch ($operation['op_type']) {
         case 'project':
             $project = $DB->row('SELECT id, payed_info FROM projects WHERE id = ?i', $operation['parent']);
             if (!$project['id']) {
                 return 'Ошибка обработки операции.';
             }
             if ($account->sum >= $operation['ammount']) {
                 if ($error = $account->Buy($bill_id, $this->_transactionId, $operation['op_code'], $_SESSION['uid'], trim($operations['descr'], '/'), trim($operations['comments'], '/'), 1, true)) {
                     return $error;
                 }
             }
             if (!$bill_id) {
                 return 'Не хватает денег.';
             }
             $update = array();
             switch ($operation['option']) {
                 case 'color':
                     $update['is_color'] = true;
                     $update['payed_items'] = $project['payed_info'] | '010';
                     break;
                 case 'bold':
                     $update['is_bold'] = true;
                     $update['payed_items'] = $project['payed_info'] | '001';
                     break;
                 case 'top':
                     $update['top_from'] = date('d.m.Y H:i', strtotime('now'));
                     $update['top_to'] = date('d.m.Y H:i', strtotime("now +{$operation['op_count']} day"));
                     break;
                 case 'logo':
                     $update['logo_id'] = $operation['src_id'];
                     $update['payed_items'] = $project['payed_info'] | '100';
                     break;
             }
             $update['billing_id'] = $bill_id;
             $DB->update('projects', $update, 'id = ?', $operation['parent']);
             header('Location: /bill/success/');
             exit;
             break;
         case 'contest':
             // Публикация конкурса
             if ($account->sum >= $operation['ammount']) {
                 if ($error = $account->Buy($bill_id, $this->_transactionId, $operation['op_code'], $_SESSION['uid'], trim($operations['descr'], '/'), trim($operations['comments'], '/'), 1, true)) {
                     return $error;
                 }
             }
             if (!$bill_id) {
                 return 'Не хватает денег.';
             }
             $key = md5(microtime());
             $prj = new tmp_project($key);
             if (get_uid()) {
                 $prj->init(1);
             }
             $draft = new drafts();
             $project = $drafts->getDraft($operation['parent'], $_SESSION['uid'], 1);
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
             $attachedfiles = new attachedfiles();
             $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($operation['parent'], 4);
             if ($attachedfiles_tmpdraft_files) {
                 $attachedfiles_prj_files = array();
                 foreach ($attachedfiles_tmpdraft_files as $attachedfiles_draft_file) {
                     $attachedfiles_draft_files[] = $attachedfiles_draft_file;
                 }
                 $attachedfiles->setFiles($attachedfiles_draft_files, 1);
             }
             $insert = array('user_id' => $_SESSION['uid'], 'name' => $project['name'], 'descr' => $project['descr'], 'kind' => $project['kind'], 'cost' => $project['cost'], 'currency' => $project['currency'], 'country' => $project['country'] > 0 ? $project['country'] : 'NULL', 'city' => $project['city'] > 0 ? $project['city'] : 'NULL', 'payed' => '0', 'pro_only' => $project['pro_only'], 'logo_id' => 'NULL', 'link' => $project['logo_link'], 'is_color' => 'f', 'is_bold' => 'f', 'billing_id' => 0, 'payed_items' => '000', 'folder_id' => 0, 'budget_type' => $project['budget_type'], 'priceby' => $project['priceby'], 'prefer_sbr' => $project['prefer_sbr'], 'end_date' => $project['p_end_date'], 'win_date' => $project['p_win_date']);
             if (!empty($project['categories'])) {
                 $cat = explode('|', $project['categories']);
                 $categories[0] = array('category_id' => intval($cat[0]), 'subcategory_id' => intval($cat[1]));
             }
             $create = $prj->addPrj($insert, $attachedfiles_draft_files, $categories);
             // Добавляем проект
             if ($create) {
                 $drafts->DeleteDraft($draft_id, $uid, 1);
                 header('Location: /bill/success/');
                 exit;
             }
             break;
         case 'account':
             // Покупка ПРО
             break;
     }
 }
Example #17
0
     $max_files_size = 1024 * 1024;
     // 1 мб
     $max_files = 10;
     $imageTypes = array(2, 3);
     $maxImageHeight = 100;
     $maxImageWidth = 100;
     $dir = $login . '/foto';
     break;
 case 'project_logo':
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/projects.php";
     $cFile->server_root = true;
     $dir = 'users/' . substr($login, 0, 2) . '/' . $login . "/tmpproj/";
     $cFile->table = 'file_projects';
     $cFile->disable_animate = true;
     // так как для логотипа нужен только один файл, то удаляем все файлы текущей сессии кроме последнего, на случай если файл по какой-то причине не подойдет или не загрузится
     $aFiles = new attachedfiles($sess);
     $logos = $aFiles->getFiles(array(1));
     if (is_array($logos)) {
         while (count($logos) > 1) {
             $logos = array_splice($logos, 0, 1);
             $aFiles->delete($logos['id']);
         }
     }
     $max_files_size = new_projects::LOGO_SIZE;
     $max_files = 10;
     $imageTypes = array(1, 2, 3);
     $cFile->max_image_size = array('width' => 150, 'height' => 150, 'less' => 0);
     $cFile->resize = 1;
     $cFile->proportional = 1;
     $cFile->crop = 1;
     break;
function quickprjedit_get_prj($prj_id)
{
    $objResponse = new xajaxResponse();
    if (hasPermissions('projects')) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php';
        $categories = professions::GetAllGroupsLite();
        $professions = professions::GetAllProfessions();
        array_group($professions, 'groupid');
        $professions[0] = array();
        $oprj = new new_projects();
        $project = $oprj->getPrj($prj_id);
        if ($project['id']) {
            $project_categories = $oprj->getSpecs($project['id']);
            if (empty($project_categories)) {
                $project_categories[] = array('category_id' => 0, 'subcategory_id' => 0);
            }
            $html_categories = '';
            foreach ($project_categories as $project_category) {
                $html_categories .= "<div id='category_line'>\n                                        <select name='categories[]' class='b-select__select b-select__select_width_180' onchange='popupQEditPrjRefreshSubCategory(this);'>\n                                            <option value='0'>Выберите раздел</option>\n                                     ";
                foreach ($categories as $cat) {
                    if ($cat['id'] <= 0) {
                        continue;
                    }
                    $html_categories .= "<option value='{$cat['id']}' " . ($project_category['category_id'] == $cat['id'] ? ' selected' : '') . ">{$cat['name']}</option>";
                }
                $html_categories .= "</select>\n                                        <select name='subcategories[]' class='b-select__select b-select__select_width_180'>\n                                    ";
                $categories_specs = $professions[$project_category['category_id']];
                for ($i = 0; $i < sizeof($categories_specs); ++$i) {
                    $html_categories .= "<option value='{$categories_specs[$i]['id']}'" . ($categories_specs[$i]['id'] == $project_category['subcategory_id'] ? ' selected' : '') . ">{$categories_specs[$i]['profname']}</option>";
                }
                $html_categories .= "      <option value='0' " . ($project_category['subcategory_id'] == 0 ? ' selected' : '') . '>Все специализации</option>
                                        </select>
                                     </div>
                                     ';
            }
            $countries = country::GetCountries();
            if ($project['country']) {
                $cities = city::GetCities($project['country']);
            }
            $html_location = '';
            $html_location .= "<div><select id='popup_qedit_prj_fld_country' name='country' onChange='popupQEditPrjCityUpd(this.value);'><option value='0'>Страна</option>";
            foreach ($countries as $country_id => $country) {
                $html_location .= "<option value='{$country_id}' " . ($country_id == $project['country'] ? 'selected' : '') . ">{$country}</option>";
            }
            $html_location .= '</select></div>';
            $html_location .= "<div id='frm_city'><select name='city'><option value='0'>Город</option>";
            if ($cities) {
                foreach ($cities as $city_id => $city) {
                    $html_location .= "<option value='{$city_id}' " . ($city_id == $project['city'] ? 'selected' : '') . ">{$city}</option>";
                }
            }
            $html_location .= '</select>';
            $objResponse->assign('popup_qedit_prj_fld_id', 'value', $project['id']);
            $objResponse->assign('popup_qedit_prj_fld_name', 'value', htmlspecialchars_decode($project['name'], ENT_QUOTES));
            $objResponse->assign('popup_qedit_prj_fld_descr', 'value', htmlspecialchars_decode($project['descr'], ENT_QUOTES));
            $objResponse->assign('popup_qedit_prj_fld_categories', 'innerHTML', $html_categories);
            $objResponse->assign('popup_qedit_prj_fld_location', 'innerHTML', $html_location);
            $objResponse->script('$("popup_qedit_prj_fld_kind_1").set("checked", false);');
            switch ($project['kind']) {
                case 1:
                    $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "none");');
                    $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "none");');
                    $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "block");');
                    $objResponse->script('$("popup_qedit_prj_fld_kind_1").set("checked", true);');
                    $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "none");');
                    break;
                case 2:
                    //$objResponse->script('$("sbr_text_block").setStyle("display", "none");');
                    break;
                case 4:
                    $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "none");');
                    $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "none");');
                    $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "block");');
                    $objResponse->script('$("popup_qedit_prj_fld_kind_2").set("checked", true);');
                    $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "block");');
                    break;
                case 7:
                    $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "block");');
                    $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "block");');
                    $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "none");');
                    $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "none");');
                    $objResponse->script('$("popup_qedit_prj_fld_end_date").set("value", "' . date('d-m-Y', strtotime($project['end_date'])) . '");');
                    $objResponse->script('$("popup_qedit_prj_fld_win_date").set("value", "' . date('d-m-Y', strtotime($project['win_date'])) . '");');
                    break;
            }
            if ($project['pro_only'] == 't') {
                $objResponse->script('$("popup_qedit_prj_fld_pro_only").set("checked", true);');
            } else {
                $objResponse->script('$("popup_qedit_prj_fld_pro_only").set("checked", false);');
            }
            if ($project['verify_only'] == 't') {
                $objResponse->script('$("popup_qedit_prj_fld_verify_only").set("checked", true);');
            } else {
                $objResponse->script('$("popup_qedit_prj_fld_verify_only").set("checked", false);');
            }
            if ($project['prefer_sbr'] == 't') {
                $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", true);');
            } else {
                $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", false);');
            }
            if ($project['strong_top'] == 1) {
                $objResponse->script('$("popup_qedit_prj_fld_strong_top").set("checked", true);');
            } else {
                $objResponse->script('$("popup_qedit_prj_fld_strong_top").set("checked", false);');
            }
            /*if($project['prefer_sbr']=='t') {
                  $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", true);');
              } else {
                  $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", false);');
              }*/
            $objResponse->script("var mx = new MultiInput('popup_qedit_prj_fld_categories','category_line', " . (int) ($project['is_pro'] === 't') . '); mx.init();');
            require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
            $attchedfiles = new attachedfiles($attachedfiles_session);
            $attachedfiles_tmpprj_files = $oprj->GetAllAttach($project['id']);
            if ($attachedfiles_tmpprj_files) {
                $attachedfiles_prj_files = array();
                foreach ($attachedfiles_tmpprj_files as $attachedfiles_prj_file) {
                    $attachedfiles_prj_files[] = $attachedfiles_prj_file['file_id'];
                }
                $attchedfiles->setFiles($attachedfiles_prj_files);
            }
            $attachedfiles_files = $attchedfiles->getFiles();
            $js_attachedfiles = 'attachedfiles_list = [];';
            if ($attachedfiles_files) {
                $n = 0;
                foreach ($attachedfiles_files as $attachedfiles_file) {
                    $js_attachedfiles .= "attachedfiles_list[{$n}] = new Object;\n";
                    $js_attachedfiles .= "attachedfiles_list[{$n}].id = '" . md5($attachedfiles_file['id']) . "';\n";
                    $js_attachedfiles .= "attachedfiles_list[{$n}].name = '{$attachedfiles_file['orig_name']}';\n";
                    $js_attachedfiles .= "attachedfiles_list[{$n}].path = '" . WDCPREFIX . "/{$attachedfiles_file['path']}{$attachedfiles_file['name']}';\n";
                    $js_attachedfiles .= "attachedfiles_list[{$n}].size = '" . ConvertBtoMB($attachedfiles_file['size']) . "';\n";
                    $js_attachedfiles .= "attachedfiles_list[{$n}].type = '{$attachedfiles_file['type']}';\n";
                    ++$n;
                }
            }
            $objResponse->script($js_attachedfiles);
            $objResponse->script("attachedFiles.init('popup_qedit_prj_attachedfiles', '" . $attchedfiles->getSession() . "', attachedfiles_list, " . tmp_project::MAX_FILE_COUNT . ', ' . tmp_project::MAX_FILE_SIZE . ",'" . implode(', ', $GLOBALS['disallowed_array']) . "', 'project', " . get_uid(false) . ');');
            if ($project['is_color'] == 't') {
                $objResponse->script("\$('popup_qedit_prj_is_color').set('checked', true); popupQEditPrjToggleIsColor();");
            } else {
                $objResponse->script("\$('popup_qedit_prj_is_color').set('checked', false); popupQEditPrjToggleIsColor();");
            }
            if ($project['is_bold'] == 't') {
                $objResponse->script("\$('popup_qedit_prj_is_bold').set('checked', true); popupQEditPrjToggleIsBold();");
            } else {
                $objResponse->script("\$('popup_qedit_prj_is_bold').set('checked', false); popupQEditPrjToggleIsBold();");
            }
            if ($project['hide'] == 't') {
                $objResponse->script("\$('popup_qedit_prj_is_hide').set('checked', true); ");
            } else {
                $objResponse->script("\$('popup_qedit_prj_is_hide').set('checked', false); ");
            }
            if ($project['urgent'] == 't') {
                $objResponse->script("\$('popup_qedit_prj_is_urgent').set('checked', true); ");
            } else {
                $objResponse->script("\$('popup_qedit_prj_is_urgent').set('checked', false); ");
            }
            $objResponse->assign('popup_qedit_prj_logolink', 'value', $project['link']);
            $key = md5(uniqid($uid));
            $tmpPrj = new tmp_project($key);
            $tmpPrj->init(1, $project['id']);
            $remTPeriod = $tmpPrj->getRemainingTopPeriod($remTD, $remTH, $remTM, $remtverb);
            $addedTD = $tmpPrj->getAddedTopDays();
            $objResponse->assign('popup_qedit_prj_fld_tmpid', 'value', $key);
            if ($remTPeriod || $addedTD) {
                $objResponse->script('$("popup_qedit_prj_top_ok").set("checked", true);');
                $objResponse->script('$("popup_qedit_prj_top_ok").set("disabled", true);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("value", "1");');
                $objResponse->script('$("popup_qedit_prj_top_ok_icon").setStyle("display", "block");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab1").setStyle("display", "none");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2").setStyle("display", "block");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("disabled", true);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("checked", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("disabled", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("disabled", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("value", "1");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_left").set("html", "' . $remtverb . ' ' . $remTPeriod . '");');
            } else {
                $objResponse->script('$("popup_qedit_prj_top_ok").set("checked", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok").set("disabled", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("value", "1");');
                $objResponse->script('$("popup_qedit_prj_top_ok_icon").setStyle("display", "none");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab1").setStyle("display", "none");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2").setStyle("display", "none");');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("disabled", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("checked", false);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("disabled", true);');
                $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("disabled", true);');
            }
            if ($project['logo_id']) {
                $logo = $tmpPrj->getLogo();
                $objResponse->script('$("popup_qedit_prj_use_logo_src").set("href", "' . WDCPREFIX . '/' . $logo['path'] . $logo['name'] . '");');
                $objResponse->script('$("popup_qedit_prj_use_logo").set("checked", true);');
                $objResponse->script('$("popup_qedit_prj_use_logo").set("disabled", true);');
                $objResponse->script('$("popup_qedit_prj_use_logo_tab").setStyle("display", "block");');
                $objResponse->script('$("popup_qedit_prj_use_logo_tab2").setStyle("display", "none");');
            } else {
                $objResponse->script('$("popup_qedit_prj_use_logo").set("checked", false);');
                $objResponse->script('$("popup_qedit_prj_use_logo").set("disabled", false);');
                $objResponse->script('$("popup_qedit_prj_use_logo_tab").setStyle("display", "none");');
                $objResponse->script('$("popup_qedit_prj_use_logo_tab2").setStyle("display", "none");');
            }
            $tmpPrj->fix();
            $objResponse->call('center_popup', '.b-shadow_center-quick');
        }
    }
    return $objResponse;
}
Example #19
0
     }
 }
 $countfiles = blogs::GetAttachCount($thread) + count($files) - count($attach_delete);
 if ($countfiles > blogs::MAX_FILES) {
     $error_flag = 1;
     $alert[3] = 'Максимальное кол-во файлов для загрузки: ' . blogs::MAX_FILES;
 }
 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
 $attachedfiles_session = $_POST['attachedfiles_session'];
 if (!$attachedfiles_session) {
     $attachedfiles = new attachedfiles('', true);
     $asid = $attachedfiles->createSessionID();
     $attachedfiles->addNewSession($asid);
     $attachedfiles_session = $asid;
 } else {
     $attachedfiles = new attachedfiles($attachedfiles_session);
     $asid = $attachedfiles_session;
 }
 $attachedfiles_info = $attachedfiles->calcFiles();
 if ($attachedfiles_session) {
     $countfiles = 0;
 }
 if ($msg === '' && $question === '' && empty($alert[5]) && !($countfiles || $attachedfiles_info['count']) && $yt_link === '') {
     $error_flag = 1;
     $alert[2] = 'Ошибка. Сообщение не должно быть пустым!';
 } elseif (!$error && !$error_flag && ($msg !== '' || $attach['name'] || $attach_have || $attach_delete || $question || $yt_link || $attachedfiles_info['count'])) {
     $blog_obj->Edit($_SESSION['uid'], $thread, $msg, $msg_name, $files, getRemoteIP(), $err, $mod, NULL, $gr, $t, $attach_delete, $olduserlogin, $yt_link, $close_comments, $is_private, $ontop, null, $question, $answers, $answers_exists, $multiple);
     //$nStopWordsCnt = $stop_words->calculate( $msg, $msg_name, $question, $answers, $answers_exists );
     $attachedfiles_files = $attachedfiles->getFiles(array(1, 3, 4));
     $blog_obj->addAttachedFiles($attachedfiles_files, $thread, $olduserlogin, $draft_id ? true : false);
     $attachedfiles->clear();
Example #20
0
$uid = get_uid(false);
if (!$uid) {
    return;
}
if (is_array($_POST['attachedfiles_session'])) {
    reset($_POST['attachedfiles_session']);
    $_POST['attachedfiles_session'] = current($_POST['attachedfiles_session']);
}
if (!$_POST['attachedfiles_session']) {
    $generate_session = attachedfiles::createSessionID();
    $_POST['attachedfiles_session'] = $generate_session;
}
$action = $_POST['attachedfiles_action'];
$type = $_POST['attachedfiles_type'];
$sess = $_POST['attachedfiles_session'];
$attachedfiles = new attachedfiles($sess);
switch ($action) {
    case 'add':
        if (is_array($_FILES['attachedfiles_file']) && !$_FILES['attachedfiles_file']['error']) {
            $login = $_SESSION['login'];
            $dir = $login . '/attach';
            $cFile = new CFile($_FILES['attachedfiles_file']);
            $cFile->table = 'file';
            switch ($type) {
                case 'contacts':
                    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
                    $max_files = messages::MAX_FILES;
                    $max_files_size = messages::MAX_FILE_SIZE;
                    break;
                case 'blog':
                    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
Example #21
0
 /**
  * Регистрирует новое личное сообщение.
  *
  * @param int    $user_id               id пользователя-отправителя 
  * @param string $target_login          логин пользователя-получателя
  * @param string $text                  текст сообщения
  * @param array  $files                 прикрепленные файлы
  * @param int    $force                 разрешение/отказ ответа на письмо (1/0)
  * @param bool   $skip_mail             Если TRUE - не отправлять уведомление о новом сообщении на емайл.
  * @param string $attachedfiles_session ID сессии загруженных файлов
  *
  * @return mixed сообщение об ошибке и флаг ошибки в случае ее возниконовения
  */
 public function Add($user_id, $target_login, $text, $files, $force = 0, $skip_mail = false, $attachedfiles_session = null, &$message_id = 0)
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/ignor.php';
     $users = new users();
     $login = $users->GetName($user_id, $err);
     $tar_id = $users->GetUid($err, $target_login);
     if ((ignor::CheckIgnored($tar_id, $user_id) || in_array($target_login, array('admin', 'Anonymous'))) && !$force) {
         $error = 'Пользователь запретил отправлять ему сообщения';
     } else {
         if ($files) {
             if (count($files) > self::MAX_FILES) {
                 $alert[1] = 'Вы не можете прикрепить больше ' . self::MAX_FILES . ' файлов к сообщению.';
             } else {
                 $max_file_size = self::MAX_FILE_SIZE;
                 foreach ($files as $file) {
                     $ext = $file->getext();
                     $file->max_size = $max_file_size;
                     $max_file_size -= $file->size;
                     if (!in_array($ext, $GLOBALS['disallowed_array'])) {
                         $f_name = $file->MoveUploadedFile($login['login'] . '/contacts');
                         if (!isNulArray($file->error)) {
                             if ($max_file_size < 0) {
                                 $alert[1] = 'Вы превысили максимально допустимый размер файлов';
                             } else {
                                 $alert[1] = $GLOBALS['PDA'] ? 'Файл не удовлетворяет условиям загрузки' : 'Один или несколько файлов не удовлетворяют условиям загрузки.';
                             }
                             break;
                         }
                     } else {
                         $alert[1] = $GLOBALS['PDA'] ? 'Файл не удовлетворяет условиям загрузки' : 'Один или несколько файлов имеют неправильный формат.';
                     }
                 }
             }
         }
         if (empty($alert) && empty($error)) {
             $memBuff = new memBuff();
             // автоматические папки для массовых рассылок личных менеджеров
             global $aPmUserUids;
             if (in_array($tar_id, $aPmUserUids) || SERVER === 'local' || SERVER === 'beta' || SERVER === 'alpha') {
                 $DBproxy = new DB();
                 $nRecId = $DBproxy->val('SELECT mess_pm_ustf_add(?i, ?i)', $tar_id, $user_id);
                 if ($nRecId) {
                     $memBuff->delete('pmAutoFolder' . $tar_id . '_' . $nRecId);
                 }
             }
             //---------------------------------------------
             $DB = new DB();
             $f = array();
             if ($files) {
                 foreach ($files as $file) {
                     $f[] = $file->id;
                 }
             }
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
             $attachedfiles = new attachedfiles($attachedfiles_session);
             $attachedfiles_files = $attachedfiles->getFiles();
             if ($attachedfiles_files) {
                 foreach ($attachedfiles_files as $attachedfiles_file) {
                     $cFile = new CFile($attachedfiles_file['id']);
                     $cFile->table = 'file';
                     $ext = $cFile->getext();
                     $tmp_dir = 'users/' . substr($login['login'], 0, 2) . '/' . $login['login'] . '/contacts/';
                     $tmp_name = $cFile->secure_tmpname($tmp_dir, '.' . $ext);
                     $tmp_name = substr_replace($tmp_name, '', 0, strlen($tmp_dir));
                     $cFile->_remoteCopy($tmp_dir . $tmp_name, true);
                     $f[] = $cFile->id;
                 }
             }
             $attachedfiles->clear();
             $aNoMod = array_merge($GLOBALS['aContactsNoMod'], $GLOBALS['aPmUserUids']);
             //$bNoMod = hasPermissions('streamnomod', $user_id) || hasPermissions('streamnomod', $tar_id) || is_pro(true, $user_id) || is_pro(true, $tar_id) || in_array($user_id, $aNoMod);
             $bNoMod = true;
             // #0022344: Убрать из потоков личку
             $message_id = $DB->val('SELECT messages_add(?i, ?i, ?, ?b, ?a, ?b)', $user_id, $tar_id, $text, $skip_mail, $f, $bNoMod);
             if ($user_id % 2 == $tar_id % 2) {
                 $memBuff->delete(self::MEMBUFF_CHAT_PREFIX . $tar_id);
             }
             if ($message_id && !$skip_mail && !QChat::active($tar_id)) {
                 $mail = new pmail();
                 $mail->NewMessage($user_id, $tar_id, stripslashes($text));
             }
             if ($message_id) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/external/base.php';
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/external/api/api.php';
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/external/api/mobile.php';
                 externalApi_Mobile::addPushMsg($tar_id, 'message', array('from_user_id' => get_uid(false), 'text' => stripslashes($text)));
             }
         }
     }
     return array($alert, $error);
 }
Example #22
0
            <input type="hidden" name="site" value="<?php 
    echo $site;
    ?>
" />
            <input type="hidden" name="action" value="arbitration" />
        </div>
        <div class="b-shadow__tl"></div>
        <div class="b-shadow__tr"></div>
        <div class="b-shadow__bl"></div>
        <div class="b-shadow__br"></div>
        <div class="b-shadow__icon b-shadow__icon_close" onclick="toggle_arb();"></div>
    </form>
</div> 
</div>   
<?php 
    echo attachedfiles::getFormTemplate('attachedfiles_arb', 'sbr', array('maxsize' => sbr::MAX_FILE_SIZE, 'maxfiles' => sbr::MAX_FILES, 'graph_hint' => false));
    ?>
<script type="text/javascript">
window.addEvent("domready", function () {
    new attachedFiles2( $('arbitrageFrm').getElement('.attachedfiles_arb'), {
        'hiddenName':   'attaches[]',
        'files':        <?php 
    echo json_encode($attachedfiles_files_arb);
    ?>
    }, '<?php 
    echo $attachedfiles_arb->session[0];
    ?>
');
    });
</script>
<?php 
Example #23
0
     $sReason = "Аккаунт удален самостоятельно";
     if ($user_obj->setUserBan(get_uid(), 0, $sReason, 4, '', 1, true)) {
         // если удалось заблокировать аккаунт
         // пишем лог
         admin_log::addLog(admin_log::OBJ_CODE_USER, admin_log::ACT_ID_DEL_ACC, $sUid, $sUid, $sObjName, $sObjLink, 1, '', null, $sReason);
         header("Location: /users/{$user}");
     }
     break;
 case 'real_name_splash':
     // сохранение имени, фамилии и юзерпика с соответствующего сплэш-скрина
     require_once ABS_PATH . "/classes/users.php";
     require_once ABS_PATH . "/classes/attachedfiles.php";
     require_once ABS_PATH . "/classes/CFile.php";
     $userObj = new users();
     $userID = get_uid();
     $aFiles = new attachedfiles($_POST['attachedfiles_session']);
     $userpics = $aFiles->getFiles(array(1));
     if (is_array($userpics) && !empty($userpics)) {
         $userpic = array_pop($userpics);
         $aFiles->setStatusTo3($userpic['id']);
         $foto = new CFile($userpic['id']);
         $to = $foto->path . 'sm_' . $foto->name;
         $foto->resizeImage($to, 50, 50, 'auto', true);
         $userObj->photo = $userpic['name'];
     }
     $name = change_q(substr(trim($_POST['name']), 0, 21), true);
     $surname = change_q(substr(trim($_POST['surname']), 0, 21), true);
     if ($name && !preg_match("/^[-a-zA-Zа-яёА-ЯЁ]+\$/", $name)) {
         $error_flag = 1;
         $alert[1] = "Поле заполнено некорректно";
     }
Example #24
0
                                <div id="attachedfiles_close_info" class="b-shadow__icon_close"></div>
                            </div>
                        </div>
                    </td>
                </tr>
            </table>
        </div>
    </div>
</div>
<script type="text/javascript">
    (function () {
        var attachedfiles_list = new Array();
        <?php 
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
    $attachedfiles_session = $_POST['attachedfiles_session'];
    $attachedfiles = new attachedfiles($attachedfiles_session);
    if ($draft_id) {
        if (!$attachedfiles_session) {
            $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 2);
            if ($attachedfiles_tmpdraft_files) {
                $attachedfiles_prj_files = array();
                foreach ($attachedfiles_tmpdraft_files as $attachedfiles_draft_file) {
                    $attachedfiles_draft_files[] = $attachedfiles_draft_file;
                }
                $attachedfiles->setFiles($attachedfiles_draft_files, 1);
            }
        }
    } else {
        if ($action == 'Edit.post' && !$alert) {
            $attachedfiles_tmpblog_files = commune::getAttachedFiles($top['id']);
            if ($attachedfiles_tmpblog_files) {
Example #25
0
function CreateCommentForm($backto, $top_id, $message_id, $commune_id, $om, $page = 0, $action = 'Create.post', $mod, $adv = 0, $draft_id = 0, $attachedfiles_session = '')
{
    global $session;
    session_start();
    commune::RestoreMarkedAttach($message_id);
    $objResponse = new xajaxResponse();
    if ($action == 'Create.post') {
        // Комментируем сообщение.
        $objResponse->assign($backto, 'style.position', 'static');
        $objResponse->assign($backto, 'innerHTML', __commPrntCommentForm($commune_id, $om, $page, $action, $top_id, NULL, $message_id, NULL, NULL, !$page ? 'Topic' : NULL, $mod));
    } else {
        // Выводим форму с атрибутами сообщения.
        $objResponse->assign($backto, 'style.position', 'static');
        $objResponse->assign($backto, 'innerHTML', __commPrntCommentForm($commune_id, $om, $page, $action, $top_id, $message_id, NULL, NULL, NULL, !$page ? 'Topic' : NULL, $mod, 0, $draft_id));
    }
    $objResponse->script(" var editMsg = document.getElementById('{$backto}');\n    if(__commLastOpenedForm!=editMsg) {\n      try { \n        if(!__commLastOpenedForm) {\n          var ___acf = document.getElementById('idAlertedCommentForm');\n          if(___acf && ___acf.parentNode)\n            __commLastOpenedForm = ___acf.parentNode;\n        }\n        __commLastOpenedForm.innerHTML = ''; __commLastOpenedForm.style.position='absolute'; \n      } catch(e) {}\n    }\n    __commLastOpenedForm  = editMsg;\n    __commLastOpenedForm.action = '{$action}';\n\t\n\tpoll.init('Commune', document.getElementById('" . $backto . "'), " . commune::POLL_ANSWERS_MAX . ", '" . $_SESSION['CommunePoll_Sess'] . "');\n\tif (document.getElementById('question')) maxChars('question', 'polls_error', " . commune::POLL_QUESTION_CHARS_MAX . ");\n\teditMsg.scrollIntoView(true);\n\t//new mAttach(document.getElementById('files_block'), " . (commune::MAX_FILES - $adv) . ");\n        //mA = new mAttach2(document.getElementById('files_block'), " . (commune::MAX_FILES - $adv) . ", {p:'btn-add', m:'btn-del', nv:true});\n  ");
    $js = "var attachedfiles_list = new Array();\n";
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    $attachedfiles = new attachedfiles($attachedfiles_session);
    $attachedfiles_tmpcomm_files = commune::getAttachedFiles($message_id);
    if ($attachedfiles_tmpcomm_files) {
        $attachedfiles_comm_files = array();
        foreach ($attachedfiles_tmpcomm_files as $attachedfiles_comm_file) {
            $attachedfiles_comm_files[] = $attachedfiles_comm_file;
        }
        $attachedfiles->setFiles($attachedfiles_comm_files);
    }
    $attachedfiles_files = $attachedfiles->getFiles();
    if ($attachedfiles_files) {
        $n = 0;
        foreach ($attachedfiles_files as $attachedfiles_file) {
            $js .= "attachedfiles_list[{$n}] = new Object;\n";
            $js .= "attachedfiles_list[{$n}].id = '" . md5($attachedfiles_file['id']) . "';\n";
            $js .= "attachedfiles_list[{$n}].name = '{$attachedfiles_file['orig_name']}';\n";
            $js .= "attachedfiles_list[{$n}].path = '" . WDCPREFIX . "/{$attachedfiles_file['path']}{$attachedfiles_file['name']}';\n";
            $js .= "attachedfiles_list[{$n}].size = '" . ConvertBtoMB($attachedfiles_file['size']) . "';\n";
            $js .= "attachedfiles_list[{$n}].type = '{$attachedfiles_file['type']}';\n";
            ++$n;
        }
    }
    $js .= "attachedFiles.init('attachedfiles', \n                               '" . $attachedfiles->getSession() . "',\n                               attachedfiles_list, \n                               '" . commune::MAX_FILES . "',\n                               '" . commune::MAX_FILE_SIZE . "',\n                               '" . implode(', ', $GLOBALS['disallowed_array']) . "',\n                               'commune',\n                               '" . get_uid(false) . "'\n                            );";
    $objResponse->script($js);
    $objResponse->call('initWysiwyg');
    $objResponse->call('tawlTextareaInit');
    if ($action != 'Create.post') {
        $objResponse->script('DraftInit(4);');
    }
    return $objResponse;
}
Example #26
0
     $reserveInstance = ReservesModelFactory::getInstance(ReservesModelFactory::TYPE_TSERVICE_ORDER);
     $hasReserve = $reserveInstance->hasReserveByUserId($uid);
     $reqvs[$form_type]['validate_status'] = ($hasReserve)?1:0;
     */
     //после успешного сохранения отправлям на модерацию
     $reqvs[$form_type]['validate_status'] = 1;
     unset($_SESSION['sms_accept_code']);
     if (!isset($reqvs['is_activate_mob']) || !$reqvs['is_activate_mob'] || $reqvs['is_activate_mob'] == 'f' and !isset($_SESSION['sms_accept_phone']) || !isset($reqvs[$form_type]['phone']) || $_SESSION['sms_accept_phone'] != $reqvs[$form_type]['phone'] || !isset($_SESSION['sms_accept']) || $_SESSION['sms_accept'] !== true) {
         $other_error['phone'] = true;
         unset($_SESSION['sms_accept_phone'], $_SESSION['sms_accept'], $_SESSION['sms_accept_try']);
     }
 }
 $error_file = array();
 if ($form_type == sbr::FT_PHYS && !is_emp($u->role)) {
     // сканы документов
     $attachedFiles = new attachedfiles($_POST['attachedfiles_session']);
     $attachedFiles_files = $attachedFiles->getFiles(array(1, 4));
     $err = $account->addAttach2($attachedFiles_files);
     // сохраняем файлы
     $filesExists = count($attachedFiles->getFiles()) > 0;
     $attachedFiles->clearBySession();
     if ($err) {
         $error_file['err_attach'] = $err;
     } elseif (!$filesExists) {
         $error_file['err_attach'] = "Необходимо загрузить скан одной или нескольких страниц паспорта.";
     }
 }
 $required_error = sbr_meta::checkRequired($form_type, $rez_type, $reqvs[$form_type], is_emp($u->role));
 $start_errors = array_merge($required_error, $error_file, $other_error);
 if ($err = sbr_meta::setUserReqv($uid, $rez_type, $form_type, $reqvs[$form_type], $ft_disabled, $is_agree_view, $start_errors)) {
     if (isset($err['mob_phone'])) {
Example #27
0
function aSaveDocument($stage_id, $doc_id, $name, $type, $access, $session)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php';
    $stage_id = __paramValue('int', $stage_id);
    $doc_id = __paramValue('int', $doc_id);
    $objResponse = new xajaxResponse();
    if (!hasPermissions('sbr')) {
        $objResponse->script('window.sended = false');
        return $objResponse;
    }
    $sbr = sbr_meta::getInstance();
    $sbr_id = $sbr->getSbrIdFromStage($stage_id);
    $sbr->initFromId($sbr_id, true, false, false);
    if ($sbr->error) {
        $objResponse->script('window.sended = false');
        return $objResponse;
    }
    $stage = $sbr->initFromStage($stage_id, false);
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    $attachedfiles = new attachedfiles($session);
    $attach = current($attachedfiles->getFiles());
    if ($attach['id']) {
        $file = new CFile($attach['id']);
        $file->table = 'file_sbr';
        $file->_remoteCopy($sbr->getUploadDir() . $file->name);
    } else {
        $file = false;
    }
    if ($doc_id) {
        $old_doc = $sbr->getDoc($doc_id);
        $doc = array('name' => $name, 'type' => $type, 'access_role' => $access, 'status' => $old_doc['status'], 'stage_id' => $stage_id, 'id' => $doc_id);
        if ($file) {
            $doc['file_id'] = $file->id;
        }
        $sbr->editDoc($doc, $old_doc);
        if ($old_doc['access_role'] == 0 && $doc['access_role'] > 0) {
            $stage->removeEvent(29, true);
        } elseif ($old_doc['access_role'] > 0 && $doc['access_role'] == 0) {
            $stage->removeEvent(30, true);
        }
    } else {
        if (!$file) {
            $objResponse->script('window.sended = false');
            $objResponse->call('alert', 'Загрузите файл');
            return $objResponse;
        }
        $doc = array('stage_id' => $stage_id, 'file_id' => $file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => $access, 'owner_role' => 0, 'type' => $type);
        $add_doc = $sbr->addDocR($doc);
        if (!$add_doc) {
            $objResponse->script('window.sended = false;');
            $objResponse->call('alert', 'Ошибка запроса');
            return $objResponse;
        }
    }
    $objResponse->script('window.location.reload()');
    return $objResponse;
}
Example #28
0
/**
 * Возвращает яваскрипт код для инициализации прикрепленных файлов
 * 
 * @param  array $tmp_files массив прикрепленных файлов
 * @param  int $max_files максимально возможное количество прикрепленных файлов
 * @param  int $max_file_size максимальный размер каждого из прикрепленных файлов
 * @param  string $kind тип записи (contacts, blog и т.д)
 * @param  string $tag_id id html тэга для инициализации прикрепленных файлов
 * @return string 
 */
function getAttachedFilesJs($tmp_files = array(), $max_files = 0, $max_file_size = 0, $kind = '', $tag_id = 'adm_edit_attachedfiles')
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    $sAttach = 'attachedfiles_list = new Array();';
    $attachedfiles = new attachedfiles('', true);
    $attachedfiles_session = $attachedfiles->createSessionID();
    $attachedfiles->addNewSession($attachedfiles_session);
    if ($tmp_files) {
        $attachedfiles_files = array();
        foreach ($tmp_files as $attachedfiles_file) {
            if ($kind == 'contacts' || $kind == 'project') {
                $sId = $kind == 'contacts' ? 'id' : 'file_id';
                $attachedfiles_files[] = $attachedfiles_file[$sId];
            } else {
                $attachedfiles_files[] = $attachedfiles_file;
            }
        }
        $attachedfiles->setFiles($attachedfiles_files);
    }
    $files = $attachedfiles->getFiles();
    if ($files) {
        $n = 0;
        foreach ($files as $attachedfiles_file) {
            $sAttach .= "attachedfiles_list[{$n}] = new Object;\n";
            $sAttach .= "attachedfiles_list[{$n}].id = '" . md5($attachedfiles_file['id']) . "';\n";
            $sAttach .= "attachedfiles_list[{$n}].name = '{$attachedfiles_file['orig_name']}';\n";
            $sAttach .= "attachedfiles_list[{$n}].path = '" . WDCPREFIX . "/{$attachedfiles_file['path']}{$attachedfiles_file['name']}';\n";
            $sAttach .= "attachedfiles_list[{$n}].size = '" . ConvertBtoMB($attachedfiles_file['size']) . "';\n";
            $sAttach .= "attachedfiles_list[{$n}].type = '{$attachedfiles_file['type']}';\n";
            $n++;
        }
    }
    $sAttach .= "attachedFiles.init('adm_edit_attachedfiles', '{$attachedfiles_session}', attachedfiles_list, \n        '{$max_files}', '{$max_file_size}', '" . implode(', ', $GLOBALS['disallowed_array']) . "',\n        '{$kind}', " . get_uid(false) . "\n        );";
    return $sAttach;
}
Example #29
0
} catch (Exception $e) {
    $log->TRACE($e->getMessage());
}
try {
    $log->TRACE(sitemap::update('tservices'));
} catch (Exception $e) {
    $log->TRACE($e->getMessage());
}
try {
    $log->TRACE(sitemap::generateMainSitemap());
    $log->TRACE(sitemap::send());
} catch (Exception $e) {
    $log->TRACE($e->getMessage());
}
// Чистим сессии загруженны, но не использованных файлов
$log->TRACE(attachedfiles::clearOldSessions());
//------------------------------------------------------------------------------
// Рассылка ПРО о том что ПРО закончится через день
// Вызываем для тех у кого включена опция и для тех у кого нет
// но сообщение в итоге шлем всем одинаковое см getPROEnding
// так как пока автопродление неиспользуется
$log->TRACE(payed::getPROEnding(true, 3));
// За 3 дня для тех у кого включено автопродление
$log->TRACE(payed::getPROEnding(true, 1));
// За 1 день для тех у кого включено автопродление
$log->TRACE(payed::getPROEnding(false, 3));
// За 3 дня для тех у кого не включено автопродление
$log->TRACE(payed::getPROEnding(false, 1));
// За 1 день для тех у кого не включено автопродление
//@todo: пока отключаем уведомления об автопродлении ПРО так как отключили автопродление
//@todo: тут еще и пытается продлить
Example #30
0
 /**
  * Редактирует сделку по данным пользовательского запроса.
  *
  * @see sbr_emp::initFromRequest()
  * 
  * @param array $request данные запроса (гет, пост).
  * @param array $files   массив $_FILES с вложениями к каждому этапу.
  *
  * @return bool успешно?
  */
 private function __new_edit($request, attachedfiles $files, &$old)
 {
     $old = clone $this;
     $attached = $files->getFiles(array(1, 4), true);
     if (!$this->_new_initFromRequest($request, $attached, $old)) {
         return false;
     }
     if (!$this->_openXact(true)) {
         return false;
     }
     if ($this->_delstages) {
         foreach ($this->_delstages as $dstage) {
             if (!$dstage->delete($old->isDraft())) {
                 $this->_abortXact();
                 return false;
             }
         }
     }
     $sql_data = $this->_preSql(true);
     $sql = "\n          UPDATE sbr\n             SET name = '{$sql_data['name']}',\n                 frl_id = {$sql_data['frl_id']},\n                 cost_sys = {$sql_data['cost_sys']},\n                 is_draft = '{$sql_data['is_draft']}',\n                 scheme_type = {$sql_data['scheme_type']}\n           WHERE id = {$this->data['id']}\n             AND emp_id = {$this->uid}\n        ";
     if (!($res = pg_query(self::connect(false), $sql)) || !pg_affected_rows($res)) {
         $this->_abortXact();
         return false;
     }
     // Ситуация когда редактируем сделку (отправляем из черновиков) а в ней нет офферт, тогда просто генерируем их
     if ($this->scheme_type == sbr::SCHEME_LC) {
         $docs = $this->getDocs();
         foreach ($docs as $doc) {
             if ($doc['type'] == sbr::DOCS_TYPE_OFFER) {
                 $offers_doc[] = $doc['file_id'];
             }
         }
         if (count($offers_doc) != 2) {
             $doc_delete = current($offers_doc);
             // Удаляем, если одна оферта сгенерировалась уже, а вторая нет
             if ($doc_delete) {
                 $doc_file = CFile($doc_delete);
                 $doc_file->delete();
             }
             if ($doc_file = $this->generateAgreement($err)) {
                 $doc = array('file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_SIGN, 'access_role' => sbr::DOCS_ACCESS_ALL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_OFFER, 'subtype' => 2);
                 $this->addDocR($doc);
             }
             if (!$err) {
                 if ($doc_file = $this->generateContract($err)) {
                     $doc = array('file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_SIGN, 'access_role' => sbr::DOCS_ACCESS_ALL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_OFFER, 'subtype' => 1);
                     $this->addDocR($doc);
                 }
             }
             if ($err) {
                 $this->_abortXact();
                 unset($this->data['id']);
                 return false;
             }
         }
     }
     ////////////////////////
     pg_query(self::connect(false), "SELECT sbr_trigger_fvrs_gt_vrs('sbr', {$this->data['id']})");
     ////////////////////////
     foreach ($this->stages as $stage) {
         if ($this->scheme_type == sbr::SCHEME_LC && ($this->data['state'] == pskb::STATE_NEW || $this->data['state'] == pskb::STATE_FORM || $this->data['status'] >= sbr::STATUS_CHANGED)) {
             $cur_stage = $this->initFromStage($stage->id, false);
             $stage->data['cost'] = $cur_stage->cost;
         }
         if ($this->data['delstages'][$stage->id] || $this->data['stage_id'] && $stage->id != $this->data['stage_id'] || $stage->isFixedState()) {
             continue;
         }
         if (!($stage->id ? $stage->edit() : $stage->_new_create())) {
             $this->_abortXact();
             return false;
         }
     }
     // записываем профессию сделки
     //$this->saveProfessions(); при редактировании ничего не записываем
     $this->_commitXact();
     return true;
 }