function save_design() { global $option, $mainframe; $rename = JRequest::getVar('rename', false, 'POST'); $source = JRequest::getVar('source', '', 'POST'); $basedesign = JRequest::getVar('basedesign', $source, 'POST'); $new_design_name = JRequest::getVar('new_design_name', '', 'POST'); $template = JRequest::getVar('template', '', 'POST'); $template_dest = JRequest::getVar('template_dest', $template, 'POST'); if ($template_dest) { $template = $template_dest; } $src_design = false; if ($new_design_name && $template) { if ($basedesign && $basedesign != 'empty') { $src_design = new JYAMLdesignStructure($template, $basedesign); } $new_design = new JYAMLdesignStructure($template, $new_design_name); if ($src_design && $new_design) { // Copy Basic Files JFile::copy($src_design->main_config_file, $new_design->main_config_file); //JFile::copy( $src_design->main_index_file, $new_design->main_index_file ); // Copy CSS Folder $cssfiles = JFolder::files($src_design->css_folder, '', true, true); JFolder::create($new_design->css_folder); foreach ($cssfiles as $file) { $new_file = str_replace($src_design->css_folder, $new_design->css_folder, $file); $dir = dirname($new_file); JFolder::create($dir); JFile::copy($file, $new_file); $this->replaceDesignPaths($new_file, $basedesign, $new_design_name); } // Copy Images Folder $imagefiles = JFolder::files($src_design->image_folder, '', true, true); JFolder::create($new_design->image_folder); foreach ($imagefiles as $file) { $new_file = str_replace($src_design->image_folder, $new_design->image_folder, $file); $dir = dirname($new_file); JFolder::create($dir); JFile::copy($file, $new_file); } // Copy Scripts Folder $scriptfiles = JFolder::files($src_design->script_folder, '', true, true); JFolder::create($new_design->script_folder); foreach ($scriptfiles as $file) { $new_file = str_replace($src_design->script_folder, $new_design->script_folder, $file); $dir = dirname($new_file); JFolder::create($dir); JFile::copy($file, $new_file); $this->replaceDesignPaths($new_file, $basedesign, $new_design_name); } // Copy Config Folder $configfiles = JFolder::files($src_design->config_folder, '', true, true); JFolder::create($new_design->config_folder); foreach ($configfiles as $file) { $new_file = str_replace($src_design->config_folder, $new_design->config_folder, $file); $dir = dirname($new_file); JFolder::create($dir); JFile::copy($file, $new_file); } // Copy Index/HTML Folder $indexfiles = JFolder::files($src_design->index_folder, '', true, true); JFolder::create($new_design->index_folder); foreach ($indexfiles as $file) { $new_file = str_replace($src_design->index_folder, $new_design->index_folder, $file); $dir = dirname($new_file); JFolder::create($dir); JFile::copy($file, $new_file); $this->replaceDesignPaths($new_file, $basedesign, $new_design_name); } } else { echo '<h2>Sorry, not implementet yet. Plese do copy a design!</h2>'; } if ($rename) { $src_design->deleteDesign(true); // Rename Designname in configuration files $files = JFolder::files(JPATH_SITE . DS . 'templates' . DS . $template . DS . 'config', 'xml$', true, true); foreach ($files as $file) { $buffer = JFile::read($file); $buffer = str_replace('<design>' . $source . '</design>', '<design>' . $new_design_name . '</design>', $buffer); JFile::write($file, $buffer); } } $mainframe->enqueueMessage(JText::_('YAML CREATED DESIGN SUCCESS')); $mainframe->redirect(JURI::base() . 'index3.php?option=' . $option . '&controller=hmyaml&task=wait'); } }
/** * Delete Design function (for ajax) **/ function MAINdeleteDesign() { global $mainframe; $template = JRequest::getVar('template', false, 'POST'); $design = JRequest::getVar('design', false, 'POST'); if ($template && $design) { $d = new JYAMLdesignStructure($template, $design); $state = $d->deleteDesign(); if ($state === 'isdefault') { echo 'error'; echo JText::_('YAML DELETE FAILED IS DEFAULT'); } else { echo JText::_('YAML DELETE SUCCESS'); } } $mainframe->close(); }