Ejemplo n.º 1
0
 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');
     }
 }
Ejemplo n.º 2
0
 /**
  * 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();
 }