示例#1
0
 /**
  * Update plugin configuration
  */
 public function updateConfig()
 {
     $this->checkCsrfToken();
     $oldVars = $this->plugin->getVars();
     $thumb_dir = $this->request->getPost()->get('thumb_dir');
     if (!empty($thumb_dir) && $thumb_dir !== $oldVars['thumb_dir']) {
         $result = $this->plugin->setupThumbDir($thumb_dir);
         if ($result) {
             $this->plugin->getManager()->cleanupThumbs(true);
             CacheUtil::removeLocalDir($oldVars['thumb_dir']);
             $this->plugin->setVar('thumb_dir', $thumb_dir);
         } else {
             LogUtil::registerError($this->__('Error! Could not change thumbnails storage directory.'));
         }
     }
     $thumb_auto_cleanup = (bool) $this->request->request->get('thumb_auto_cleanup');
     $this->plugin->setVar('thumb_auto_cleanup', $thumb_auto_cleanup);
     $thumb_auto_cleanup_period = $this->request->request->get('thumb_auto_cleanup_period');
     $this->plugin->setVar('thumb_auto_cleanup_period', $thumb_auto_cleanup_period);
     $presets = $this->request->getPost()->get('presets', array());
     $presetsToSave = array();
     foreach ($presets as $preset) {
         // validate jpeg qual and png_compression
         if (!is_numeric($preset['options']['jpeg_quality']) || $preset['options']['jpeg_quality'] < 0 || $preset['options']['jpeg_quality'] > 100) {
             $preset['options']['jpeg_quality'] = 75;
             // default 75%
         }
         if (!is_numeric($preset['options']['png_compression_level']) || $preset['options']['png_compression_level'] < 0 || $preset['options']['png_compression_level'] > 9) {
             $preset['options']['png_compression_level'] = 7;
             // default 7
         }
         $name = $preset['name'];
         if (!empty($name)) {
             $presetsToSave[$name] = new SystemPlugin_Imagine_Preset($name, $preset);
         }
     }
     $this->plugin->setVar('presets', $presetsToSave);
     $this->registerStatus($this->__('Done! Saved plugin configuration.'));
     $this->redirect(ModUtil::url('ZikulaExtensionsModule', 'adminplugin', 'dispatch', array('_plugin' => 'Imagine', '_action' => 'configure')));
 }
示例#2
0
    /**
     * Update plugin configuration
     */
    public function updateConfig()
    {
        $this->checkCsrfToken();
        $oldVars = $this->plugin->getVars();

        $thumb_dir = $this->request->getPost()->get('thumb_dir');
        if (!empty($thumb_dir) && $thumb_dir !== $oldVars['thumb_dir']) {
            $result = $this->plugin->setupThumbDir($thumb_dir);
            if ($result) {
                $this->plugin->getManager()->cleanupThumbs(true);
                CacheUtil::removeLocalDir($oldVars['thumb_dir']);
                $this->plugin->setVar('thumb_dir', $thumb_dir);
            } else {
                LogUtil::registerError($this->__('Error! Could not change thumbnails storage directory.'));
            }
        }

        $thumb_auto_cleanup = (bool)$this->request->getPost()->get('thumb_auto_cleanup');
        $this->plugin->setVar('thumb_auto_cleanup', $thumb_auto_cleanup);

        $presets = $this->request->getPost()->get('presets', array());

        $presetsToSave = array();
        foreach ($presets as $preset) {
            $name = $preset['name'];
            if (!empty($name)) {
                $presetsToSave[$name] = new SystemPlugin_Imagine_Preset($name, $preset);
            }
        }

        $this->plugin->setVar('presets', $presetsToSave);

        LogUtil::registerStatus($this->__('Done! Saved plugin configuration.'));

        $this->redirect(ModUtil::url('Extensions', 'adminplugin', 'dispatch', array(
            '_plugin' => 'Imagine',
            '_action' => 'configure'
        )));
    }
示例#3
0
 /**
  * On an module remove hook call this listener deletes all cached (generated) doctrine models for the module.
  *
  * Listens for the 'installer.module.uninstalled' event.
  *
  * @param Zikula_Event $event Event.
  *
  * @return void
  */
 public function deleteGeneratedCategoryModelsOnModuleRemove(Zikula_Event $event)
 {
     $moduleName = $event['name'];
     // remove generated category models for this record
     $dir = 'doctrinemodels/GeneratedDoctrineModel/' . $moduleName;
     if (file_exists(CacheUtil::getLocalDir($dir))) {
         CacheUtil::removeLocalDir($dir, true);
     }
     // remove saved data about the record
     $modelsInfo = ModUtil::getVar('ZikulaCategoriesModule', 'EntityCategorySubclasses', array());
     foreach ($modelsInfo as $class => $info) {
         if ($info['module'] == $moduleName) {
             unset($modelsInfo[$class]);
         }
     }
     ModUtil::setVar('ZikulaCategoriesModule', 'EntityCategorySubclasses', $modelsInfo);
 }
示例#4
0
    /**
     * delete the Feeds module
     */
    public function uninstall()
    {
        if (!DBUtil::dropTable('feeds')) {
            return false;
        }

        // remove cache directory incl. content
        CacheUtil::removeLocalDir('feeds');

        // delete any module variables
        $this->delVars();

        // delete entries from category registry
        ModUtil::dbInfoLoad('Categories');
        DBUtil::deleteWhere('categories_registry', "modname = 'Feeds'");
        DBUtil::deleteWhere('categories_mapobj', "modname = 'Feeds'");

        // deletion successful
        return true;
    }