예제 #1
0
 public function init()
 {
     $this->engine = \Clips\context('smarty');
     $this->engine->template_dir = \Clips\clips_config('template_dir');
     $this->engine->compile_dir = \Clips\clips_config('smarty_compile_dir')[0];
     $this->engine->config_dir = \Clips\clips_config('smarty_config_dir');
     $this->engine->cache_dir = \Clips\clips_config('smarty_cache_dir')[0];
     $this->engine->addPluginsDir(\Clips\clips_config('smarty_plugin_dir', array()));
 }
예제 #2
0
 protected function getConfig()
 {
     if (!isset($this->_config)) {
         $this->_config = array();
         // Load the config
         foreach ($this->value as $config) {
             $datatable_config_dir = \Clips\clips_config('pagination_config_dir');
             if ($datatable_config_dir) {
                 $datatable_config_dir = $datatable_config_dir[0];
                 $p = \Clips\path_join($datatable_config_dir, $config . '.json');
                 if (file_exists($p)) {
                     $this->_config[$config] = \Clips\parse_json(file_get_contents($p));
                 }
             }
         }
     }
     return $this->_config;
 }
예제 #3
0
 public function readFile($file)
 {
     if (strpos($file, "://") !== false) {
         $r = new \Clips\Resource($file);
         return $r->contents();
     }
     // Try the absolute path first
     if (file_exists($file)) {
         return file_get_contents($file);
     }
     foreach (\Clips\clips_config('sass_folders', array()) as $folder) {
         $r = \Clips\try_path(\Clips\path_join($folder, $file));
         if ($r) {
             return file_get_contents($r);
         }
     }
     foreach ($this->includePathes as $path) {
         $filepath = $path . '/' . $file;
         if (file_exists($filepath) && is_file($filepath) && is_readable($filepath)) {
             return file_get_contents($filepath);
         }
     }
     return '';
 }
예제 #4
0
 public function widget()
 {
     $config = \Clips\interactive('interactive/widget', $this);
     $config->date = strftime("%a %b %e %H:%M:%S %Y");
     $config->widget = ucfirst($config->widget);
     $namespace = \Clips\config('namespace');
     if ($namespace) {
         $config->namespace = $namespace[0];
     } else {
         $config->namespace = 'Clips\\';
     }
     $widget_dir = \Clips\clips_config('widget_dir');
     foreach ($widget_dir as $p) {
         $path = \Clips\try_path($p);
         if ($path) {
             break;
         }
     }
     if (!$path) {
         $this->output('Can\'t find any widget directory, generation failed!');
         return -1;
     }
     $dir = \Clips\path_join($path, $config->widget);
     if (\file_exists($dir)) {
         $this->output('Widget %s exists!', $config->widget);
         return -1;
     }
     // Make the widget dir first
     mkdir($dir, 0755, true);
     // Write the widget configuration
     \file_put_contents(\Clips\path_join($dir, 'widget.yml'), \Clips\clips_out('widget', $config, false));
     // Write the widget class
     \file_put_contents(\Clips\path_join($dir, 'Widget.php'), \Clips\clips_out('widget_class', $config, false));
     $this->output('Done!');
 }