Exemple #1
0
 /**
  * Package a module
  * @param string $module
  * @return string 
  */
 protected function packageModuleAction($module = 'core')
 {
     \tools::rmdir('var/pack/');
     \tools::copy_dir('modules/' . $module . '/', 'var/pack/' . $module . '/');
     /* If this module has a profile, retrieve profile */
     if (is_dir('profiles/' . PROFILE . '/modules/' . $module . '/')) {
         /* Remove concats */
         $concats = glob('profiles/' . PROFILE . '/modules/' . $module . '/*concat_*');
         if (is_array($concats) && !empty($concats)) {
             foreach ($concats as $file) {
                 unlink($file);
             }
         }
         \tools::copy_dir('profiles/' . PROFILE . '/modules/' . $module . '/', 'var/pack/' . $module . '/');
     }
     /* Clean rights: keep only default rights */
     /* Module Rights */
     $objModule = \app::getModule($module);
     $rolesToRemove = array();
     foreach (\app::getModule('core')->getEntity('role')->where('id_role > 4') as $role) {
         $rolesToRemove[] = $role->id_role;
         $objModule->setRights($role->id_role, 1);
     }
     \tools::serialize('var/pack/' . $module . '/module', $objModule);
     /* Pages rights */
     foreach ($objModule->getPages() as $page) {
         foreach ($rolesToRemove as $idRole) {
             $page->setRights($idRole, 1);
         }
         \tools::serialize('var/pack/' . $module . '/pages/' . $page->getId(), $page);
     }
     /* Model rights */
     foreach ($objModule->getModel() as $entity) {
         foreach ($rolesToRemove as $idRole) {
             $entity->setRights($idRole, 15);
             foreach ($entity->getFields() as $field) {
                 $field->setRights($idRole, 7);
             }
         }
         \tools::serialize('var/pack/' . $module . '/model/' . $entity->getName(), $entity);
     }
     /* generate and send Zip to client */
     $phar = new \PharData('profiles/' . PROFILE . '/modules/' . $module . '.zip');
     $phar->buildFromDirectory('./var/pack');
     \app::$response->setHeader('Content-type', 'application/zip');
     return 'profiles/' . PROFILE . '/modules/' . $module . '.zip';
 }
Exemple #2
0
 /**
  * Save the module
  * @return bool
  */
 public function save()
 {
     return \tools::serialize(PROFILE_PATH . $this->moduleName . '/pages/' . $this->getId(), $this);
 }
Exemple #3
0
 /**
  * Save the module
  * @return bool
  */
 public function save()
 {
     return \tools::serialize(PROFILE_PATH . $this->name . '/module', $this);
 }
Exemple #4
0
 /**
  * Put content in file.obj
  * @return string
  */
 public function save()
 {
     return \tools::serialize('modules/' . $this->_module . '/model/' . $this->_entityName, $this);
 }