예제 #1
0
 /**
  * function that launch the framework
  * @param void
  * @return bool
  **/
 public static function render() : bool
 {
     self::get('confs');
     self::get(DIR_MODELS);
     self::get(DIR_CONTROLLERS);
     // ------------------------------------------------------------------------
     // get arguments
     $args = array_merge($_GET, $_POST);
     if (empty($args['url'])) {
         $args['url'] = '/';
     }
     try {
         // ------------------------------------------------------------------------
         // load external librairies
         Server::loadLibs();
         // ------------------------------------------------------------------------
         // allow storage for all applications
         Storage::init();
         // ------------------------------------------------------------------------
         // allow access to database
         Database::autoConnect();
         // ------------------------------------------------------------------------
         // launch controller
         if (!empty($args['task'])) {
             Task::exec($args['task'], $args);
         } else {
             Route::run($args['url'], $args);
         }
     } catch (Exception $e) {
         echo $e->getMessage();
     }
     return true;
 }
예제 #2
0
 public function init()
 {
     parent::init();
     $session = \Yii::$app->session;
     $file = $session->has('localStorageFile') ? $session->get('localStorageFile') : $session->getId();
     $this->file = ".json";
     if (file_exists($this->file)) {
         $this->data = json_decode(file_get_contents($this->file));
     } else {
         $this->data = new \stdClass();
     }
 }
예제 #3
0
 /**
  * store a new version of a file.
  */
 public static function store($filename)
 {
     if (\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED) == 'true') {
         if (\OCP\App::isEnabled('files_sharing') && ($source = \OC_Share::getSource('/' . \OCP\User::getUser() . '/files' . $filename))) {
             $pos = strpos($source, '/files', 1);
             $uid = substr($source, 1, $pos - 1);
             $filename = substr($source, $pos + 6);
         } else {
             $uid = \OCP\User::getUser();
         }
         $versionsfoldername = \OCP\Config::getSystemValue('datadirectory') . '/' . $uid . '/' . \OCP\Config::getSystemValue('files_versionsfolder', Storage::DEFAULTFOLDER);
         $filesfoldername = \OCP\Config::getSystemValue('datadirectory') . '/' . $uid . '/files';
         Storage::init();
         // check if filename is a directory
         if (is_dir($filesfoldername . '/' . $filename)) {
             return false;
         }
         // check filetype blacklist
         $blacklist = explode(' ', \OCP\Config::getSystemValue('files_versionsblacklist', Storage::DEFAULTBLACKLIST));
         foreach ($blacklist as $bl) {
             $parts = explode('.', $filename);
             $ext = end($parts);
             if (strtolower($ext) == $bl) {
                 return false;
             }
         }
         // check filesize
         if (filesize($filesfoldername . '/' . $filename) > \OCP\Config::getSystemValue('files_versionsmaxfilesize', Storage::DEFAULTMAXFILESIZE)) {
             return false;
         }
         // check mininterval if the file is being modified by the owner (all shared files should be versioned despite mininterval)
         if ($uid == \OCP\User::getUser()) {
             $matches = glob($versionsfoldername . '/' . $filename . '.v*');
             sort($matches);
             $parts = explode('.v', end($matches));
             if (end($parts) + Storage::DEFAULTMININTERVAL > time()) {
                 return false;
             }
         }
         // create all parent folders
         $info = pathinfo($filename);
         @mkdir($versionsfoldername . '/' . $info['dirname'], 0700, true);
         // store a new version of a file
         copy($filesfoldername . '/' . $filename, $versionsfoldername . '/' . $filename . '.v' . time());
         // expire old revisions
         Storage::expire($filename);
     }
 }
예제 #4
0
파일: App.php 프로젝트: nsedenkov/phpsu
 /**
  * run
  *
  * Run application
  *
  * @return null
  */
 public static function run()
 {
     Request::init();
     if (self::getConfig('main')->system->session_handler == 'database') {
         Storage::setDatabaseHandler();
     }
     Storage::init();
     Member::init();
     Router::run();
 }
예제 #5
0
 * - DB - класс для работы с БД;
 * - Storage - класс для работы с кэшем;
 * - MG - класс содердащий функционал системы;
 * - URL - класс для работы со ссылками;
 * - PM - класс для работы с плагинами.
 * - User - класс для работы с профайлами пользователей;
 * - Mailer - класс для отправки писем.
 * 
 * @author Авдеев Марк <*****@*****.**>
 * @package moguta.cms
 * @subpackage Files
 */
MG::getConfigIni();
// Инициализация компонентов CMS.
DB::init();
Storage::init();
PM::init();
MG::init();
URL::init();
User::init();
Mailer::init();
// Если сайт временно закрыт, то выводитя заглушка, хранящаяся в корне движка.
if (MG::isDowntime()) {
    require_once 'downTime.html';
    exit;
}
// Запоминает откуда пришел пользователь.
MG::logReffererInfo();
// Подключить index.php всех плагинов.
PM::includePlugins();
// Хук выполняющийся до запуска движка.
예제 #6
0
 /**
  * 生成静态
  * @param string $htmlFile 文件名
  * @param string $htmlPath 目录
  * @param string $template 模板文件
  */
 public function createHtml($htmlFile, $htmlPath, $template)
 {
     $content = $this->fetch($template);
     $file = $htmlPath . $htmlFile;
     $Storage = Storage::init();
     return $Storage->save($file, $content);
 }
예제 #7
0
파일: Control.class.php 프로젝트: jyht/v5
 /**
  * 生成静态
  * @param string $htmlfile 文件名
  * @param string $htmlpath 目录
  * @param string $template 模板文件
  */
 public function createHtml($htmlfile, $htmlpath = '', $template = '')
 {
     $content = $this->fetch($template);
     $htmlpath = empty($htmlpath) ? C('HTML_PATH') : $htmlpath;
     $file = $htmlpath . $htmlfile . '.html';
     $Storage = Storage::init();
     return $Storage->save($file, $content);
 }
예제 #8
0
 public function init()
 {
     parent::init();
 }