コード例 #1
0
ファイル: guilang.php プロジェクト: mndrwd/freedomeditor
 function guilang($inp, $replm)
 {
     #     print_r($replm);die();
     return repl_between($inp, $replm, "LANG", "IANG", false, "sm");
 }
コード例 #2
0
ファイル: index.php プロジェクト: mndrwd/freedomeditor
 function extension($source, $scrext, $_cfg, $langcss, $js = false, $donethatoncearray = array())
 {
     $returnjs = '';
     $cfg_gl = $_cfg;
     $resultingarray345 = repl_between($source, "", $_cfg['extension']['string_open'], $_cfg['extension']['string_close'], false, "sm", true);
     $amnt = count($resultingarray345[2]);
     $noloop = false;
     if (is_array($resultingarray345) && is_array($resultingarray345[2])) {
         foreach ($resultingarray345[2] as $boelieboelie) {
             if (strlen($boelieboelie) > 0) {
                 if (file_exists("cfg/custom/" . $boelieboelie . ".css")) {
                     $_cfgt = loadextcfg("cfg/custom/" . $boelieboelie . ".css");
                     if (isset($_cfgt)) {
                         $_cfg = mergecss($_cfg, $_cfgt);
                     }
                 }
                 $tmpl = "";
                 $emptytmpl = true;
                 $next = false;
                 if (isset($_cfg['extension_req_val']) && is_array($_cfg['extension_req_val']) && count($_cfg['extension_req_val']) > 0) {
                     foreach ($_cfg['extension_req_val'] as $var => $val) {
                         if (strlen($var) > 0) {
                             if (!isset($_REQUEST[$var])) {
                                 $next = true;
                             } else {
                                 if ($_cfg['extension']['ext_req_val'] == "matchvar") {
                                     if ($_cfg['extension']['ext_req_val_Casesens'] != "on") {
                                         if ($_REQUEST[strtolower($var)] != strtolower($val)) {
                                             $next = true;
                                         }
                                     } elseif ($_REQUEST[$var] != $val) {
                                         $next = true;
                                     }
                                 }
                             }
                         }
                     }
                 }
                 if ($js != false) {
                     $next = false;
                 }
                 if ($next == false && $_cfg['extension']['launch'] == "enabled") {
                     if (strtolower($_cfg["extension"]["core_client"]) != "any") {
                         $coreclients = explode(",", $_cfg["extension"]["core_client"]);
                         if (isset($_cfg['global']['select_client_by_urlvar']) && isset($_GET[$_cfg['global']['select_client_by_urlvar']]) && isset($coreclients[$_GET[$_cfg['global']['select_client_by_urlvar']]]) || !isset($_cfg['global']['select_client_by_urlvar']) && !isset($_GET[$_cfg['global']['select_client_by_urlvar']]) && !isset($coreclients[$_GET[$_cfg['global']['select_client_by_urlvar']]]) && isset($_cfg['global']['current_client']) && isset($coreclients[$_cfg['global']['current_client']])) {
                             $emptytmpl = false;
                         }
                     } elseif (strtolower($_cfg["extension"]["core_client"]) == "any") {
                         $emptytmpl = false;
                     }
                     if ($_cfg['extension']['languageload'] == "enabled") {
                         $__tssf = $GLOBALS['__tssf'];
                         if (file_exists($_cfg['folders']['language'] . "/" . $__tssf . "/custom/" . $boelieboelie . "/" . $__tssf . ".css")) {
                             $lang_t = loadextcfg($_cfg['folders']['language'] . "/" . $__tssf . "/custom/" . $boelieboelie . "/" . $__tssf . ".css");
                         }
                     }
                     if (isset($lang_t) && is_array($lang_t) && $_cfg['extension']['globallanguageload'] == "enabled") {
                         if (is_array($langcss)) {
                             $langcss = mergecss($langcss, $lang_t);
                         }
                     } else {
                         if ($_cfg['extension']['globallanguageload'] == "enabled") {
                         } else {
                             $langcss = parse_css($lang_t);
                         }
                     }
                     if (is_array($langcss["1"])) {
                         $__lang = piecele($langcss["1"], $_cfg['global']['default_gui_lang']);
                     }
                     #print_r($__lang);
                     if ($emptytmpl == false && $_cfg['extension']['tmplload'] == "enabled") {
                         $tmpl = gethatmpl(0, $boelieboelie);
                     }
                     if ($_cfg['extension']['phplaunch'] == "enabled" && file_exists("fc/customcallback/" . $boelieboelie . $scrext)) {
                         ob_start();
                         $tmpl = (include "fc/customcallback/" . $boelieboelie . $scrext);
                         if (strlen($tmpl) == 0 || $emptytmpl == false) {
                             if ($_cfg['extension']['phplaunch_output'] == "enabled") {
                                 if (strlen($tmpl) < 1) {
                                     $tmpl = ob_get_contents();
                                 }
                             } else {
                                 ob_clean();
                             }
                         }
                     }
                     if ($_cfg['extension']['srch_ext'] != "disabled" && strlen($tmpl) > 0 && isset($srch_ext) && is_array($srch_ext) && count($srch_ext) > 0) {
                         $tmpl = str_replace(array_keys(${$_cfg['extension']['srch_ext']}), array_values(${$_cfg['extension']['srch_ext']}), $tmpl);
                     }
                     #if (strlen($tmpl)>0){
                     if ($_cfg['extension']['languagereplace'] == "enabled") {
                         if (!in_array($boelieboelie, $donethatoncearray)) {
                             $return[$_cfg['extension']['level']][$_cfg['extension']['string_open'] . $boelieboelie . $_cfg['extension']['string_close']] = guilang($tmpl, $__lang);
                             #$source=str_replace("{ext:".$boelieboelie.":ension}", guilang($tmpl, $__lang), $source);
                         }
                     } else {
                         if (!in_array($boelieboelie, $donethatoncearray)) {
                             $return[$_cfg['extension']['level']][$_cfg['extension']['string_open'] . $boelieboelie . $_cfg['extension']['string_close']] = $tmpl;
                             #$source=str_replace("{ext:".$boelieboelie.":ension}", $tmpl, $source);
                         }
                     }
                     #		}
                     #		echo "<pre>";
                     #		print_r($source);
                     if (isset($_cfg['always_block_ext_scan_inside'][$boelieboelie])) {
                         $donethatoncearray[] = $boelieboelie;
                     }
                     /*
                     loop result for generating output cmd
                       {
                     load "cfg/custom/named*.css"; if found
                     load "lang/custom/named*.css"; if found
                     load tmpl/named*.html if found;
                     load tmpl/js/named*.js if found;
                     ob_start();
                     load "fc/customcallback/named*.php"; < 
                     repl {DEFAULTTAG} in html result if any, with ob_end_Clean() or what comes from return function;  result
                     result repl guilang
                     $rep[$cfgdepth]["named*"]=result
                     }
                     #gen output cmd exe
                     */
                     $_cfg = $cfg_gl;
                 }
             }
         }
     } else {
         $noloop = true;
     }
     # end prepare loop
     #start output gen loop
     if (isset($return) && is_array($return) && count($return) > 0) {
         if ($js != false) {
             $extensionjs = "";
         }
         //$source2=$source;
         foreach ($return as $ret) {
             $source = str_replace(array_keys($ret), array_values($ret), $source);
             foreach ($ret as $re => $turn) {
                 if ($js == 'print') {
                     if (file_exists($GLOBALS['__the_cwd'] . "/" . $_cfg['folders']['templates'] . "js/" . str_replace(array($_cfg['extension']['string_open'], $_cfg['extension']['string_close']), "", $re) . ".js")) {
                         $extensionjs .= "//" . $_cfg['folders']['templates'] . "js/" . str_replace(array($_cfg['extension']['string_open'], $_cfg['extension']['string_close']), "", $re) . ".js\n";
                         $extensionjs .= file_get_contents($GLOBALS['__the_cwd'] . "/" . $_cfg['folders']['templates'] . "js/" . str_replace(array($_cfg['extension']['string_open'], $_cfg['extension']['string_close']), "", $re) . ".js");
                         $extensionjs .= "\n\n//------------------------------//\n\n\n\n";
                     }
                 }
             }
         }
         ############## moved to this place @ 0.2.6
         if ($_cfg['extension']['loop_srch_ext'] != "disabled" && $js == false) {
             $source = extension($source, $scrext, $_cfg, $langcss, $js, $donethatoncearray);
         }
         ##############
         if ($js == "print") {
             @ob_end_clean();
             @ob_end_clean();
             @ob_end_clean();
             @ob_end_clean();
             if (strlen($extensionjs) == 0) {
                 die("Unable to determine javascript source files, no " . $_cfg['extension']['string_open'] . "*" . $_cfg['extension']['string_close'] . " tags found for the current coreclient or no corresponding js files.");
             }
             $returnjs .= $extensionjs;
         }
     } elseif ($js != false) {
         die("Unable to determine javascript source files, no " . $_cfg['extension']['string_open'] . "*" . $_cfg['extension']['string_close'] . " tags found for the current coreclient or no corresponding js files.");
     }
     if ($js != false) {
         return $returnjs;
     } else {
         return $source;
     }
 }