Ejemplo n.º 1
0
 public function editor()
 {
     if (isset($_GET['theme']) && !empty($_GET['theme'])) {
         $themename = trim($_GET['theme']);
         if (!is_dir(_ROOT . "themes/{$themename}")) {
             $msg = error("Theme yang Anda maksud tidak ditemukan");
             set_msg($msg);
             redirect('cpanel/theme');
             exit;
         }
         $themepath = _ROOT . "themes/{$themename}/";
         $dir = path_list_r($themepath);
         $filetree = tree_files($dir);
         $mode = 'html';
         $content = 'layout.html';
         if (isset($_GET['file']) && !empty($_GET['file'])) {
             $filename = trim($_GET['file']);
             if ($filename != 'layout.html') {
                 list($folder, $file) = explode(':', $filename);
             } else {
                 $file = $filename;
             }
             $extension = strtolower(end(explode('.', $file)));
             switch ($extension) {
                 case 'js':
                     $mode = 'javascript';
                     break;
                 case 'css':
                     $mode = 'css';
                     break;
                 case 'html':
                     $mode = 'html';
                     break;
                 default:
                     $mode = 'html';
                     break;
             }
             $content = str_replace(':', '/', $filename);
         } else {
             $filename = 'layout.html';
         }
         $filecontent = file_read($themepath . $content);
         $filecontent = htmlentities($filecontent);
         $data['current_file'] = $filename;
         $data['file'] = $filetree;
         $data['mode'] = $mode;
         $data['content'] = $filecontent;
         $data['current_theme'] = $themename;
         $data['page'] = "layout_theme_editor";
         $data['module'] = "cpanel";
         $data['title'] = "Theme editor";
         $this->load->view($this->layout, $data);
     }
 }
Ejemplo n.º 2
0
function tree_files($arr, $deep = 1)
{
    $current_theme = $_GET['theme'];
    $theme_path = _ROOT . "themes/{$current_theme}/";
    if ($arr) {
        $ulid = $deep == 1 ? ' id="tree" class="filetree"' : '';
        $html = "<ul{$ulid}>\n";
        foreach ((array) $arr as $r) {
            if ($r['is_folder']) {
                $cls = 'folder';
                $name = $r['name'];
                $close = ' class="closed"';
            } else {
                $close = '';
                $paths = str_replace($theme_path, "", $r['path']);
                $paths = ltrim($paths, "\\/");
                $o = str_replace("\\", ":", $paths);
                $cls = 'file';
                $name = "<a href=\"" . site_url('cpanel/theme/editor?theme=' . $current_theme) . "&file=" . urlencode($o) . "\">{$r['name']}</a>";
            }
            $html .= "<li" . $close . ">";
            $html .= "<span class=\"{$cls}\">{$name}</span>";
            $html .= tree_files($r['child'], $deep + 1);
            $html .= "</li>";
        }
        $html .= "</ul>\n";
        return $html;
    }
}