/** * Returns text ready for preview. * * @param string $item Item to fetch. Valid only bodytext and introtext. * @return string text for preview in edit mode */ public function getPreviewText($item) { $text = strtolower($item) === 'introtext' ? $this->_introtext : $this->_bodytext; if ($this->_text_version == GLTEXT_FIRST_VERSION) { $text = $this->replaceImages($text); } $text = GLText::getPreviewText($text, $this->_postmode, 'story.edit', $this->_text_version); $text = $this->renderImageTags($text); return $text; }
/** * Show the downloads editor */ function showEditor($mode = 'edit') { global $_CONF, $_TABLES, $_USER, $_GROUPS, $_SCRIPTS, $LANG01, $LANG12, $LANG24, $MESSAGE, $_DLM_CONF, $LANG_DLM, $LANG_ACCESS; $retval = ''; $this->initCatTree(); $p = COM_applyFilter($_GET['p']); if (!empty($p)) { $this->_page = $p; } $lc = COM_applyFilter($_GET['cid']); if (!empty($lc)) { $this->_listing_cid = $lc; } if (!empty($this->_editor_mode)) { $mode = $this->_editor_mode; } else { $this->_editor_mode = $mode; } if ($mode == 'edit' || $mode == 'clone') { if ($this->_retry == true) { $this->_loadFromArgs($_POST); } else { $this->_lid = COM_applyFilter($_GET['lid']); $this->_loadFromDatabase($this->_lid); } } if ($mode == 'create' || $mode == 'submit') { if ($this->_retry == true) { $this->_loadFromArgs($_POST); } else { $this->_initVars(); $homepage = DB_getItem($_TABLES['users'], 'homepage', "uid = '" . addslashes($this->_owner_id) . "'"); $this->_homepage = DLM_htmlspecialchars(stripslashes($homepage)); } } if ($mode != 'create' && $mode != 'submit') { $this->_checkHasAccess(); } if ($mode == 'editsubmission') { if ($this->_retry == true) { $this->_loadFromArgs($_POST); } else { $this->_lid = COM_applyFilter($_GET['id']); $this->_loadSubmission($this->_lid); } } $ja = $_CONF['language'] == 'japanese_utf-8'; $T = new Template($_DLM_CONF['path_layout']); $T->set_file(array('t_mod_download' => 'mod_download.thtml', 't_mod_newfile' => 'mod_newfile.thtml', 't_mod_newfile2' => 'mod_newfile2.thtml', 't_mod_newfileshot' => 'mod_newfileshot.thtml', 't_mod_submit_delete' => 'mod_submit_delete.thtml', 't_mod_submit_cancel' => 'mod_submit_cancel.thtml', 't_mod_submit_preview' => 'mod_submit_preview.thtml', 't_mod_file_id' => 'mod_file_id.thtml', 't_mod_dl_file_name' => 'mod_dl_file_name.thtml', 't_mod_file_size' => 'mod_file_size.thtml', 't_mod_votes' => 'mod_votes.thtml', 't_mod_submitter' => 'mod_submitter.thtml', 't_mod_tempfile' => 'mod_tempfile.thtml', 't_mod_logourl' => 'mod_logourl.thtml', 't_mod_tempsnap' => 'mod_tempsnap.thtml', 't_mod_date' => 'mod_date' . ($ja ? '_ja' : '') . '.thtml', 't_mod_mg_autotag' => 'mod_mg_autotag.thtml')); if ($mode == 'submit') { $T->set_file(array('t_mod_newfile' => 'mod_newfilesubmit.thtml', 't_mod_newfileshot' => 'mod_newfileshotsubmit.thtml')); } DLM_setDefaultTemplateVars($T); $lang = array('main', 'fileid', 'filetitle', 'dlfilename', 'replfilename', 'homepage', 'ver', 'filesize', 'bytes', 'description', 'detail', 'category', 'shotimage', 'addshotimage', 'replshotimage', 'released', 'listing', 'yes', 'no', 'submit', 'delete', 'cancel', 'confirm_delete', 'submitter', 'release_date', 'postmode', 'comment_mode', 'project', 'toolbar', 'toolbar1', 'toolbar2', 'toolbar3', 'toolbar5', 'md5', 'mg_autotag', 'mg_autotag_info', 'upload', 'tags', 'preview'); foreach ($lang as $v) { $T->set_var('lang_' . $v, $LANG_DLM[$v]); } $action = 'index.php'; switch ($mode) { case 'edit': $op = 'saveDownload'; break; case 'create': $T->set_var('lang_submit', $LANG_DLM['add']); $T->set_var('lang_replfilename', $LANG_DLM['addfilename']); $T->set_var('lang_replshotimage', $LANG_DLM['addshotimage']); $op = 'add'; break; case 'clone': $T->set_var('lang_submit', $LANG_DLM['add']); $op = 'add'; break; case 'editsubmission': $T->set_var('lang_submit', $LANG_DLM['approve']); $op = 'approve'; break; case 'submit': $T->set_var('lang_submit', $LANG12[8]); $T->set_var('lang_replfilename', $LANG_DLM['addfilename']); $op = 'submit'; $action = 'submit.php?type=downloads'; break; } $categorylist = $this->_cat_tree->makeSelBox('title', 'corder', $this->_cid, 0, 'cid'); if ($mode == 'edit' || $mode == 'clone' || $mode == 'editsubmission') { if (empty($this->_old_lid)) { $this->_old_lid = $this->_lid; } $this->_title = DLM_htmlspecialchars(stripslashes($this->_title)); $this->_project = DLM_htmlspecialchars(stripslashes($this->_project)); $pathstring = $this->_cat_tree->getNicePathFromId($cid, "title", "{$_CONF['site_url']}/downloads/index.php?op="); $this->_url = DLM_htmlspecialchars(stripslashes($this->_url)); $this->_logourl = DLM_htmlspecialchars(stripslashes($this->_logourl)); $this->_mg_autotag = DLM_htmlspecialchars(stripslashes($this->_mg_autotag)); $this->_tags = DLM_htmlspecialchars(stripslashes($this->_tags)); $this->_homepage = DLM_htmlspecialchars(stripslashes($this->_homepage)); $this->_version = DLM_htmlspecialchars($this->_version); $this->_size = DLM_htmlspecialchars($this->_size); $this->_md5 = DLM_htmlspecialchars(stripslashes($this->_md5)); } if ($mode == 'editsubmission') { $tempfileurl = $_CONF['site_url'] . '/admin/plugins/downloads/tmpfile.php?id=' . $this->_lid; $tempsnapurl = ''; if (!empty($this->_logourl)) { $tempsnapurl = $_DLM_CONF['snapstore_url'] . '/tmp' . date('YmdHis', $this->_date) . DLM_createSafeFileName($this->_logourl); } $T->set_var('lang_tempfile', $LANG_DLM['tempfile']); $T->set_var('tempsnapurl', $tempsnapurl); $T->set_var('tempfileurl', $tempfileurl); } if ($mode == 'clone') { if ($this->_retry != true && !empty($this->_lid)) { $this->_lid = $this->_createID($this->_lid . '_'); if (strlen($this->_lid) > 40) { $this->_lid = $this->_createID(); } } } if (version_compare(VERSION, '2.1.0') >= 0) { require_once $_CONF['path_system'] . 'classes/gltext.class.php'; $description = GLText::getEditText($this->_description, $this->_postmode, 2); $detail = GLText::getEditText($this->_detail, $this->_postmode, 2); $file_description = GLText::getPreviewText($this->_description, $this->_postmode, 'story.edit', 2); $file_detail = GLText::getPreviewText($this->_detail, $this->_postmode, 'story.edit', 2); } else { require_once $_CONF['path'] . 'plugins/downloads/include/gltext.class.php'; $gltext = new GLPText(); $description = $gltext->getEditText($this->_description, $this->_postmode); $detail = $gltext->getEditText($this->_detail, $this->_postmode); $file_description = $gltext->getDisplayText($this->_description, $this->_postmode); $file_detail = $gltext->getDisplayText($this->_detail, $this->_postmode); } list($year, $month, $day, $hour, $minute, $second) = explode(',', date('Y,m,d,H,i,s', $this->_date)); $enabled_adv_editor = $_CONF['advanced_editor'] && $_USER['advanced_editor']; $show_texteditor = ''; $show_htmleditor = 'none'; if ($enabled_adv_editor && $this->_postmode == 'adveditor') { $show_texteditor = 'none'; $show_htmleditor = ''; } $allowed_html = ''; if (version_compare(VERSION, '2.1.0') >= 0) { $postmode_list = 'plaintext,html'; if ($enabled_adv_editor) { $postmode_list .= ',adveditor'; } if ($_CONF['wikitext_editor']) { $postmode_list .= ',wikitext'; } $postmode_array = explode(',', $postmode_list); foreach ($postmode_array as $pm) { $allowed_html .= COM_allowedHTML('story.edit', false, 1, $pm); } $allowed_html .= COM_allowedAutotags(false, array('code', 'raw')); } else { $allowed_html = COM_allowedHTML(); $allowed_html = str_replace('[page_break], ', '', $allowed_html); // No support [page_break] } $T->set_var('lang_allowed_html', $allowed_html); if (version_compare(VERSION, '2.1.0') >= 0) { // Loads jQuery UI datepicker and timepicker-addon $_SCRIPTS->setJavaScriptLibrary('jquery.ui.slider'); $_SCRIPTS->setJavaScriptLibrary('jquery.ui.datepicker'); $_SCRIPTS->setJavaScriptLibrary('jquery-ui-i18n'); $_SCRIPTS->setJavaScriptLibrary('jquery-ui-timepicker-addon'); $_SCRIPTS->setJavaScriptLibrary('jquery-ui-timepicker-addon-i18n'); $_SCRIPTS->setJavaScriptFile('datetimepicker', '/javascript/datetimepicker.js'); $langCode = COM_getLangIso639Code(); $toolTip = $MESSAGE[118]; $imgUrl = $_CONF['site_url'] . '/images/calendar.png'; $_SCRIPTS->setJavaScript("jQuery(function () {" . " geeklog.hour_mode = 24;" . " geeklog.datetimepicker.set('release', '{$langCode}', '{$toolTip}', '{$imgUrl}');" . "});", TRUE, TRUE); } if ($enabled_adv_editor) { // Add JavaScript if (version_compare(VERSION, '2.1.0') >= 0) { $_SCRIPTS->setJavaScriptFile('postmode_control', '/javascript/postmode_control.js'); COM_setupAdvancedEditor('/downloads/adveditor.js', 'story.edit'); } else { if (version_compare(VERSION, '2.0.0') < 0) { $js = 'geeklogEditorBasePath = "' . $_CONF['site_url'] . '/fckeditor/";'; $_SCRIPTS->setJavaScript($js, true); } $_SCRIPTS->setJavaScriptFile('fckeditor', '/fckeditor/fckeditor.js'); $_SCRIPTS->setJavaScriptFile('downloadeditor_fckeditor', '/downloads/downloadeditor_fckeditor.js'); } } if (empty($this->_postmode)) { $this->_postmode = $_DLM_CONF['postmode']; } $post_options = COM_optionList($_TABLES['postmodes'], 'code,name', $this->_postmode); if ($enabled_adv_editor) { if ($this->_postmode == 'adveditor') { $post_options .= '<option value="adveditor" ' . UC_SELECTED . '>' . $LANG24[86] . '</option>'; } else { $post_options .= '<option value="adveditor">' . $LANG24[86] . '</option>'; } } if ($_CONF['wikitext_editor']) { if ($this->_postmode == 'wikitext') { $post_options .= '<option value="wikitext" ' . UC_SELECTED . '>' . $LANG24[88] . '</option>'; } else { $post_options .= '<option value="wikitext">' . $LANG24[88] . '</option>'; } } $hidden_values = $this->_makeForm_hidden('owner_id', $this->_owner_id); $hidden_values .= $this->_makeForm_hidden('editor_mode', $this->_editor_mode); $hidden_values .= $this->_makeForm_hidden('page', $this->_page); if (!empty($this->_listing_cid) && $this->_listing_cid != ROOTID) { $hidden_values .= $this->_makeForm_hidden('listing_cid', $this->_listing_cid); } $T->set_var('show_texteditor', $show_texteditor); $T->set_var('show_htmleditor', $show_htmleditor); $T->set_var('post_options', $post_options); $T->set_var('action', $action); $T->set_var('op', $op); $T->set_var('lid', $this->_lid); $T->set_var('old_lid', $this->_old_lid); $T->set_var('pathstring', $pathstring); $T->set_var('title', $this->_title); $T->set_var('url', $this->_url); $T->set_var('homepage', $this->_homepage); $T->set_var('version', $this->_version); $T->set_var('size', $this->_size); $T->set_var('md5', $this->_md5); $T->set_var('logourl', $this->_logourl); $T->set_var('mg_autotag', $this->_mg_autotag); $T->set_var('tags', $this->_tags); $T->set_var('description', $description); $T->set_var('detail', $detail); $T->set_var('project', $this->_project); $T->set_var('snapstore_url', $_DLM_CONF['snapstore_url']); $T->set_var('categorylist', $categorylist); $T->set_var('val_is_released_1', $this->_is_released ? UC_SELECTED : ''); $T->set_var('val_is_released_0', !$this->_is_released ? UC_SELECTED : ''); $T->set_var('val_is_listing_1', $this->_is_listing ? UC_SELECTED : ''); $T->set_var('val_is_listing_0', !$this->_is_listing ? UC_SELECTED : ''); $T->set_var('shot_autotag', $this->_makeForm_shot_mg_autotag()); $T->set_var('shot', $this->_makeForm_shot()); $T->set_var('year_options', COM_getYearFormOptions($year)); $T->set_var('month_options', DLM_getMonthFormOptions($month)); $T->set_var('day_options', COM_getDayFormOptions($day)); $T->set_var('hour_options', COM_getHourFormOptions($hour, 24)); $T->set_var('minute_options', COM_getMinuteFormOptions($minute, 1)); $T->set_var('second_options', COM_getMinuteFormOptions($second, 1)); $T->set_var('old_date', $this->_date); $T->set_var('comment_options', COM_optionList($_TABLES['commentcodes'], 'code,name', $this->_commentcode)); $T->set_var('gltoken_name', CSRF_TOKEN); $T->set_var('gltoken', SEC_createToken()); $T->set_var('submitter', $this->_owner_id); $T->set_var('displayName', COM_getDisplayName($this->_owner_id)); if ($mode == 'submit') { $T->set_var('lang_commentoption', $LANG_DLM['commentoption']); $T->set_var('val_commentoption_1', UC_SELECTED); $T->set_var('val_commentoption_0', ''); } $T->parse('mod_submitter', 't_mod_submitter'); if ($mode == 'editsubmission' || $mode == 'submit') { $T->set_var('mod_mg_autotag', ''); $hidden_values .= $this->_makeForm_hidden('mg_autotag', $this->_mg_autotag); } else { if ($_DLM_CONF['enabled_mg_autotag'] == 1) { $T->parse('mod_mg_autotag', 't_mod_mg_autotag'); } else { $T->set_var('mod_mg_autotag', ''); $hidden_values .= $this->_makeForm_hidden('mg_autotag', $this->_mg_autotag); } } $T->set_var('hidden_values', $hidden_values); if ($mode == 'edit' || $mode == 'clone') { $T->parse('mod_newfile', 't_mod_newfile'); $T->parse('mod_newfileshot', 't_mod_newfileshot'); if ($mode == 'edit') { $T->parse('mod_submit_delete', 't_mod_submit_delete'); } $T->parse('mod_submit_cancel', 't_mod_submit_cancel'); $T->parse('mod_file_size', 't_mod_file_size'); } if ($mode == 'editsubmission') { $T->parse('mod_dl_file_name', 't_mod_dl_file_name'); $T->parse('mod_tempfile', 't_mod_tempfile'); $T->parse('mod_file_size', 't_mod_file_size'); $T->set_var('mod_tempsnap', ''); if ($tempsnapurl != '') { $T->parse('mod_tempsnap', 't_mod_tempsnap'); } $T->parse('mod_logourl', 't_mod_logourl'); $T->parse('mod_submit_delete', 't_mod_submit_delete'); $T->parse('mod_submit_cancel', 't_mod_submit_cancel'); } if ($mode == 'create') { $T->parse('mod_newfile', 't_mod_newfile2'); $T->parse('mod_newfileshot', 't_mod_newfileshot'); $T->parse('mod_submit_cancel', 't_mod_submit_cancel'); } if ($mode == 'submit') { $T->parse('mod_newfile', 't_mod_newfile'); $T->parse('mod_newfileshot', 't_mod_newfileshot'); } if ($_DLM_CONF['enabled_preview_on_upload'] === false && ($mode == 'create' || $mode == 'submit')) { $T->set_var('mod_submit_preview', ''); } else { $T->parse('mod_submit_preview', 't_mod_submit_preview'); } $T->parse('mod_file_id', 't_mod_file_id'); $T->parse('mod_date', 't_mod_date'); $T->parse('output', 't_mod_download'); $blocktitle = $LANG_DLM['moddl']; if ($mode == 'editsubmission') { $blocktitle = $LANG_DLM['dlswaiting']; } if ($mode == 'create') { $blocktitle = $LANG_DLM['addnewfile']; } if ($mode == 'clone') { $blocktitle = $LANG_DLM['addnewfile']; } if ($mode == 'submit') { $blocktitle = $LANG_DLM['uploadtitle']; } $retval .= $this->_showMessage(); $retval .= COM_startBlock($blocktitle, '', COM_getBlockTemplate('_admin_block', 'header')); $retval .= $T->finish($T->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); if (!empty($file_description) || !empty($file_detail)) { // Display Preview Block $T2 = new Template($_DLM_CONF['path_layout']); $T2->set_file('t_mod_preview', 'mod_preview.thtml'); $T2->set_var('file_description', $file_description); $T2->set_var('file_detail', $file_detail); $T2->parse('output', 't_mod_preview'); $blocktitle = $LANG_DLM['preview']; $retval .= COM_startBlock($blocktitle, '', COM_getBlockTemplate('_admin_block', 'header')); $retval .= $T2->finish($T2->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); } if ($mode == 'edit') { // Display File Voting Information $retval .= $this->_showVotes_reguser($this->_lid); $retval .= $this->_showVotes_anon($this->_lid); } if ($mode != 'submit' || $this->_retry == true) { $retval = DLM_createHTMLDocument($retval, array('pagetitle' => $blocktitle)); } return $retval; }