function processPreview($request) { // Ticket Check if (!$GLOBALS['xoopsGTicket']->check(true, 'pico')) { redirect_header(XOOPS_URL . '/', 3, $GLOBALS['xoopsGTicket']->getErrors()); } // initialize $cat_data = $this->currentCategoryObj->getData(); $myts =& PicoTextSanitizer::getInstance(); // assigning other than preview/request // parent::execute( $request ) ; // permission check (can_edit) done // request $request = pico_get_requests4content($this->mydirname, $errors = array(), $cat_data['post_auto_approved'], $cat_data['isadminormod'], $this->assign['content']['id']); $request['body_raw'] = $request['body']; $request['subject_raw'] = $request['subject']; $request4assign = array_map('htmlspecialchars_ent', $request); $this->assign['request'] = $request4assign; // override content data for edit $this->assign['content'] = $request4assign + $this->assign['content']; $this->assign['content']['filter_infos'] = pico_main_get_filter_infos($request['filters'], $cat_data['isadminormod']); $this->assign['content']['body_raw'] = $request['body']; $this->assign['content']['extra_fields'] = $request['extra_fields']; $this->assign['content']['ef'] = pico_common_unserialize($request['extra_fields']); // temporary $contentObj $tmpContentObj = new PicoContent($this->mydirname, 0, $this->currentCategoryObj, true); // preview $this->assign['preview'] = array('errors' => $errors, 'htmlheader' => $request['htmlheader'], 'subject' => $myts->makeTboxData4Show($request['subject'], 1, 1), 'body' => $tmpContentObj->filterBody($this->assign['content'])); }
function pico_xcode($mydirname, $text, $content4assign) { require_once dirname(dirname(__FILE__)) . '/class/pico.textsanitizer.php'; $myts =& PicoTextSanitizer::getInstance(); // html=on, smiley=0, xcode=1, $image=1, $br=0 $text = $myts->displayTarea($text, 1, 0, 1, 1, 0); $text = $myts->pageBreak($mydirname, $text, $content4assign); return $text; }
function filterBody($content4assign) { $db =& Database::getInstance(); // marking for compiling errors if ($content4assign['last_cached_time'] < $content4assign['modified_time']) { if ($content4assign['body_cached'] == _MD_PICO_ERR_COMPILEERROR) { return $content4assign['body_cached']; } else { $db->queryF("UPDATE " . $db->prefix($this->mydirname . "_contents") . " SET body_cached='" . mysql_real_escape_string(_MD_PICO_ERR_COMPILEERROR) . "' WHERE content_id=" . intval($content4assign['content_id'])); } } // wraps special check (compare filemtime with modified_time ) /*if( strstr( $content4assign['filters'] , 'wraps' ) && $content4assign['vpath'] ) { $wrap_full_path = XOOPS_TRUST_PATH._MD_PICO_WRAPBASE.'/'.$this->mydirname.str_replace('..','',$content4assign['vpath']) ; if( @filemtime( $wrap_full_path ) > @$content4assign['modified_time'] ) { $db->queryF( "UPDATE ".$db->prefix($this->mydirname."_contents")." SET modified_time='".filemtime( $wrap_full_path )."' WHERE content_id=".intval($content4assign['content_id']) ) ; } }*/ // process each filters $text = $content4assign['body_raw']; $filters = explode('|', $content4assign['filters']); foreach (array_keys($filters) as $i) { $filter = trim($filters[$i]); if (empty($filter)) { continue; } // xcode special check if ($filter == 'xcode') { $nl2br = $smiley = 0; for ($j = $i + 1; $j < $i + 3; $j++) { if (@$filters[$j] == 'nl2br') { $nl2br = 1; $filters[$j] = ''; } else { if (@$filters[$j] == 'smiley') { $smiley = 1; $filters[$j] = ''; } } } require_once dirname(dirname(__FILE__)) . '/class/pico.textsanitizer.php'; $myts =& PicoTextSanitizer::getInstance(); $text = $myts->displayTarea($text, 1, $smiley, 1, 1, $nl2br); $text = $myts->pageBreak($this->mydirname, $text, $content4assign); continue; } $func_name = 'pico_' . $filter; $file_path = dirname(dirname(__FILE__)) . '/filters/pico_' . $filter . '.php'; if (!function_exists($func_name)) { require_once $file_path; } $text = $func_name($this->mydirname, $text, $content4assign); } // store the result into body_cached and for_search field just after modification of the content // if( empty( $content4assign['for_search'] ) ) { if ($content4assign['last_cached_time'] < $content4assign['modified_time']) { $for_search = $content4assign['subject_raw'] . ' ' . strip_tags($text) . ' ' . implode(' ', array_values(pico_common_unserialize(@$content4assign['extra_fields']))); $db->queryF("UPDATE " . $db->prefix($this->mydirname . "_contents") . " SET body_cached='" . mysql_real_escape_string($text) . "', for_search='" . mysql_real_escape_string($for_search) . "', last_cached_time=UNIX_TIMESTAMP() WHERE content_id=" . intval($content4assign['content_id'])); } return $text; }
<?php require_once dirname(dirname(__FILE__)) . '/include/main_functions.php'; require_once dirname(dirname(__FILE__)) . '/include/common_functions.php'; require_once dirname(dirname(__FILE__)) . '/include/transact_functions.php'; require_once dirname(dirname(__FILE__)) . '/include/import_functions.php'; require_once dirname(dirname(__FILE__)) . '/include/history_functions.php'; require_once dirname(dirname(__FILE__)) . '/class/pico.textsanitizer.php'; require_once dirname(dirname(__FILE__)) . '/class/gtickets.php'; $myts =& PicoTextSanitizer::getInstance(); $db =& Database::getInstance(); define('SPECIAL_CAT_ID_ALL', -1); define('SPECIAL_CAT_ID_DELETED', -2); // get exportable modules $module_handler =& xoops_gethandler('module'); $modules =& $module_handler->getObjects(); $exportable_modules = array('0' => '----'); foreach ($modules as $module) { $mid = $module->getVar('mid'); $dirname = $module->getVar('dirname'); $dirpath = XOOPS_ROOT_PATH . '/modules/' . $dirname; $mytrustdirname = ''; $tables = $module->getInfo('tables'); if (file_exists($dirpath . '/mytrustdirname.php')) { include $dirpath . '/mytrustdirname.php'; } if ($mytrustdirname == 'pico' && $dirname != $mydirname) { // pico $exportable_modules[$mid] = $module->getVar('name') . " ({$dirname})"; } }
function getData4html() { $myts =& PicoTextSanitizer::getInstance(); return array('link' => pico_common_make_category_link4html($this->mod_config, $this->data), 'title' => $myts->makeTboxData4Show($this->data['cat_title'], 1, 1), 'desc' => $myts->displayTarea($this->data['cat_desc'], 1), 'weight' => intval($this->data['cat_weight'])) + $this->data; }