inputArray = [ 'article_subject' => form_sanitizer($_POST['article_subject'], '', 'article_subject'), 'article_cat' => form_sanitizer($_POST['article_cat'], 0, 'article_cat'), 'article_language' => form_sanitizer($_POST['article_language'], LANGUAGE, 'article_language'), 'article_visibility' => form_sanitizer($_POST['article_visibility'], 0, 'article_visibility'), 'article_datestamp' => form_sanitizer($_POST['article_datestamp'], time(), 'article_datestamp'), 'article_name' => form_sanitizer($_POST['article_name'], 0, 'article_name'), 'article_snippet' => form_sanitizer($article_snippet, '', 'article_snippet'), 'article_article' => form_sanitizer($article_article, '', 'article_article'), 'article_keywords' => form_sanitizer($_POST['article_keywords'], '', 'article_keywords'), 'article_draft' => isset($_POST['article_draft']) ? $_POST['article_draft'] : '0', 'article_allow_comments' => isset($_POST['article_allow_comments']) ? $_POST['article_allow_comments'] : '0', 'article_allow_ratings' => isset($_POST['article_allow_ratings']) ? $_POST['article_allow_ratings'] : '0' ]; // Line Breaks if (fusion_get_settings("tinymce_enabled") != 1) { $this->inputArray['article_breaks'] = isset($_POST['article_breaks']) ? "y" : "n"; } else { $this->inputArray['article_breaks'] = "n"; } // Handle if (\defender::safe()) { // Publish Submission if (isset($_POST['publish_submission'])) { dbquery("DELETE FROM ".DB_SUBMISSIONS." WHERE submit_id=:submitid AND submit_type=:submittype", [':submitid' => $_GET['submit_id'], ':submittype' => 'a']); dbquery_insert(DB_ARTICLES, $this->inputArray, 'save'); addNotice('success', (!$this->inputArray['article_draft'] ? $this->locale['article_0060'] : $this->locale['article_0061'])); redirect(clean_request('', ['submit_id'], FALSE)); } // Preview Submission if (isset($_POST['preview_submission'])) { $footer = openmodal("article_preview", " ".$this->locale['preview'].": ".$this->inputArray['article_subject']); echo($this->inputArray['article_breaks'] == "n" ? parse_textarea($this->inputArray['article_snippet']) : nl2br(parse_textarea($this->inputArray['article_snippet']))); if ($this->inputArray['article_article']) { $footer .= "
\n"; $footer .= ($this->inputArray['article_breaks'] == "n" ? parse_textarea($this->inputArray['article_article']) : nl2br(parse_textarea($this->inputArray['article_article']))); } $footer .= closemodal(); add_to_footer($footer); } } } } /** * Delete a Article Submission */ private function handleDeleteSubmission() { if (isset($_POST['delete_submission'])) { dbquery("DELETE FROM ".DB_SUBMISSIONS." WHERE submit_id=:submitid AND submit_type=:submittype", [':submitid' => $_GET['submit_id'], ':submittype' => 'a']); addNotice('success', $this->locale['article_0062']); redirect(clean_request('', ['submit_id'], FALSE)); } } /** * Get unserialize Datas for a Submission */ private function unserializeData() { $result = dbquery("SELECT s.* FROM ".DB_SUBMISSIONS." AS s WHERE s.submit_id=:submitid LIMIT 0,1", [':submitid' => $_GET['submit_id']] ); if (dbrows($result) > 0) { $data = dbarray($result); $submit_criteria = \defender::decode($data['submit_criteria']); $returnInformations = [ 'article_subject' => $submit_criteria['article_subject'], 'article_snippet' => phpentities(stripslashes($submit_criteria['article_snippet'])), 'article_article' => phpentities(stripslashes($submit_criteria['article_article'])), 'article_keywords' => $submit_criteria['article_keywords'], 'article_cat' => $submit_criteria['article_cat'], 'article_visibility' => 0, 'article_language' => $submit_criteria['article_language'], 'article_datestamp' => $data['submit_datestamp'], 'article_draft' => 0, 'article_breaks' => fusion_get_settings('tinyce_enabled') ? TRUE : FALSE, 'article_name' => $data['submit_user'], 'article_allow_comments' => 0, 'article_allow_ratings' => 0 ]; return $returnInformations; } else { redirect(clean_request('', [], FALSE)); return NULL; } } /** * Display Form */ private function displayForm() { // Textarea Settings if (!fusion_get_settings("tinymce_enabled")) { $articleSnippetSettings = [ 'required' => TRUE, 'preview' => TRUE, 'type' => 'bbcode', 'autosize' => TRUE, 'placeholder' => $this->locale['article_0254'], 'error_text' => $this->locale['article_0271'], 'form_name' => 'articleform', 'wordcount' => TRUE, 'path' => IMAGES_A ]; $articleExtendedSettings = [ 'required' => ($this->articleSettings['article_extended_required'] ? TRUE : FALSE), 'preview' => TRUE, 'html' => TRUE, 'autosize' => TRUE, 'placeholder' => $this->locale['article_0253'], 'error_text' => $this->locale['article_0272'], 'form_name' => 'articleform', 'wordcount' => TRUE, 'path' => IMAGES_A ]; } else { $articleSnippetSettings = [ 'required' => TRUE, 'type' => 'bbcode', 'tinymce' => 'advanced', 'error_text' => $this->locale['article_0271'], 'path' => IMAGES_A ]; $articleExtendedSettings = [ 'required' => ($this->articleSettings['article_extended_required'] ? TRUE : FALSE), 'type' => 'tinymce', 'tinymce' => 'advanced', 'error_text' => $this->locale['article_0272'], 'path' => IMAGES_A ]; } // Start Form echo openform('submissionform', 'post', FUSION_REQUEST); echo form_hidden('article_name', '', $this->inputArray['article_name']); ?>
dataUser, '30px', '', FALSE, 'img-rounded m-t-5 m-r-5'); ?>
dataUser['user_name'] != $this->locale['user_na'] ? profile_link($this->dataUser['user_id'], $this->dataUser['user_name'], $this->dataUser['user_status']) : $this->locale['user_na']); $submissionDate = showdate("shortdate", $this->inputArray['article_datestamp']); $submissionTime = timer($this->inputArray['article_datestamp']); $replacements = ["{%SUBMISSION_AUTHOR%}" => $submissionUser, "{%SUBMISSION_DATE%}" => $submissionDate, "{%SUBMISSION_TIME%}" => $submissionTime]; $submissionInfo = strtr($this->locale['article_0350']."
".$this->locale['article_0351'], $replacements); echo $submissionInfo; ?>
locale['article_0100'], $this->inputArray['article_subject'], [ 'required' => TRUE, 'max_lenght' => 200, 'error_text' => $this->locale['article_0270'] ]); echo form_select('article_keywords', $this->locale['article_0260'], $this->inputArray['article_keywords'], [ 'max_length' => 320, 'placeholder' => $this->locale['article_0260a'], 'width' => '100%', 'inner_width' => '100%', 'tags' => TRUE, 'multiple' => TRUE ]); echo form_textarea('article_snippet', $this->locale['article_0251'], $this->inputArray['article_snippet'], $articleSnippetSettings); echo form_textarea('article_article', $this->locale['article_0252'], $this->inputArray['article_article'], $articleExtendedSettings); ?>
locale['article_0261']); echo form_select('article_draft', $this->locale['status'], $this->inputArray['article_draft'], [ 'inline' => TRUE, 'inner_width' => '100%', 'options' => [ 1 => $this->locale['draft'], 0 => $this->locale['publish'] ] ]); echo form_select_tree('article_cat', $this->locale['article_0101'], $this->inputArray['article_cat'], [ 'required' => TRUE, 'error_text' => $this->locale['article_0273'], 'inner_width' => '100%', 'inline' => TRUE, 'parent_value' => $this->locale['choose'], 'query' => (multilang_table('AR') ? "WHERE ".in_group('article_cat_language', LANGUAGE) : '') ], DB_ARTICLE_CATS, "article_cat_name", "article_cat_id", "article_cat_parent" ); echo form_select('article_visibility', $this->locale['article_0106'], $this->inputArray['article_visibility'], [ 'inline' => TRUE, 'placeholder' => $this->locale['choose'], 'inner_width' => '100%', 'options' => fusion_get_groups() ]); if (multilang_table("AR")) { echo form_select('article_language[]', $this->locale['language'], $this->inputArray['article_language'], [ 'inline' => TRUE, 'placeholder' => $this->locale['choose'], 'inner_width' => '100%', 'options' => fusion_get_enabled_languages(), 'multiple' => TRUE, 'delimeter' => '.' ]); } else { echo form_hidden('article_language', '', $this->inputArray['article_language']); } echo form_datepicker('article_datestamp', $this->locale['article_0203'], $this->inputArray['article_datestamp'], [ 'inline' => TRUE, 'inner_width' => '100%' ]); closeside(); openside($this->locale['article_0262']); if (fusion_get_settings('tinymce_enabled') != 1) { echo form_checkbox('article_breaks', $this->locale['article_0257'], $this->inputArray['article_breaks'], [ 'value' => 'y', 'reverse_label' => TRUE, 'class' => 'm-b-5' ]); } echo form_checkbox("article_allow_comments", $this->locale['article_0258'], $this->inputArray['article_allow_comments'], [ 'class' => 'm-b-5', 'reverse_label' => TRUE, 'ext_tip' => (!fusion_get_settings('comments_enabled') ? "
".sprintf($this->locale['article_0274'], $this->locale['comments'])."
" : "") ]); echo form_checkbox('article_allow_ratings', $this->locale['article_0259'], $this->inputArray['article_allow_ratings'], [ 'class' => 'm-b-5', 'reverse_label' => TRUE, 'ext_tip' => (!fusion_get_settings('ratings_enabled') ? "
".sprintf($this->locale['article_0274'], $this->locale['ratings'])."
" : "") ]); closeside(); ?>
locale['preview'], $this->locale['preview'], [ 'class' => 'btn-default btn-sm', 'icon' => 'fa fa-eye', 'input-id' => 'preview_submission-'.$unique_id ]); echo form_button('publish_submission', $this->locale['article_0352'], $this->locale['article_0352'], [ 'class' => 'btn-success btn-sm m-l-5', 'icon' => 'fa fa-hdd-o', 'input-id' => 'publish_submission-'.$unique_id ]); echo form_button('delete_submission', $this->locale['delete'], $this->locale['delete'], [ 'class' => 'btn-danger btn-sm m-l-5', 'icon' => 'fa fa-trash', 'input-id' => 'delete_submission-'.$unique_id ]); } /** * Display List with Submissions */ private function displaySubmissionList() { $result = dbquery(" SELECT s.submit_id, s.submit_criteria, s.submit_datestamp, u.user_id, u.user_name, u.user_status, u.user_avatar FROM ".DB_SUBMISSIONS." AS s LEFT JOIN ".DB_USERS." AS u ON u.user_id=s.submit_user WHERE s.submit_type='a' ORDER BY submit_datestamp DESC "); ?>
0) : while ($data = dbarray($result)) : ?> locale['user_na']; if ($data['user_name']) { $submitUser = display_avatar($data, '20px', '', TRUE, 'img-rounded m-r-5'); $submitUser .= profile_link($data['user_id'], $data['user_name'], $data['user_status']); } $reviewLink = clean_request("section=submissions&submit_id=".$data['submit_id'], ['section', 'ref', 'action', 'submit_id'], FALSE); ?>
locale['article_0200']; ?> locale['article_0100'] ?> locale['article_0202'] ?> locale['article_0203'] ?> locale['article_0204'] ?>
# locale['article_0205']; ?>
locale['article_0063']; ?>
locale = self::get_articleAdminLocale(); $this->articleSettings = self::get_article_settings(); // Handle a Submission if (isset($_GET['submit_id']) && isNum($_GET['submit_id']) && dbcount("(submit_id)", DB_SUBMISSIONS, "submit_id=".(int)$_GET['submit_id']." AND submit_type='a'")) { $this->inputArray = self::unserializeData(); // Get Infos about Submissioner $resultUser = dbquery("SELECT user_id, user_name, user_status, user_avatar FROM ".DB_USERS." WHERE user_id=:userid LIMIT 0,1", [':userid' => $this->inputArray['article_name']]); if (dbrows($resultUser) > 0) { $this->dataUser = dbarray($resultUser); } else { $this->dataUser = ['user_id' => $this->inputArray['article_name'], 'user_name' => $this->locale['user_na'], 'user_status' => 0, 'user_avatar' => FALSE]; } // Delete, Publish, Preview self::handleDeleteSubmission(); self::handlePostSubmission(); // Display Form with Buttons self::displayForm(); // Display List } else { self::displaySubmissionList(); } } }