public function save($data)
 {
     jimport('joomla.filesystem.file');
     // New
     if ($data['id'] < 1) {
         $data['type'] = 2;
         // Custom in every case
         if ($data['title'] != '') {
             $filename = JApplication::stringURLSafe($data['title']);
             if (trim(str_replace('-', '', $filename)) == '') {
                 $filename = JFactory::getDate()->format("Y-m-d-H-i-s");
             }
         } else {
             $filename = JFactory::getDate()->format("Y-m-d-H-i-s");
         }
         $filename = $filename . '.css';
         $data['filename'] = $filename;
         $filePath = PhocaGalleryFile::existsCSS($filename, $data['type']);
         if ($filePath) {
             $this->setError(JText::sprintf('COM_PHOCAGALLERY_FILE_ALREADY_EXISTS', $fileName));
             return false;
         } else {
             $filePath = PhocaGalleryFile::getCSSPath($data['type']) . $filename;
         }
     } else {
         $filename = PhocaGalleryFile::getCSSFile($data['id']);
         $filePath = PhocaGalleryFile::existsCSS($filename, $data['type']);
     }
     //$dispatcher = JEventDispatcher::getInstance();
     $fileName = $filename;
     // Include the extension plugins for the save events.
     //JPluginHelper::importPlugin('extension');
     // Set FTP credentials, if given.
     JClientHelper::setCredentialsFromRequest('ftp');
     $ftp = JClientHelper::getCredentials('ftp');
     // Try to make the template file writeable.
     if (!$ftp['enabled'] && JPath::isOwner($filePath) && !JPath::setPermissions($filePath, '0644')) {
         $this->setError(JText::_('COM_PHOCAGALLERY_ERROR_SOURCE_FILE_NOT_WRITABLE'));
         return false;
     }
     // Trigger the onExtensionBeforeSave event.
     /*$result = $dispatcher->trigger('onExtensionBeforeSave', array('com_phocagallery.source', &$data, false));
     		if (in_array(false, $result, true)) {
     			$this->setError($table->getError());
     			return false;
     		}*/
     $return = JFile::write($filePath, $data['source']);
     // Try to make the template file unwriteable.
     if (!$ftp['enabled'] && JPath::isOwner($filePath) && !JPath::setPermissions($filePath, '0444')) {
         $this->setError(JText::_('COM_PHOCAGALLERY_ERROR_SOURCE_FILE_NOT_UNWRITABLE'));
         return false;
     } elseif (!$return) {
         $this->setError(JText::sprintf('COM_PHOCAGALLERY_ERROR_FAILED_TO_SAVE_FILENAME', $fileName));
         return false;
     }
     // Trigger the onExtensionAfterSave event.
     //$dispatcher->trigger('onExtensionAfterSave', array('com_templates.source', &$table, false));
     //return true;
     return parent::save($data);
 }
Exemple #2
0
 public static function renderAllCSS($noBootStrap = 0)
 {
     $app = JFactory::getApplication();
     $itemid = $app->input->get('Itemid', 0, 'int');
     $db = JFactory::getDBO();
     $query = 'SELECT a.filename as filename, a.type as type, a.menulink as menulink' . ' FROM #__phocagallery_styles AS a' . ' WHERE a.published = 1' . ' ORDER BY a.type, a.ordering ASC';
     $db->setQuery($query);
     $filenames = $db->loadObjectList();
     if (!empty($filenames)) {
         foreach ($filenames as $fk => $fv) {
             if ($noBootStrap == 1) {
                 $pos = strpos($fv->filename, 'bootstrap');
                 if ($pos === false) {
                 } else {
                     continue;
                 }
             }
             $path = PhocaGalleryFile::getCSSPath($fv->type, 1);
             if ($fv->menulink != '') {
                 $menuLinks = explode(',', $fv->menulink);
                 $isIncluded = in_array((int) $itemid, $menuLinks);
                 if ($isIncluded) {
                     JHtml::stylesheet($path . $fv->filename);
                 }
             } else {
                 JHtml::stylesheet($path . $fv->filename);
             }
         }
     }
 }