public function filegenerator()
 {
     $codes = self::codegenerator();
     $files = $codes['files_body'];
     $name = $codes['component_name'];
     if (!joosFile::is_writable(JPATH_APP_BASE . '/components/')) {
         return array('success' => false, 'message' => 'Не хватает прав для создания каталога компонента');
     }
     $component_root = JPATH_APP_BASE . '/components/' . $name;
     if (joosFile::exists($component_root)) {
         return array('success' => false, 'message' => 'Каталог компонента уже существует');
     }
     $dir_structure = array('{app}/components/{name}', '{app}/components/{name}/helpers', '{app}/components/{name}/media', '{app}/components/{name}/media/js', '{app}/components/{name}/media/css', '{app}/components/{name}/models', '{app}/components/{name}/views', '{app}/components/{name}/views_admin');
     $oldumask = umask(0);
     foreach ($dir_structure as $dir) {
         $create_dir = strtr($dir, array('{app}' => JPATH_APP_BASE, '{name}' => $name));
         joosFolder::create($create_dir, 0777);
     }
     foreach ($files as $file_name => $file_body) {
         echo $file_name . "\n";
         joosFile::put_content(sprintf('%s/components/%s/%s.php', JPATH_APP_BASE, $name, $file_name), $file_body);
     }
     umask($oldumask);
     //_xdump($files);
 }
Example #2
0
 /**
  * Получение содержимого файла
  *
  * @param  string                     $file_name абсолюютный или относительный путь до файла
  * @return type
  * @throws joosFileLibrariesException
  */
 public static function get_content($file_name)
 {
     self::exception_if_file_not_exists($file_name);
     if (!joosFile::is_writable($file_name)) {
         throw new joosFileLibrariesException('Файл :file не доступен для чтения', array(':file' => $file_name));
     }
     return file_get_contents($file_name);
 }