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); }
private function root_xml_create() { $map_count = ceil($this->counters / $this->config['max_elemets_in_map']); $sitemap = array(); for ($index = 1; $index < $map_count + 1; $index++) { $sitemap[] = sprintf('<sitemap><loc>%s/cache/sitemaps/sitemap-%s.xml</loc></sitemap>', JPATH_SITE, $index); } $xml = array(); $xml[] = '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; $xml[] = implode("\n", $sitemap); $xml[] = "</sitemapindex>"; joosFile::exists(JPATH_BASE . DS . 'sitemap.xml') ? unlink(JPATH_BASE . DS . 'sitemap.xml') : null; joosFile::put_content(JPATH_BASE . DS . 'sitemap.xml', implode("\n", $xml)); }