コード例 #1
0
ファイル: Controller.php プロジェクト: vgrish/dvelum
 /**
  * Rebuild all packages
  */
 public function rebuildallAction()
 {
     $this->_checkCanEdit();
     $dest = $this->_packagesConfig->get('path');
     /*
      * Returning a reference from a function
      */
     $data =& $this->_packagesConfig->dataLink();
     if ($this->_packagesConfig->get('all_in_one')) {
         $s = '';
         foreach ($data['packages'] as $item) {
             if (!$item['active']) {
                 continue;
             }
             $s .= $this->_compilePackage($item);
         }
         Utils::exportCode($dest . $this->_packagesConfig->get('main_package') . '.php', $s);
     } else {
         foreach ($data['packages'] as $name => $item) {
             $s = $this->_compilePackage($item);
             $data['packages'][$name]['checksum'] = md5($s);
             if (Utils::exportCode($dest . $name . '.php', $s) === false) {
                 Response::jsonError($this->_lang->CANT_WRITE_FS);
             }
             $data['packages'][$name]['fchecksum'] = md5_file($dest . $name . '.php');
         }
     }
     if ($this->buildmapAction() === false) {
         Response::jsonError($this->_lang->CANT_WRITE_FS);
     }
     if (!$this->_packagesConfig->save()) {
         Response::jsonError($this->_lang->CANT_WRITE_FS);
     } else {
         Response::jsonSuccess();
     }
 }