function transfer_dokuwiki(&$data) { global $xoopsModule, $xoopsConfig, $xoopsUser, $xoopsModuleConfig; global $xoopsLogger, $xoopsOption, $xoopsTpl, $xoopsblock; $_config = require(dirname(__FILE__)."/config.php"); $hiddens["id"] = $_config["namespace"].":".$_config["prefix"].$data["id"]; $content = MyTextSanitizer::nl2Br($data["content"]); // Comment open: we need a lite html2wiki convertor $content = str_replace("<br />", "\\\\ ", $content); $content = str_replace("<br>", "\\\\ ", $content); $content = preg_replace_callback("/<a[\s]+href=(['\"]?)([^\"'<>]*)\\1[^>]*>([^<]*)<\/a>/imu", "transfer_parse_html_to_wiki", $content); $content = preg_replace_callback("/<img[\s]+src=(['\"]?)([^\"'<>]*)\\1[\s]+(alt=(['\"]?)([^\"'<>]*)\\3)?[^>]*>/imu", "transfer_parse_img_to_wiki", $content); $content = forum_html2text($content); // Comment close; $hiddens["wikitext"] = "=====".$data["title"]."===== \n". $content . "\\\\ \\\\ [[".$data["url"]."|".$data["title"].": "._MORE."]]"; $hiddens["summary"] = $data["title"]; $hiddens["do"] = "preview"; include XOOPS_ROOT_PATH."/header.php"; require_once(XOOPS_ROOT_PATH . "/class/xoopsformloader.php"); $form_dokuwiki = new XoopsThemeForm(_MD_TRANSFER_DOKUWIKI, "formdokuwiki", XOOPS_URL."/modules/".$_config["module"]."/doku.php"); foreach(array_keys($hiddens) as $key){ $form_dokuwiki->addElement(new XoopsFormHidden($key, str_replace("'", "'",$hiddens[$key]))); } $namespace_option_tray = new XoopsFormElementTray(_MD_TRANSFER_DOKUWIKI_NAMESPACE, "<br />"); require XOOPS_ROOT_PATH."/modules/".$_config["module"]."/inc/init.php"; $dir_array =& transfer_getDirListAsArray($conf["datadir"], $_config["namespace_skip"]); $dir_array = array_merge(array(0=>_NONE), $dir_array); $namespace_select = new XoopsFormSelect(_SELECT, "namespace_sel", "transfer"); $namespace_select->addOptionArray($dir_array); $namespace_option_tray->addElement($namespace_select); $namespace_option_tray->addElement(new XoopsFormText(_ADD, "namespace_new", 50, 100)); $form_dokuwiki->addElement($namespace_option_tray); $form_dokuwiki->addElement(new XoopsFormText(_MD_TRANSFER_DOKUWIKI_NAME, "name", 50, 255, $_config["prefix"].$data["id"])); $submit_button = new XoopsFormButton("", "ok", _SUBMIT, "button"); $submit_button->setExtra('onclick=" var namespace = escape(\''.$_config["namespace"].'\'); var name = escape(\''.$_config["prefix"].$data["id"].'\'); var changed = 0; if(window.document.formdokuwiki.name.value.length>0){ name = window.document.formdokuwiki.name.value; changed = 1; } if(window.document.formdokuwiki.namespace_new.value.length>0){ namespace = window.document.formdokuwiki.namespace_new.value; changed = 1; }else{ var namespace_sel = window.document.formdokuwiki.namespace_sel.options[window.document.formdokuwiki.namespace_sel.selectedIndex].value; if(namespace_sel != namespace){ namespace = namespace_sel; changed = 1; } } if(changed ==1){ window.document.formdokuwiki.id.value = null; if(namespace !=0) window.document.formdokuwiki.id.value = namespace+\':\'; window.document.formdokuwiki.id.value += name; } window.document.formdokuwiki.submit(); "'); $cancel_button = new XoopsFormButton('', 'cancel', _CANCEL, 'button'); $button_tray = new XoopsFormElementTray(""); $button_tray->addElement($submit_button); $button_tray->addElement($cancel_button); $form_dokuwiki->addElement($button_tray); $form_dokuwiki->display(); $GLOBALS["xoopsOption"]['output_type'] = "plain"; include XOOPS_ROOT_PATH."/footer.php"; exit(); }
function &nl2Br($text) { $text = parent::nl2Br($text); if ($this->nbsp) { $patterns = array(' ', '\\"'); $replaces = array(' ', '"'); $text = substr(preg_replace('/\\>.*\\</esU', "str_replace(\$patterns,\$replaces,'\\0')", ">{$text}<"), 1, -1); } return $text; }
function getScraps($nbscraps, $criteria) { $myts = new MyTextSanitizer(); $ret = array(); $sql = 'SELECT scrap_id, uid, uname, user_avatar, scrap_from, scrap_text FROM ' . $this->db->prefix('yogurt_scraps') . ', ' . $this->db->prefix('users'); if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { $sql .= ' ' . $criteria->renderWhere(); //attention here this is kind of a hack $sql .= " AND uid = scrap_from"; if ($criteria->getSort() != '') { $sql .= ' ORDER BY ' . $criteria->getSort() . ' ' . $criteria->getOrder(); } $limit = $criteria->getLimit(); $start = $criteria->getStart(); $result = $this->db->query($sql, $limit, $start); $vetor = array(); $i = 0; while ($myrow = $this->db->fetchArray($result)) { $vetor[$i]['uid'] = $myrow['uid']; $vetor[$i]['uname'] = $myrow['uname']; $vetor[$i]['user_avatar'] = $myrow['user_avatar']; $temptext = $myts->xoopsCodeDecode($myrow['scrap_text'], 1); $vetor[$i]['text'] = $myts->nl2Br($temptext); $vetor[$i]['id'] = $myrow['scrap_id']; $i++; } return $vetor; } }