/** * Возвращает яваскрипт код для инициализации прикрепленных файлов * * @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; }
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; }
/** * Публикация черновика * * @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; }
<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) { $attachedfiles_blog_files = array(); foreach ($attachedfiles_tmpblog_files as $attachedfiles_blog_file) { $attachedfiles_blog_files[] = $attachedfiles_blog_file; } $attachedfiles->setFiles($attachedfiles_blog_files); } } } $attachedfiles_files = $attachedfiles->getFiles();
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; } }
/** * Редактирование документа. * * @param int $id ID документа * * @return object xajaxResponse */ function editDoc($id) { global $objLetters; $objResponse = new xajaxResponse(); if (hasPermissions('letters') && hasPermissions('adm')) { $doc = $objLetters->getDocument($id); if ($doc) { if (!$doc['user_status_1']) { $doc['user_status_1'] = null; } if (!$doc['user_status_2']) { $doc['user_status_2'] = null; } if (!$doc['user_status_3']) { $doc['user_status_3'] = null; } $objResponse->assign('letters_doc_frm_title', 'value', $doc['title']); $objResponse->script("\n \$('letters_doc_frm_delivery_cost').set('value', '');\n \$('letters_doc_frm_comment').set('value', '');\n ComboboxManager.getInput('letters_doc_frm_group').clear();\n ComboboxManager.getInput('letters_doc_frm_delivery').clear();\n ComboboxManager.getInput('letters_doc_frm_user_1').clear();\n ComboboxManager.getInput('letters_doc_frm_user_2').clear();\n ComboboxManager.getInput('letters_doc_frm_user_3').clear();\n ComboboxManager.getInput('letters_doc_frm_parent').clear();\n \$('letters_doc_frm_user1_status_data').set('value', 0);\n \$('letters_doc_frm_user1_status_date_data').set('value', '');\n \$('letters_doc_frm_user_1_status_change_lnk').set('html', statuses_list[0]);\n \$('letters_doc_frm_user2_status_data').set('value', 0);\n \$('letters_doc_frm_user2_status_date_data').set('value', '');\n \$('letters_doc_frm_user_2_status_change_lnk').set('html', statuses_list[0]);\n \$('letters_doc_frm_user3_status_data').set('value', 0);\n \$('letters_doc_frm_user3_status_date_data').set('value', '');\n \$('letters_doc_frm_user_3_status_change_lnk').set('html', statuses_list[0]);\n if(\$('letters_doc_frm_user_3_div').getStyle('display')=='block') {\n letters.toggleUser3();\n }\n "); if ($doc['user_3']) { $objResponse->script('letters.toggleUser3();'); $objResponse->script('ComboboxManager.getInput("letters_doc_frm_user_3").loadRecord(' . $doc['user_3'] . ', "get_user_or_company_info", "type=' . ($doc['is_user_3_company'] == 't' ? 'company' : 'user') . '");'); } if ($doc['withoutourdoc'] == 't') { $objResponse->script('$("letters_doc_frm_withoutourdoc").set("checked", true);'); } if ($doc['user_status_1'] == 2 || $doc['user_status_1'] == 3) { $add_status1 = ' ' . dateFormat('d.m.Y', $doc['user_status_date_1']); } if ($doc['user_status_2'] == 2 || $doc['user_status_2'] == 3) { $add_status2 = ' ' . dateFormat('d.m.Y', $doc['user_status_date_2']); } if ($doc['user_status_3'] == 2 || $doc['user_status_1'] == 3) { $add_status3 = ' ' . dateFormat('d.m.Y', $doc['user_status_date_3']); } $objResponse->script("\$('letters_doc_frm_user_1_status_change_lnk').set('html', statuses_list[" . intval($doc['user_status_1']) . "]+'{$add_status1}')"); $objResponse->script("\$('letters_doc_frm_user_2_status_change_lnk').set('html', statuses_list[" . intval($doc['user_status_2']) . "]+'{$add_status2}')"); $objResponse->script("\$('letters_doc_frm_user_3_status_change_lnk').set('html', statuses_list[" . intval($doc['user_status_3']) . "]+'{$add_status3}')"); $objResponse->assign('letters_doc_frm_user1_status_data', 'value', intval($doc['user_status_1'])); $objResponse->assign('letters_doc_frm_user2_status_data', 'value', intval($doc['user_status_2'])); $objResponse->assign('letters_doc_frm_user3_status_data', 'value', intval($doc['user_status_3'])); $objResponse->assign('letters_doc_frm_user1_status_date_data', 'value', $doc['user_status_date_1'] ? dateFormat('Y-m-d', $doc['user_status_date_1']) : ''); $objResponse->assign('letters_doc_frm_user2_status_date_data', 'value', $doc['user_status_date_2'] ? dateFormat('Y-m-d', $doc['user_status_date_2']) : ''); $objResponse->assign('letters_doc_frm_user3_status_date_data', 'value', $doc['user_status_date_3'] ? dateFormat('Y-m-d', $doc['user_status_date_3']) : ''); if ($doc['group_id']) { $objResponse->script('ComboboxManager.getInput("letters_doc_frm_group").loadRecord(' . $doc['group_id'] . ', "getlettergroupinfo");'); } $objResponse->script('ComboboxManager.getInput("letters_doc_frm_user_1").loadRecord(' . $doc['user_1'] . ', "get_user_or_company_info", "type=' . ($doc['is_user_1_company'] == 't' ? 'company' : 'user') . '");'); $objResponse->script('ComboboxManager.getInput("letters_doc_frm_user_2").loadRecord(' . $doc['user_2'] . ', "get_user_or_company_info", "type=' . ($doc['is_user_2_company'] == 't' ? 'company' : 'user') . '");'); if ($doc['parent']) { $objResponse->script('ComboboxManager.getInput("letters_doc_frm_parent").loadRecord(' . $doc['parent'] . ', "getletterdocinfo");'); } if ($doc['date_add']) { $objResponse->script('ComboboxManager.getInput("letters_doc_frm_dateadd").setDate("' . preg_replace('/ .*$/', '', $doc['date_add']) . '");'); } if ($doc['file_id']) { $cFile = new CFIle(); $cFile->table = 'file'; $cFile->GetInfoById($doc['file_id']); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php'; $attachedfiles = new attachedfiles('', true); $asid = $attachedfiles->createSessionID(); $attachedfiles->addNewSession($asid); $attachedfiles->setFiles(array($cFile->id)); $p_name = preg_replace("/\\..*\$/", '', $cFile->name); 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\n var attachedfiles_list = new Array();\n\n attachedfiles_list[0] = new Object;\n attachedfiles_list[0].id = '" . md5($cFile->id) . "';\n attachedfiles_list[0].name = '" . $cFile->original_name . "';\n attachedfiles_list[0].path = '" . WDCPREFIX . '/' . $cFile->path . $cFile->name . "';\n attachedfiles_list[0].size = '" . ConvertBtoMB($cFile->size) . "';\n attachedfiles_list[0].type = '" . $cFile->getExt() . "';\n\n attachedFiles.initComm( 'attachedfiles', \n '{$attachedfiles->getSession()}',\n attachedfiles_list, \n '1',\n '" . letters::MAX_FILE_SIZE . "',\n '" . implode(', ', $GLOBALS['disallowed_array']) . "',\n 'letters',\n '" . get_uid(false) . "'\n );\n attachedFiles.newFile(attachedfiles_list[0].id, attachedfiles_list[0].name, attachedfiles_list[0].path, attachedfiles_list[0].size, attachedfiles_list[0].type);\n })();\n \$('wd_file_add').setStyle('display', 'none');\n "); $objResponse->assign('attachedfiles_uid', 'value', get_uid(false)); $objResponse->assign('attachedfiles_session', 'value', $attachedfiles->getSession()); $objResponse->script("\$('f_button_actionwork').removeClass('b-button_rectangle_color_disable');"); } $objResponse->script('status_can_submit = true;'); $objResponse->script("\$('letters_add_div').getChildren('div').removeClass('b-shadow_hide');"); } $objResponse->script('letters.spinner.hide();'); } return $objResponse; }
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; }
foreach ($sbr->stages as $k => $stage) { if ($stage->data['attach']) { if ($k > 0) { $attachedfiles->addNewSession(); } // Первая сессия у нас генерируется вверху $stage_files = $attachedfiles_files = array(); foreach ($stage->data['attach'] as $i => $v) { $stage_files[] = $v['file_id']; $v['id'] = md5($v['file_id']); $v['type'] = $v['ftype']; $v['tsize'] = ConvertBtoMB($v['size']); $v['status'] = 3; $attachedfiles_files[] = $v; } $attachedfiles->setFiles($stage_files, 3, $k); $stages_files[$k] = $attachedfiles_files; } } } // Подготовка данных для JSON if ($stages_files) { $stages_files = attachedfiles::getInitJSONContentSBRFiles($stages_files); } $sbr_schemes = $sbr->getSchemes(); $rt_checked = true; $rt_disabled = $sbr->reserved_id || $sbr->checkChangeRT(); if (!($rez_type = $sbr->user_reqvs['rez_type'])) { $rez_type = sbr::RT_RU; } $history_frl = $sbr->getUserReqvHistory($sbr->stages[0]->id, $sbr->frl_id);
/** * подготавливает файлы для страницы финансы * @param array $attach список файлов полученный из account::getAllAttach() * * возвращает массив со слдующими ключами * @key attachedfiles $attachedFilesDoc сюда запишется объект класса attachedfilec для сканов документа * @key array $attachDoc сюда запишется список файлов - сканов документа * @key attachedfiles $attachedFilesOther сюда запишется объект класса attachedfilec для сканов страхового свидетельства * @key array $attachOther сюда запишется список файлов - сканов свидетельства */ function prepareFinanceFiles($attach, $login = null) { if (!$attach) { $attach = array(); } // разделяем файлы на группы (сканы документа и сканы свидетельства) и подготавливаем для вывода через attachedfiles2.js $attachDoc = array(); $attachOther = array(); $cfile = new CFile(); $attachedFilesDoc = new attachedfiles(); // файлы документа $attachedFilesOther = new attachedfiles(); // страховое свидетельство foreach ($attach as $key => $file) { $file['type'] = $cfile->getext($file['name']); $file['tsize'] = iconv("CP1251", "UTF-8", ConvertBtoMB($file['size'])); $file['orig_name'] = iconv("CP1251", "UTF-8", $file['orig_name']); $file['id'] = md5($file['file_id']); if (preg_match('/finance_other\\/$/', $file['path'])) { $attachOther[] = $file; $attachedFilesOther->setFiles(array($file['file_id'])); // добавляем файл в сессию } else { $attachDoc[] = $file; $attachedFilesDoc->setFiles(array($file['file_id'])); // добавляем файл в сессию } } return array('attachDoc' => $attachDoc, 'attachOther' => $attachOther, 'attachedFilesDoc' => $attachedFilesDoc, 'attachedFilesOther' => $attachedFilesOther); }
//if ?> <div id="attachedfiles" class="b-fon b-fon_width_full"></div> <script type="text/javascript"> var attachedfiles_list = new Array(); <?php require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php"; $attachedfiles = new attachedfiles($attachedfiles_session); if (!$attachedfiles_session && $draft_id) { $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 5); 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 { $attachedfiles_tmpprj_files = $mailer->getAttach($message['id']); if ($attachedfiles_tmpprj_files) { $attachedfiles_prj_files = array(); foreach ($attachedfiles_tmpprj_files as $attachedfiles_prj_file) { $attachedfiles_prj_files[] = $attachedfiles_prj_file['fid']; } $attachedfiles->setFiles($attachedfiles_prj_files); } } $attachedfiles_files = $attachedfiles->getFiles(); if ($attachedfiles_files) { $n = 0; foreach ($attachedfiles_files as $attachedfiles_file) {
<!-- Attaches --> <div id="attachedfiles" class="b-fon b-fon_padbot_10 b-layout_hide"></div> <script type="text/javascript"> var attachedfiles_list = new Array(); <?php require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php"; $attachedfiles = new attachedfiles($attachedfiles_session); if (!$attachedfiles_session && $draft_id) { $attachedfiles_tmpdraft_files = drafts::getAttachedFiles($draft_id, 3); 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); } } $attachedfiles_files = $attachedfiles->getFiles(); 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++; } }