コード例 #1
0
/**
 * Отдает HTML для Редактирование Блоги: посты и комментарии
 * 
 * @param  object $objResponse xajaxResponse
 * @param  string $rec_id идентификатор записи
 * @param  string $rec_type тип записи
 * @param  array $aParams дополнительные параметры. остальные
 * @return string
 */
function _admEditBlogsParseForm(&$objResponse, $rec_id = '', $rec_type = '', $aParams = array())
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    $error = $perm = null;
    $blogs = new blogs();
    $edit_msg = $blogs->GetMsgInfo($rec_id, $error, $perm);
    $groups = $blogs->GetThemes($error, 1);
    $answers = $edit_msg['poll'] ? $edit_msg['poll'] : array(array('id' => 0, 'answer' => ''));
    ob_start();
    include_once $_SERVER['DOCUMENT_ROOT'] . '/user/adm_edit_tpl/blogs.php';
    $sHtml = ob_get_contents();
    ob_end_clean();
    // аттачи
    $sAttach = getAttachedFilesJs(blogs::getAttachedFiles($rec_id), blogs::MAX_FILES, blogs::MAX_FILE_SIZE, 'blog');
    // текст блога и опрос
    $sOnReady = "if (document.getElementById('adm_edit_question')) {\n        document.getElementById('adm_edit_question').value = document.getElementById('adm_edit_question_source').value;\n        if(document.getElementById('adm_edit_msg')) \n            document.getElementById('adm_edit_msg').value = (\$('adm_edit_msg_source')? \$('adm_edit_msg_source').value : null);\n        poll.init('Blogs', document.getElementById('div_adm_edit'), " . blogs::MAX_POLL_ANSWERS . ", '" . $_SESSION['rand'] . "');\n        maxChars('adm_edit_question', 'adm_edit_question_warn', " . blogs::MAX_POLL_CHARS . ");\n    }\n    else {\n        if(document.getElementById('adm_edit_msg')) \n            document.getElementById('adm_edit_msg').value = (\$('adm_edit_msg_source')? \$('adm_edit_msg_source').value : null);\n    }";
    $objResponse->assign('h4_adm_edit', 'innerHTML', 'Редактировать ' . ($rec_type == '2' ? 'комментарий' : 'сообщение'));
    $objResponse->assign('div_adm_edit', 'innerHTML', $sHtml);
    $objResponse->script("\$('div_adm_reason').setStyle('display', 'none');");
    $objResponse->script("adm_edit_content.editMenuItems = ['', 'Основное', 'Файлы'" . ($rec_type == 1 ? ", 'Опрос'" : '') . "];");
    $objResponse->script('adm_edit_content.edit();');
    $objResponse->script($sAttach);
    $objResponse->script($sOnReady);
    $objResponse->script('xajax_getAdmEditReasons(' . admin_log::ACT_ID_EDIT_BLOGS . ');');
}
コード例 #2
0
ファイル: content_blogs.php プロジェクト: Nikitian/fl-ru-damp
    	<table class="tbl-projects-draft">
            <colgroup>
        <col width="30" />
				<col width="" />
				<col width="200" />
				<col width="120" />
				<col width="80" />
				<col width="60" />
			</colgroup>
                <?php 
    foreach ($drafts as $draft) {
        ?>
                <?php 
        if ($draft['post_id']) {
            $blogmsg = blogs::GetMsgInfo($draft['post_id'], $error, $perm);
        }
        ?>
                <tr class="b-layout__tr">
					<td class="b-layout__one b-layout__one_bordbot_ccc b-layout__one_padtb_10"><div class="b-check b-check_padleft_10 b-check_top_2"><input id="del_draft_<?php 
        echo $draft['id'];
        ?>
" class="b-check__input" type="checkbox" name="del_draft[]" value="<?php 
        echo $draft['id'];
        ?>
" onClick="DraftsCheckToggleDeleteAll(this);" /></div></td>
					<td class="b-layout__one b-layout__one_bordbot_ccc b-layout__one_padtb_10"><div class="b-layout__txt">
                        <?php 
        if ($is_ban || $draft['is_blocked']) {
            ?>
                        <?php 
コード例 #3
0
ファイル: messages.php プロジェクト: kapai69/fl-ru-damp
    /**
     * Регистрирует сообщение-предупреждение о некорректном поведении в блогах.
     *
     * @param int $login логин пользователя-получателя
     * @param int $msgid id сообщения
     * @param int $thid  id ветки в блогах
     *
     * @return @see messages::Add()
     */
    public function SendWarn($login, $msgid = 0, $thid = 0)
    {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
        $f_user = new users();
        $f_user->GetUser($login);
        $msg = new blogs();
        if ($thid) {
            $w_msg = $msg->GetThreadMsgInfo($thid, $error, $perm);
            //print_r($w_msg);
            // exit;
        } else {
            $w_msg = $msg->GetMsgInfo($msgid, $error, $perm);
        }
        $message = "\n{$f_user->uname} {$f_user->usurname}!\n\nМодераторы нашего ресурса нашли ваш комментарий некорректным:\n\n\"{$f_user->uname} {$f_user->usurname}. [{$login}] " . date('[d.m.Y | H:i]', strtotimeEx($w_msg['post_time'])) . '
' . reformat($w_msg['title']) . '
' . reformat($w_msg['msgtext']) . '
"

Мы призываем вас впредь не делать подобных комментариев, иначе модераторы лишат ваш аккаунт доступа к сайту.

Это сообщение было выслано автоматически, и ответ на него не будет рассматриваться.

Надеемся на понимание, Команда Free-lance.ru.';
        self::Add(users::GetUid($err, 'admin'), $login, $message, '', 1);
    }
コード例 #4
0
ファイル: viewgroup.php プロジェクト: kapai69/fl-ru-damp
                if ($prev_gr != $gr) {
                    $aData = blogs::getGroupAndPos($thread_id, get_uid(false), $t_ord);
                    $page = ceil($aData['pos'] / $blogspp);
                    $gr = $aData['id_gr'];
                }
                header('Location: ' . getFriendlyURL('blog_group', $gr) . "?t={$t}{$ord_get_part}&tr={$thread}" . ($page > 1 ? "&page={$page}" : ''));
                exit;
            }
        case 'edit':
            if (!get_uid()) {
                header('Location: /fbd.php');
                die;
            }
            $edit_tr = $edit_id = intval(trim($tr));
            if ($edit_tr) {
                $edit_msg = $blog_obj->GetMsgInfo($edit_tr, $error, $perm);
                if ($edit_msg['fromuser_id'] != get_uid() && $mod) {
                    unset($edit_msg);
                    unset($action);
                    header('Location: ' . getFriendlyURL('blog_group', $gr) . "?t={$t}{$ord_get_part}");
                }
            }
            break;
    }
}
stat_collector::setStamp();
// stamp
$blog = new blogs();
//$thread = $blog->GetThread($thread, $error);
if (!$page) {
    $page = intval(trim($_GET['page']));
コード例 #5
0
ファイル: user_content.php プロジェクト: Nikitian/fl-ru-damp
 /**
  * Отсылка уведомления в личку об Утверждение/удаление записи
  * 
  * @param  int $user_id идентификатор модератора
  * @param  int $from_id идентификатор пользователя
  * @param  int $content_id идентификатор сущности из admin_contents
  * @param  int $rec_id идентификатор записи
  * @param  int $rec_type тип записи 
  * @param  int $action действие: 1 - утверждено, 2 - удалено
  * @param  string $reason причина
  * @return bool true - успех, false - провал
  */
 function sendNotification($user_id = 0, $from_id = 0, $content_id = 0, $rec_id = 0, $rec_type = 0, $action = 1, $reason = '')
 {
     global $DB;
     if ($action != 2) {
         return;
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/admin_parent.php';
     $need_send = false;
     $users = new users();
     $users->GetUserByUID($from_id);
     $reason = str_replace('%USERNAME%', $users->uname . ' ' . $users->usurname, $reason);
     switch ($content_id) {
         case self::MODER_MSSAGES:
             // Личные сообщения
             $DB9 = new DB('plproxy');
             $sQuery = 'SELECT * FROM messages_moder_send_get(?i, ?i);';
             $aMsg = $DB9->row($sQuery, $from_id, $rec_id);
             $msg = $aMsg['msg_text'];
             $message = "Сообщение заблокировано.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_BLOGS:
             // Блоги: посты и комментарии
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
             $aMsg = blogs::GetMsgInfo($rec_id, $ee, $tt);
             $msg = $aMsg['msgtext'];
             if ($rec_type == 1) {
                 $message = "Сообщение в блоге заблокировано.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             }
             if ($rec_type == 2) {
                 $message = "Комментарий в блоге заблокирован.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             }
             $need_send = true;
             break;
         case self::MODER_COMMUNITY:
             // Сообщества: посты и комментарии
             $sql = "SELECT * FROM commune_messages WHERE id = ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['msgtext'];
             if ($rec_type == 1) {
                 $message = "Сообщение в сообществе заблокировано.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             }
             if ($rec_type == 2) {
                 $message = "Комментарий в сообществе заблокирован.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             }
             $need_send = true;
             break;
         case self::MODER_PROJECTS:
             // Проекты
             $sql = "SELECT * FROM projects WHERE id= ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['descr'];
             $message = "Проект заблокирован.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_PRJ_OFFERS:
             // Предложения в проектах
             $sql = "SELECT * FROM projects_offers WHERE id = ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['descr'];
             $message = "Предложение в проекте заблокировано.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_ART_COM:
             // Комментарии в статьях
             $sql = "SELECT * FROM articles_comments WHERE id = ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['msgtext'];
             $message = "Комментарий в статьях заблокирован.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_PROFILE:
             // Изменения в профилях
             $message = "Изменение в профиле отредактировано.\n\nПричина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_PRJ_DIALOG:
             // Комментарии к предложениям по проектам
             $sql = "SELECT * FROM projects_offers_dialogue WHERE id = ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['post_text'];
             $message = "Комментарий к предложению проекта заблокирован.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_CONTEST_COM:
             // Комментарии к предложениям конкурсов
             $sql = "SELECT * FROM projects_contest_msgs WHERE id = ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['msg'];
             $message = "Комментарии к предложению конкурса заблокирован.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_PORTF_CHOISE:
             // Уточнения к разделам в портфолио
             $message = "Уточнения к разделам в портфолио отредактированы.\n\nПричина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_PORTFOLIO:
             // Работы в портфолио
             $message = "Работа в портфолио заблокирована.\n\nПричина: {$reason}";
             $need_send = true;
             break;
         case self::MODER_SDELAU:
             // Предложения фрилансеров "Сделаю"
             $sql = "SELECT * FROM freelance_offers WHERE id = ?i";
             $aMsg = $DB->row($sql, $rec_id);
             $msg = $aMsg['descr'];
             $message = "Объявление в предложениях фрилансеров заблокировано.\n\n" . ($msg ? "-----\n\n{$msg}\n\n-----\n\n" : "") . "Причина: {$reason}";
             $need_send = true;
             break;
     }
     if ($need_send) {
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
         $users = new users();
         messages::Add(users::GetUid($err, 'admin'), $users->GetField($from_id, $err, 'login'), $message, '', 1);
     }
 }
コード例 #6
0
ファイル: view.php プロジェクト: Nikitian/fl-ru-damp
                 }
                 header("Location: " . getFriendlyURL("blog", $thread) . "?pagefrom=" . intval($_POST['pagefrom']) . '&openlevel=' . $reply . "&ord=" . $_GET["ord"]);
             }
         }
     }
     if ($error_flag) {
         $action = "edit";
         $edit_id = $reply;
     } else {
         break;
     }
 case "edit":
     $edit_id = intval(trim($_GET['id']));
     $form_uri = "/blogs/view.php?id=" . htmlspecialchars($_GET['id']);
     $blogs = new blogs();
     $edit_msg = $blogs->GetMsgInfo($edit_id, $error, $perm);
     if ($PDA) {
         $edit_comment = true;
         $form_uri .= ($error_flag ? '&action=edit&editcnt' : '') . "&tr=" . intval($_GET['tr']);
         $content = "edit_cnt.php";
     }
     break;
 case "deletewinner":
     $winner = intval(trim($_GET['winner']));
     if ($winner && $thread && $_SESSION['uid']) {
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/projects.php";
         projects::DeleteWinner($_SESSION['uid'], $winner);
         header("Location: /blogs/view.php?tr={$thread}&ord=" . $_GET["ord"]);
         exit;
     }
     break;
コード例 #7
0
ファイル: drafts.server.php プロジェクト: Nikitian/fl-ru-damp
/**
* Публикация черновика
*
* @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;
}