public static function purifyText($text, $keyword = false) { $myts =& Xmf_Sanitizer::getInstance(); $text = str_replace(' ', ' ', $text); $text = str_replace('<br />', ' ', $text); $text = str_replace('<br/>', ' ', $text); $text = str_replace('<br', ' ', $text); $text = strip_tags($text); $text = html_entity_decode($text); $text = $myts->undoHtmlSpecialChars($text); $text = str_replace(')', ' ', $text); $text = str_replace('(', ' ', $text); $text = str_replace(':', ' ', $text); $text = str_replace('&euro', ' euro ', $text); $text = str_replace('&hellip', '...', $text); $text = str_replace('&rsquo', ' ', $text); $text = str_replace('!', ' ', $text); $text = str_replace('?', ' ', $text); $text = str_replace('"', ' ', $text); $text = str_replace('-', ' ', $text); $text = str_replace('\\n', ' ', $text); $text = str_replace('―', ' ', $text); if ($keyword) { $text = str_replace('.', ' ', $text); $text = str_replace(',', ' ', $text); $text = str_replace('\'', ' ', $text); } $text = str_replace(';', ' ', $text); return $text; }
/** * Output a dump of a variable * * @param string $var variable which will be dumped */ function dump($var, $echo = true, $exit = false) { $myts = Xmf_Sanitizer::getInstance(); $msg = $myts->displayTarea(var_export($var, true)); $msg = "<div style='padding: 5px; font-weight: bold'>{$msg}</div>"; if (!$echo) { return $msg; } echo $msg; if ($exit) { die; } }
/** * Constructor for xoopsMetagen * * @param string $title Page title * @param string $keywords List of meta keywords * @param string $description Meta description * @param string $categoryPath * */ function __construct($title, $keywords = false, $description = false, $categoryPath = false) { $this->_myts =& Xmf_Sanitizer::getInstance(); $this->setCategoryPath($categoryPath); $this->setTitle($title); $this->setDescription($description); if (!$keywords) { $keywords = $this->createMetaKeywords(); } /* $myts = MyTextSanitizer::getInstance(); if (method_exists($myts, 'formatForML')) { $keywords = $myts->formatForML($keywords); $description = $myts->formatForML($description); } */ $this->setKeywords($keywords); }
/** * Clean values of all variables of the object for storage. * also add slashes and quote string whereever needed * * CleanVars only contains changed and cleaned variables * Reference is used for PHP4 compliance * * @return bool true if successful * @access public */ function cleanVars(&$object) { $ts =& Xmf_Sanitizer::getInstance(); $errors = array(); $vars = $object->getVars(); $object->cleanVars = array(); foreach ($vars as $k => $v) { if (!$v["changed"]) { continue; } $cleanv = $v['value']; $cleanv = Xmf_Object_Dtype::cleanVars($object, $k, $v, $cleanv); $object->cleanVars[$k] = $cleanv; } if (!empty($errors)) { $object->setErrors($errors); } $object->unsetDirty(); //print_r($errors);exit(); return empty($errors) ? true : false; }
/** * Retrieve a list of objects data * * @param object $criteria {@link CriteriaElement} conditions to be met * @param int $limit Max number of objects to fetch * @param int $start Which record to start at * * @return array */ function getList($criteria = null, $limit = 0, $start = 0) { $ret = array(); if ($criteria == null) { $criteria = new CriteriaCompo(); } $sql = "SELECT `{$this->handler->keyName}`"; if (!empty($this->handler->identifierName)) { $sql .= ", `{$this->handler->identifierName}`"; } $sql .= " FROM `{$this->handler->table}`"; if (isset($criteria) && is_subclass_of($criteria, 'xmf_criteria_element')) { $sql .= ' ' . $criteria->renderWhere(); if ($sort = $criteria->getSort()) { $sql .= ' ORDER BY ' . $sort . ' ' . $criteria->getOrder(); } $limit = $criteria->getLimit(); $start = $criteria->getStart(); } $result = $this->handler->db->query($sql, $limit, $start); if (!$result) { return $ret; } $myts =& Xmf_Sanitizer::getInstance(); while ($myrow = $this->handler->db->fetchArray($result)) { //identifiers should be textboxes, so sanitize them like that $ret[$myrow[$this->handler->keyName]] = empty($this->handler->identifierName) ? 1 : $myts->htmlSpecialChars($myrow[$this->handler->identifierName]); } return $ret; }
function _sanitize($value) { $myts =& Xmf_Sanitizer::getInstance(); return $myts->displayTarea($value, 1); }
function init() { $this->db =& XoopsDatabaseFactory::getDatabaseConnection(); $this->ts =& Xmf_Sanitizer::getInstance(); }
/** * create HTML to output the form as a theme-enabled table with validation. * * @param bool $withtags whether to add script HTML tag to the $js string * @return bool $js the constructed javascript validation string */ function renderValidationJS($withtags = true) { $js = ""; if ($withtags) { $js .= "\n<!-- Start Form Validation JavaScript //-->\n<script type='text/javascript'>\n<!--//\n"; } $myts =& Xmf_Sanitizer::getInstance(); $formname = $this->getName(); $js .= "function xoopsFormValidate_{$formname}(myform) {"; // First, output code to check required elements $elements = $this->getRequired(); foreach ($elements as $elt) { $eltname = $elt->getName(); $eltcaption = trim($elt->getCaption()); $eltmsg = empty($eltcaption) ? sprintf(_FORM_ENTER, $eltname) : sprintf(_FORM_ENTER, $eltcaption); $eltmsg = str_replace('"', '\\"', stripslashes($eltmsg)); if (strtolower(get_class($elt)) == 'xmf_form_element_radio') { $js .= "var myOption = -1;"; $js .= "for (i=myform.{$eltname}.length-1; i > -1; i--) {\r\n if (myform.{$eltname}[i].checked) {\r\n myOption = i; i = -1;\r\n }\r\n }\r\n if (myOption == -1) {\r\n window.alert(\"{$eltmsg}\"); myform.{$eltname}[0].focus(); return false; }\n"; } elseif (strtolower(get_class($elt)) == 'xmf_form_element_selectmulti') { $js .= "var hasSelections = false;"; $js .= "for(var i = 0; i < myform['{$eltname}[]'].length; i++){\r\n if (myform['{$eltname}[]'].options[i].selected) {\r\n hasSelections = true;\r\n }\r\n\r\n }\r\n if (hasSelections == false) {\r\n window.alert(\"{$eltmsg}\"); myform['{$eltname}[]'].options[0].focus(); return false; }\n"; } elseif (strtolower(get_class($elt)) == 'xoopsformcheckbox') { $js .= "var hasSelections = false;"; //sometimes, there is an implicit '[]', sometimes not if (strpos($eltname, '[') === false) { $js .= "for(var i = 0; i < myform['{$eltname}[]'].length; i++){\r\n if (myform['{$eltname}[]'][i].checked) {\r\n hasSelections = true;\r\n }\r\n\r\n }\r\n if (hasSelections == false) {\r\n window.alert(\"{$eltmsg}\"); myform['{$eltname}[]'][0].focus(); return false; }\n"; } else { $js .= "for(var i = 0; i < myform['{$eltname}'].length; i++){\r\n if (myform['{$eltname}'][i].checked) {\r\n hasSelections = true;\r\n }\r\n\r\n }\r\n if (hasSelections == false) {\r\n window.alert(\"{$eltmsg}\"); myform['{$eltname}'][0].focus(); return false; }\n"; } } else { $js .= "if ( myform.{$eltname}.value == \"\" ) " . "{ window.alert(\"{$eltmsg}\"); myform.{$eltname}.focus(); return false; }\n"; } } // Now, handle custom validation code $elements = $this->getElements(true); foreach ($elements as $elt) { if (method_exists($elt, 'renderValidationJS') && strtolower(get_class($elt)) != 'xmf_form_element_checkbox') { if ($eltjs = $elt->renderValidationJS()) { $js .= $eltjs . "\n"; } } } $js .= "return true;\n}\n"; if ($withtags) { $js .= "//--></script>\n<!-- End Form Validation JavaScript //-->\n"; } return $js; }
function codeIcon() { $textarea_id = $this->getName(); $code = "<a name='moresmiley'></a>" . "<img src='" . XOOPS_URL . "/images/url.gif' alt='" . _XOOPS_FORM_ALT_URL . "' title='" . _XOOPS_FORM_ALT_URL . "' onclick='xoopsCodeUrl(\"{$textarea_id}\", \"" . htmlspecialchars(_ENTERURL, ENT_QUOTES) . "\", \"" . htmlspecialchars(_ENTERWEBTITLE, ENT_QUOTES) . "\");' onmouseover='style.cursor=\"hand\"'/> " . "<img src='" . XOOPS_URL . "/images/email.gif' alt='" . _XOOPS_FORM_ALT_EMAIL . "' title='" . _XOOPS_FORM_ALT_EMAIL . "' onclick='xoopsCodeEmail(\"{$textarea_id}\", \"" . htmlspecialchars(_ENTEREMAIL, ENT_QUOTES) . "\");' onmouseover='style.cursor=\"hand\"'/> " . "<img src='" . XOOPS_URL . "/images/imgsrc.gif' alt='" . _XOOPS_FORM_ALT_IMG . "' title='" . _XOOPS_FORM_ALT_IMG . "' onclick='xoopsCodeImg(\"{$textarea_id}\", \"" . htmlspecialchars(_ENTERIMGURL, ENT_QUOTES) . "\", \"" . htmlspecialchars(_ENTERIMGPOS, ENT_QUOTES) . "\", \"" . htmlspecialchars(_IMGPOSRORL, ENT_QUOTES) . "\", \"" . htmlspecialchars(_ERRORIMGPOS, ENT_QUOTES) . "\", \"" . htmlspecialchars(_XOOPS_FORM_ALT_ENTERWIDTH, ENT_QUOTES) . "\");' onmouseover='style.cursor=\"hand\"'/> " . "<img src='" . XOOPS_URL . "/images/image.gif' alt='" . _XOOPS_FORM_ALT_IMAGE . "' title='" . _XOOPS_FORM_ALT_IMAGE . "' onclick='openWithSelfMain(\"" . XOOPS_URL . "/imagemanager.php?target={$textarea_id}\",\"imgmanager\",400,430);' onmouseover='style.cursor=\"hand\"'/> " . "<img src='" . XOOPS_URL . "/images/smiley.gif' alt='" . _XOOPS_FORM_ALT_SMILEY . "' title='" . _XOOPS_FORM_ALT_SMILEY . "' onclick='openWithSelfMain(\"" . XOOPS_URL . "/misc.php?action=showpopups&type=smilies&target={$textarea_id}\",\"smilies\",300,475);' onmouseover='style.cursor=\"hand\"'/> "; $myts =& Xmf_Sanitizer::getInstance(); $extensions = array_filter($myts->config['extensions']); foreach (array_keys($extensions) as $key) { $extension = $myts->loadExtension($key); @(list($encode, $js) = $extension->encode($textarea_id)); if (empty($encode)) { continue; } $code .= $encode; if (!empty($js)) { $this->js .= $js; } } $code .= "<img src='" . XOOPS_URL . "/images/code.gif' alt='" . _XOOPS_FORM_ALT_CODE . "' title='" . _XOOPS_FORM_ALT_CODE . "' onclick='xoopsCodeCode(\"{$textarea_id}\", \"" . htmlspecialchars(_ENTERCODE, ENT_QUOTES) . "\");' onmouseover='style.cursor=\"hand\"'/> " . "<img src='" . XOOPS_URL . "/images/quote.gif' alt='" . _XOOPS_FORM_ALT_QUOTE . "' title='" . _XOOPS_FORM_ALT_QUOTE . "' onclick='xoopsCodeQuote(\"{$textarea_id}\", \"" . htmlspecialchars(_ENTERQUOTE, ENT_QUOTES) . "\");' onmouseover='style.cursor=\"hand\"'/>"; return $code; }