function parseCSS($filename, $filebase, $imgbase) { $css = file_get_contents($filebase.$filename); $imports = explode("@import", $css); $cssmin = changeUrls($imports[0], $imgbase); for ($i=1; $i < count($imports); $i++) { $split = explode(";", $imports[$i], 2); $import = trim($split[0], " \t\n\r\0\x0B'\""); $cssmin .= parseCSS($import, $filebase, $imgbase."/".dirname($import)); $cssmin .= changeUrls($split[1], $imgbase); } return $cssmin; }
function delete_declaration($css) { $thedec = gps('declaration'); $name = gps('name'); $i = 0; foreach ($css as $a => $b) { $cursel = $i++; $ii = 0; foreach ($b as $c => $d) { $curdec = $ii++; if ($cursel . '-' . $curdec != $thedec) { $out[$a][$c] = $d; } } } $css = base64_encode(css_format($out)); safe_update("txp_css", "css='" . doSlash($css) . "'", "name='" . doSlash($name) . "'"); // update site last mod time update_lastmod(); return parseCSS(base64_decode(fetch('css', 'txp_css', 'name', $name))); }
function parseHTML($file_name, $copy_dir, $space) { global $file_done; if (array_key_exists($file_name, $file_done)) { return; } $file_done[$file_name] = true; echo $space . "Working on file: {$file_name}\n"; $index = new DOMDocument(); $index->loadHTMLFile($file_name); $found = array(); $xpath = new DOMXPath($index); // Get rid of some unneeded links $results = $xpath->query("//a[starts-with(@href, 'file_')]"); foreach ($results as $result) { //$result->parentNode->replaceChild( $result->firstChild, $result ); $result->removeAttribute("href"); } $results = $xpath->query("//a[@href]"); foreach ($results as $result) { $href = $result->getAttribute("href"); if ($href[0] != '#' && substr($href, 0, 6) != 'ihris_' || $href == 'ihris_qualify_form_fields.html' || $href == 'ihris_manage_form_fields.html') { $result->removeAttribute("href"); } } $results = $xpath->query("//div[@id='footerHacked']"); foreach ($results as $result) { $result->parentNode->removeChild($result); } $results = $xpath->query("//div[@id='catlinks']"); foreach ($results as $result) { $result->parentNode->removeChild($result); } $results = $xpath->query("//small/i/div[@class='dablink']"); foreach ($results as $result) { $small = $result->parentNode->parentNode; $small->parentNode->removeChild($small); } $results = $xpath->query("//div[@id='contentSub']"); foreach ($results as $result) { $result->parentNode->removeChild($result); } $results = $xpath->query("//@href"); foreach ($results as $result) { $href = $result->value; if (strpos($href, '#') !== false) { $href = substr($href, 0, strpos($href, '#')); } if ($href == '') { continue; } if (substr($href, -5) == ".html" && substr($href, 0, 6) != 'ihris_') { continue; } if (substr($href, 0, 7) == 'http://') { continue; } if (substr($href, 0, 8) == 'https://') { continue; } if ($href == "favicon.ico") { continue; } $found[] = $href; } $results = $xpath->query("//@src"); foreach ($results as $result) { $src = $result->value; if ($src == '') { continue; } $found[] = $src; } $results = $xpath->query("//comment()"); foreach ($results as $result) { $comment = $result->nodeValue; if ($comment[0] != '[') { continue; } $match = array(); preg_match("/(href|src)=[\"']([^'\"]*)[\"']/", $comment, $match); if (count($match) > 0) { $found[] = $match[2]; } } $fd = fopen("{$copy_dir}/{$file_name}", "w"); $content = $index->saveXML(); $content = preg_replace("/iHRIS:/", "", $content); $content = preg_replace("/ \\(4\\.0\\.5\\)/", "", $content); $content = preg_replace("/Osi:Books\\//", "", $content); fwrite($fd, $content); fclose($fd); foreach ($found as $file) { if (file_exists($file)) { if (substr($file, -5) == ".html") { parseHTML($file, $copy_dir, $space . " "); continue; } elseif (substr($file, -4) == ".css") { parseCSS($file, $copy_dir, $space . " "); } copy($file, "{$copy_dir}/{$file}"); } else { echo $space . "{$file} does not exist.\n"; } } echo $space . "Done with {$file_name}\n"; }
function importTheme() { WP_Filesystem(); $messedids = array(); global $wpdb; if (is_multisite()) { global $blog_id; $prel = $blog_id . '_'; } else { $prel = ''; } move_uploaded_file($_FILES["importer"]["tmp_name"], THEME_CACHE_DIR . "/" . $_FILES["importer"]["name"]); $nfile = THEME_CACHE_DIR . "/" . $_FILES["importer"]["name"]; $unzipit = unzip_file($nfile, THEME_CACHE_DIR . '/' . str_replace('.zip', '', $_FILES["importer"]["name"])); $file = THEME_CACHE_DIR . "/" . str_replace('.zip', '', $_FILES["importer"]["name"]) . '/export.utx'; $raw_content = file_get_contents($file); $content = base64_decode($raw_content); $theme = unserialize($content); /*echo '<pre>'; print_r($theme); echo "</pre>"; die();*/ // Do Images if (is_array($theme['images'])) { $images = $theme['images']; foreach ($images as $image) { $imagespath = THEME_CACHE_DIR . '/' . $prel . $theme['name']; $imagesurlpath = THEME_CACHE_URI . '/' . $prel . $theme['name']; $imagefilename = basename($image['name']); $imagefile = $imagespath . '/' . $imagefilename; if (is_file($imagefile)) { $newimage = $imagesurlpath . '/' . $imagefilename; $theme = replaceTree($image['name'], $newimage, $theme); } } // Images Done } // Create the Theme $table = $wpdb->prefix . 'ultimatum_themes'; $ltable = $wpdb->prefix . 'ultimatum_layout'; $atable = $wpdb->prefix . 'ultimatum_layout_assign'; $rtable = $wpdb->prefix . 'ultimatum_rows'; $ctable = $wpdb->prefix . 'ultimatum_css'; $classtable = $wpdb->prefix . 'ultimatum_classes'; $themesql = "INSERT INTO {$table} (`name`, `details`,`browsers`,`width`,`margin`,`type`,`published`,`template`) VALUES ('{$theme['name']}','{$theme['details']}','','{$theme['width']}','{$theme['margin']}','{$theme['type']}','{$theme['published']}','" . THEME_CODE . "')"; $wpdb->query($themesql); $themeid = $wpdb->insert_id; foreach ($theme['layouts'] as $layout) { if ($layout['type'] == 'part') { $layoutsql = "INSERT INTO {$ltable} (`title`,`type`,`theme`,`default`) VALUES ('{$layout['name']}','{$layout['type']}','{$themeid}','{$layout['default']}')"; $wpdb->query($layoutsql); $layoutid = $wpdb->insert_id; $old_lay_id = $layout['oldid']; $partconv[$old_lay_id] = $layoutid; } else { $new_parts_before = array(); $lbefore = ''; if ($layout['before']) { $old_parts_before = explode(',', $layout['before']); foreach ($old_parts_before as $p_b) { $new_parts_before[] = $partconv[$p_b]; } $lbefore = implode(',', $new_parts_before); } $new_parts_after = array(); $lafter = ''; if ($layout['after']) { $old_parts_after = explode(',', $layout['after']); foreach ($old_parts_after as $p_b) { $new_parts_after[] = $partconv[$p_b]; } $lafter = implode(',', $new_parts_after); } $layoutsql = "INSERT INTO {$ltable} (`title`,`type`,`theme`,`default`,`before`,`after`) VALUES ('{$layout['name']}','{$layout['type']}','{$themeid}','{$layout['default']}','{$lbefore}','{$lafter}')"; $wpdb->query($layoutsql); $layoutid = $wpdb->insert_id; if ($_POST['assigners'] == 'assign') { if (count($layout['assigned']) != 0) { foreach ($layout['assigned'] as $assignemnt) { $query = "REPLACE INTO {$atable} VALUES ('" . THEME_CODE . "','{$assignemnt}','{$layoutid}')"; $wpdb->query($query); } } } } // Insert Layout CSS in WP Options and Generate file if ($layout['type'] == 'full') { $optionname = THEME_CODE . '_' . $layoutid . '_css'; update_option($optionname, $layout['css']); createCSS($layoutid, $prel, $layout['css']); // Create Custom CSS file if (strlen($layout['custom_css']) > 0) { $file = THEME_CACHE_DIR . '/custom_' . $prel . $layoutid . '.css'; if (file_exists($file)) { unlink($file); } $fhandle = @fopen($file, 'w+'); if ($fhandle) { fwrite($fhandle, $layout['custom_css'], strlen($layout['custom_css'])); } } } // Do the ROWS $rows = $layout['rows']; foreach ($rows as $row) { // Insert the row and get id $rowsql = "INSERT INTO {$rtable} (`layout_id`, `type_id`) VALUES ('{$layoutid}','{$row['type']}')"; $wpdb->query($rowsql); $rowid = $wpdb->insert_id; $layoutrows[] = $rowid; // Insert row wrapper CSS $wrapper = 'wrapper-' . $rowid; foreach ($row['wrapper'] as $element => $property) { if ($element != 'custom_classes') { $properties = serialize($property); $wrappersql = "INSERT INTO {$ctable} VALUES ('','{$wrapper}','{$layoutid}','{$element}','{$properties}')"; $wpdb->query($wrappersql); } else { $properties = unserialize($property); if (count($properties) != 0) { $classql = "REPLACE INTO {$classtable} (`container`,`user_class`,`hidephone`,`hidetablet`,`hidedesktop`,`layout_id`) VALUES ('{$wrapper}','" . $properties["user_class"] . "','" . $properties["hidephone"] . "','" . $properties["hidetablet"] . "','" . $properties["hidedesktop"] . "','" . $properties["layout_id"] . "')"; $wpdb->query($classql); } } } // Insert row container CSS $container = 'container-' . $rowid; foreach ($row['container'] as $element => $property) { if ($element != 'custom_classes') { $properties = serialize($property); $containersql = "INSERT INTO {$ctable} VALUES ('','{$container}','{$layoutid}','{$element}','{$properties}')"; $wpdb->query($containersql); } else { $properties = unserialize($property); if (count($properties) != 0) { $classql = "REPLACE INTO {$classtable} (`container`,`user_class`,`hidephone`,`hidetablet`,`hidedesktop`,`layout_id`) VALUES ('{$container}','" . $properties["user_class"] . "','" . $properties["hidephone"] . "','" . $properties["hidetablet"] . "','" . $properties["hidedesktop"] . "','" . $properties["layout_id"] . "')"; $wpdb->query($classql); } } } // Insert row Column CSS foreach ($row['col'] as $colid => $colcss) { $column = 'col-' . $layoutid . '-' . $colid; foreach ($colcss as $element => $property) { if ($element != 'custom_classes') { $properties = serialize($property); $colsql = "INSERT INTO {$ctable} VALUES ('','{$column}','{$layoutid}','{$element}','{$properties}')"; $wpdb->query($colsql); } else { $properties = unserialize($property); if (count($properties) != 0) { $classql = "REPLACE INTO {$classtable} (`container`,`user_class`,`hidephone`,`hidetablet`,`hidedesktop`,`layout_id`) VALUES ('{$column}','" . $properties["user_class"] . "','" . $properties["hidephone"] . "','" . $properties["hidetablet"] . "','" . $property["hidedesktop"] . "','" . $properties["layout_id"] . "')"; $wpdb->query($classql); } } } } //Import the widgets foreach ($row["widgets"] as $sidebar => $widgets) { foreach ($widgets as $widget) { $option = $widget['widget_name']; $id_base = $widget['id_base']; if (isset($messedids[$option])) { $nextid = $messedids[$option] + 1; $messedids[$option] = $nextid; } else { $nextid = next_widget_id_number($widget['id_base']); $messedids[$option] = $nextid; } $warray = get_option($option); unset($widget['widget_name']); unset($widget['id_base']); $warray[$nextid] = $widget; update_option($option, $warray); $ultimatum_sidebars_widgets = get_option('ultimatum_sidebars_widgets'); $ultimatum_sidebars_widgets['sidebar-' . $rowid . '-' . $sidebar][] = $id_base . '-' . $nextid; update_option('ultimatum_sidebars_widgets', $ultimatum_sidebars_widgets); unset($warray); } } // Widget import Done :) } // GENERATE Layout specific CSS // Save the CSS $file = THEME_CACHE_DIR . '/layout_' . $prel . $layoutid . '.css'; $query = "SELECT * FROM {$ctable} WHERE layout_id='{$layoutid}'"; $res = $wpdb->get_results($query, ARRAY_A); $css = ''; foreach ($res as $fetch) { if ($fetch["element"] == 'general') { if ($fetch["container"] != 'body') { if (eregi('col-', $fetch["container"])) { $el = '#' . $fetch["container"] . ' .colwrapper'; } else { $el = '#' . $fetch["container"]; } } else { $el = $fetch["container"]; } } elseif ($fetch["container"] == 'body') { if ($fetch["element"] == 'h1' || $fetch["element"] == 'h2' || $fetch["element"] == 'h3' || $fetch["element"] == 'h4' || $fetch["element"] == 'h5' || $fetch["element"] == 'h6') { $fetch["element"] = $fetch["element"] . ', ' . $fetch["element"] . ' a,' . $fetch["element"] . ' a:hover'; } $el = $fetch["element"]; if ($el == 'ahover') { $el = 'a:hover'; } } else { if ($fetch["element"] == 'ahover') { $fetch["element"] = 'a:hover'; } if ($fetch["element"] == 'h1' || $fetch["element"] == 'h2' || $fetch["element"] == 'h3' || $fetch["element"] == 'h4' || $fetch["element"] == 'h5' || $fetch["element"] == 'h6') { //$fetch[element]=$fetch[element].', '.$fetch[element].' a,'.$fetch[element].' a:hover'; $el = '#' . $fetch["container"] . ' ' . $fetch["element"] . ', #' . $fetch["container"] . ' ' . $fetch["element"] . ' a, #' . $fetch["container"] . ' ' . $fetch["element"] . ' a:hover'; } else { $el = '#' . $fetch["container"] . ' ' . $fetch["element"]; } } $proprties = parseCSS($fetch["properties"]); if (count($proprties) != 0) { $css .= $el . '{' . @implode(';', $proprties) . '}'; } } if (strlen($css) != 0) { $fhandle = @fopen($file, 'w+'); if ($fhandle) { fwrite($fhandle, $css, strlen($css)); } } $rowss = implode(',', $layoutrows); unset($layoutrows); $layoutupdatesql = "UPDATE {$ltable} SET `rows`='{$rowss}' WHERE `id`='{$layoutid}'"; $wpdb->query($layoutupdatesql); } // layouts foreach finish $file = THEME_CACHE_DIR . "/" . $_FILES["importer"]["name"]; unlink($file); echo 'Import Successfull'; $url = curPageURL(); }
function html_elementCSS($input) { return 'style=' . $input[1] . parseCSS($input[2]) . $input[1]; }
if ($matchFile != '') { if (@$loadedFileList[$matchFile] == null) { combineFile($matchFile); $contentList[] = "\n"; } } else { $contentList[] = $value; } } $treeIndex--; } function parseCSS($cssContent) { //去掉注释 $cssContent = preg_replace('/\\/\\*[\\d\\D]+?\\*\\//i', '', $cssContent); //去掉换行符 $cssContent = preg_replace('/[\\n\\r]*/i', '', $cssContent); //去掉{}内最后一个分号 $cssContent = preg_replace('/;\\s*?}/i', "}\n", $cssContent); //去页面内编码格式 $cssContent = "@charset 'utf-8';\n" . preg_replace('/\\@charset ([\'\\"]).*?\\1;?/i', '', $cssContent); return $cssContent; } combineFile($f); outputTree(); $outputContent = join($contentList, ''); if ($t == 'css') { echo parseCSS($outputContent); } elseif ($t == 'js') { echo $outputContent; }
function ultimatum_layout_generator() { global $wpdb; $table = $wpdb->prefix . 'ultimatum_layout'; $tablerows = $wpdb->prefix . 'ultimatum_rows'; require_once 'ultimatum-widgets.php'; $layoutid = $_GET["layoutid"]; if (isset($_POST["saveandcontinue"]) && ($_POST["saveandcontinue"] = 'no')) { $before = str_replace('layout-', '', $_POST["before"]); $after = str_replace('layout-', '', $_POST["after"]); $rows = str_replace('row-', '', $_POST["rows"]); $tr = explode(',', $rows); foreach ($tr as $t) { if (strlen($t) >= 1) { $r[] = $t; } } $rows = @implode(',', $r); $query = "REPLACE INTO {$table} (`id`,`title`,`rows`,`before`,`after`,`type`,`default`,`theme`) VALUES ({$layoutid},'{$_POST['layoutname']}','{$rows}','{$before}','{$after}','{$_POST['type']}','{$_POST['default']}','{$_REQUEST['theme']}')"; $wpdb->query($query); // Save the CSS if (is_multisite()) { global $blog_id; $file = THEME_CACHE_DIR . '/layout_' . $blog_id . '_' . $layoutid . '.css'; } else { $file = THEME_CACHE_DIR . '/layout_' . $layoutid . '.css'; } $csstable = $wpdb->prefix . 'ultimatum_css'; $query = "SELECT * FROM {$csstable} WHERE layout_id='{$layoutid}'"; $res = $wpdb->get_results($query, ARRAY_A); $css = ''; foreach ($res as $fetch) { if ($fetch["element"] == 'general') { if ($fetch["container"] != 'body') { if (eregi('col-', $fetch["container"])) { $el = '#' . $fetch["container"] . ' .colwrapper'; } else { $el = '#' . $fetch["container"]; } } else { $el = $fetch["container"]; } } elseif ($fetch["container"] == 'body') { if ($fetch["element"] == 'h1' || $fetch["element"] == 'h2' || $fetch["element"] == 'h3' || $fetch["element"] == 'h4' || $fetch["element"] == 'h5' || $fetch["element"] == 'h6') { $fetch["element"] = $fetch["element"] . ', ' . $fetch["element"] . ' a,' . $fetch["element"] . ' a:hover'; } $el = $fetch["element"]; if ($el == 'ahover') { $el = 'a:hover'; } } else { if ($fetch["element"] == 'ahover') { $fetch["element"] = 'a:hover'; } if ($fetch["element"] == 'h1' || $fetch["element"] == 'h2' || $fetch["element"] == 'h3' || $fetch["element"] == 'h4' || $fetch["element"] == 'h5' || $fetch["element"] == 'h6') { //$fetch["element"]=$fetch["element"].', '.$fetch["element"].' a,'.$fetch["element"].' a:hover'; $el = '#' . $fetch["container"] . ' ' . $fetch["element"] . ', #' . $fetch["container"] . ' ' . $fetch["element"] . ' a, #' . $fetch["container"] . ' ' . $fetch["element"] . ' a:hover'; } else { $el = '#' . $fetch["container"] . ' ' . $fetch["element"]; } } $proprties = parseCSS($fetch["properties"]); if (count($proprties) != 0) { //print_r($proprties); $css .= $el . '{' . @implode(';', $proprties) . '}'; } } $fhandle = @fopen($file, 'w+'); //echo 'test-'.$css; if ($fhandle) { fwrite($fhandle, $css, strlen($css)); } unset($_POST); $url = curPageURL(); ?> <script language="JavaScript"> parent.location.href='<?php echo $url; ?> '; </script> <?php } $query = "SELECT * FROM {$table} WHERE `id`='{$layoutid}'"; $layout = $wpdb->get_row($query, ARRAY_A); ?> <h2><?php echo esc_html('Layout Creator/Editor'); ?> </h2> <p><a href="admin.php?page=wonder-layout&theme=<?php echo $layout[theme]; ?> "><?php _e("Back to layouts screen", THEME_ADMIN_LANG_DOMAIN); ?> </a></p> <table class="widefat ultimatum-layout-top" width="100%"> <tr> <td> <form action="" method="post" id="layout-form"> <label for="layout-name"><strong><?php _e('Layout Name', THEME_ADMIN_LANG_DOMAIN); ?> : </strong></label><input type="text" name="layoutname" value="<?php echo $layout["title"]; ?> " size="50" /><br /> <?php if ($layout["type"] == 'full') { ?> <h3><?php _e('Include Partial Layouts', THEME_ADMIN_LANG_DOMAIN); ?> </h3> <i><?php _e('You can drag and drop the partial layouts you want to use above or below your layout', THEME_ADMIN_LANG_DOMAIN); ?> .</i> <table width="100%"> <tr valign="top"> <td width="33%" style="border:none"> <table class="widefat"> <tr><th><?php _e('Available Parts', THEME_ADMIN_LANG_DOMAIN); ?> </th></tr> <tr><td> <ul id="parts" class="connectedSortable" style="min-height:30px"> <?php printPartial($layout); ?> </ul> </td></tr> </table> </td> <td width="33%" style="border:none"> <table class="widefat"> <tr><th><?php _e('Above Layout Body', THEME_ADMIN_LANG_DOMAIN); ?> </th></tr> <tr><td> <ul id="before" class="connectedSortable" style="min-height:30px;"> <?php printParts($layout, 'before'); ?> </ul> </td></tr> </table> </td> <td width="33%" style="border:none"> <table class="widefat"> <tr><th><?php _e('Below Layout Body', THEME_ADMIN_LANG_DOMAIN); ?> </th></tr> <tr><td> <ul id="after" class="connectedSortable" style="min-height:30px;"> <?php printParts($layout, 'after'); ?> </ul> </td></tr> </table> </td> </tr> </table> <?php echo '<a class="button-primary autowidth" href="./admin.php?page=wonder-css&layout=' . $layout["id"] . '">' . __('Edit CSS', THEME_ADMIN_LANG_DOMAIN) . '</a>'; ?> <?php } ?> <a class="button-primary autowidth thickbox" href="<?php echo THEME_ADMIN_URI; ?> /interfaces/wonder-layout/row-layouts.php?layout_id=<?php echo $_GET["layoutid"]; ?> &TB_iframe=1&width=770&height=480" title="<?php _e('Click on row style you want to insert and then click insert button', THEME_ADMIN_LANG_DOMAIN); ?> "><?php _e('Insert Row', THEME_ADMIN_LANG_DOMAIN); ?> </a> <input type="hidden" name="rows" id="layout_row_ids" value="<?php echo $layout["rows"]; ?> "/> <input type="hidden" name="before" id="before_main" value="<?php echo $layout["before"]; ?> "/> <input type="hidden" name="after" id="after_main" value="<?php echo $layout["after"]; ?> "/> <input type="hidden" name="type" value="<?php echo $layout['type']; ?> " /> <input type="hidden" name="default" value="<?php echo $layout['default']; ?> " /> <input type="hidden" name="theme" value="<?php echo $layout['theme']; ?> " /> <input type="hidden" name="saveandcontinue" value="no" /> <input class="button-primary autowidth" type="submit" value="<?php _e('Save Layout', THEME_ADMIN_LANG_DOMAIN); ?> "/> </form> </td> </tr> </table> <h2><?php _e('The Layout Body', THEME_ADMIN_LANG_DOMAIN); ?> </h2> <?php if ($layoutid) { ?> <div class="widget-liquid-left"> <div id="widgets-right" > <ul id="sortables"> <?php $rows = explode(',', $layout["rows"]); foreach ($rows as $row_id) { $query = "SELECT * FROM {$tablerows} WHERE id='{$row_id}'"; $row = $wpdb->get_row($query, ARRAY_A); include THEME_ADMIN . '/ajax/row-generator.php'; } ?> </ul> </div> </div> <div class="widget-liquid-right"> <div id="widgets-left"> <div id="available-widgets" class="widgets-holder-wrap"> <div class="sidebar-name"> <div class="sidebar-name-arrow"><br /></div> <h3><?php _e('Elements', THEME_ADMIN_LANG_DOMAIN); ?> <span id="removing-widget"><?php _ex('Deactivate', 'removing-widget'); ?> <span></span></span></h3></div> <div class="widget-holder"> <div id="widget-list"> <?php ultimatum_list_widgets(); ?> </div> <br class='clear' /> </div> <br class="clear" /> </div> </div> </div> <br class="clear" /> <form action="" method="post"> <?php wp_nonce_field('save-sidebar-widgets', '_wpnonce_widgets', false); ?> </form> <?php } ?> <?php }
$toShow[] = array('name' => $name, 'title' => $details['title'], 'checked' => $checked); } // Add the form $parserOptions['addForm'] = replaceTags(loadTemplate('framedForm.inc', array('url' => $toLoad, 'toShow' => $toShow, 'return' => urlencode(currentURL())))); } // Parse HTML $fetch->return = parseHTML($fetch->return, $fullDoc); // Encode the whole page? if ($options['encodePage']) { $fetch->return = encodeSource($fetch->return); } break; # CSS document # CSS document case 'css': $fetch->return = parseCSS($fetch->return); break; # Javascript document # Javascript document case 'javascript': $fetch->return = parseJS($fetch->return); break; } # Strip badwords $fetch->return = str_replace($badWords, '####', $fetch->return); # Post parsing if (!empty($foundPlugin) && function_exists('postParse')) { $fetch->return = postParse($fetch->return, $fetch->docType); } # Print debug info if (DEBUG_MODE) {