Example #1
0
 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('&#8213;', ' ', $text);
     if ($keyword) {
         $text = str_replace('.', ' ', $text);
         $text = str_replace(',', ' ', $text);
         $text = str_replace('\'', ' ', $text);
     }
     $text = str_replace(';', ' ', $text);
     return $text;
 }
Example #2
0
 /**
  * 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;
     }
 }
Example #3
0
 /**
  * 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);
 }
Example #4
0
 /**
  * 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;
 }
Example #5
0
 /**
  * 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;
 }
Example #6
0
 function _sanitize($value)
 {
     $myts =& Xmf_Sanitizer::getInstance();
     return $myts->displayTarea($value, 1);
 }
Example #7
0
 function init()
 {
     $this->db =& XoopsDatabaseFactory::getDatabaseConnection();
     $this->ts =& Xmf_Sanitizer::getInstance();
 }
Example #8
0
 /**
  * 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;
 }
Example #9
0
 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\"'/>&nbsp;" . "<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\"'/>&nbsp;" . "<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\"'/>&nbsp;" . "<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\"'/>&nbsp;" . "<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&amp;type=smilies&amp;target={$textarea_id}\",\"smilies\",300,475);'  onmouseover='style.cursor=\"hand\"'/>&nbsp;";
     $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\"'/>&nbsp;" . "<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;
 }