Example #1
0
 public function index()
 {
     $pageNum = 24;
     if (!($page = $this->get('page'))) {
         $page = 1;
     }
     $skip = ($page - 1) * $pageNum;
     $FileModel = Model::make("file");
     $files = $FileModel->getFiles($skip, $pageNum);
     $totalFiles = $FileModel->count();
     $totalPage = ceil($totalFiles / $pageNum);
     $afiles = [];
     $filelength = count($files);
     foreach ($files as $file) {
         $nfile = [];
         $nfile['url'] = str_replace(ROOT_PATH, '', Config::get("SAVE-UPLOAD-DIR") . '/' . $file->filename);
         $nfile['id'] = $file->id;
         $afiles[] = $nfile;
     }
     if ($this->AjaxRequest) {
         return $this->renderJson(['code' => 200, "files" => $afiles]);
     } else {
         $this->assign("totalPage", $totalPage);
         $this->assign("files", $afiles);
         $this->assign("site", $this->getSiteInfo());
         $this->assign("morefile", $filelength < $totalFiles);
         return $this->display("adminArchives.html");
     }
 }
Example #2
0
 public function view($url)
 {
     $PostModel = Model::make('Post');
     $CategoryModel = Model::make("Category");
     $UserModel = Model::make("User");
     $user = $UserModel->getAdmin();
     $Post = $PostModel->where("url", Config::get("POST-STATIC-PATH") . $url)->first();
     $time = strtotime($Post->created_at);
     $Post->postTime = date("F d, Y", $time);
     $cate_arr = [];
     if (stripos($Post->category, ",") === false) {
         $cate_arr[] = $Post->category;
     } else {
         $cate_arr = explode(",", $Post->category);
     }
     $aCategory = [];
     foreach ($cate_arr as $cate) {
         $aCategory[] = $CategoryModel->getCategoryById($cate);
     }
     $Post->aCategory = $aCategory;
     $Post->author = $user->sname;
     $this->assign("post", $Post);
     $this->assign("site", $this->getSiteInfo());
     if (Config::get("POST-STATIC_ENABLE")) {
         return $this->toHtml("blogView.html", $url);
     }
     return $this->display("blogView.html");
 }
Example #3
0
 public static function newInstance()
 {
     if (self::$Log instanceof Logger) {
         return self::$Log;
     }
     self::$Log = new Logger("kernel");
     self::$Log->pushHandler(new StreamHandler(Config::get("LOG-PATH"), Logger::WARNING));
     return self::$Log;
 }
Example #4
0
 public function run()
 {
     $pathInfo = $this->request->getPathInfo();
     $httpMethod = $this->request->server->get('REQUEST_METHOD');
     $pathInfo = str_replace(Config::get("URL-SUFFIX"), '', $pathInfo);
     $pathInfo = rtrim($pathInfo, "/");
     $route_ret = $this->route->dispatch($pathInfo, $httpMethod);
     define("HTTP_METHOD", $httpMethod);
     return $this->execute($route_ret);
 }
Example #5
0
 private function getRecentImages()
 {
     $FileModel = Model::make("file");
     $files = $FileModel->getFiles(0, 6);
     $ret_files = [];
     foreach ($files as $file) {
         $ret_files[]['url'] = str_replace(ROOT_PATH, "", Config::get("SAVE-UPLOAD-DIR") . "/" . $file->filename);
     }
     return $ret_files;
 }
Example #6
0
 public static function newInstance($name)
 {
     $self = new self();
     $self->upload_dir = Config::get("SAVE-UPLOAD-DIR");
     $self->allow_type = Config::get('ALLOW-UPLOAD-TYPE');
     $self->max_size = Config::get("MAX-UPLOAD-SIZE");
     $self->storage = new \Upload\Storage\FileSystem($self->upload_dir);
     $self->file = new \Upload\File($name, $self->storage);
     $newFileName = \uniqid();
     $self->file->setName($newFileName);
     $self->file->addValidations(new \Upload\Validation\Mimetype($self->allow_type), new \Upload\Validation\Size($self->max_size));
     return $self;
 }
Example #7
0
 public static function newInstance()
 {
     if (!self::$mailer instanceof \PHPMailer) {
         self::$mailer = new \PHPMailer();
         self::$mailer->isSMTP();
         $mailConfig = Config::get("MAIL-SERVER-CONFIG");
         self::$mailer->Host = $mailConfig['HOST'];
         self::$mailer->SMTPAuth = true;
         self::$mailer->Username = $mailConfig['USERNAME'];
         self::$mailer->Password = $mailConfig['PASSWORD'];
         self::$mailer->Port = $mailConfig['PORT'];
         self::$mailer->setFrom($mailConfig['FROM'], "Root");
     }
     return self::$mailer;
 }
Example #8
0
 public function __Construct()
 {
     $template_dir = Config::get("TEMPLATE-DIR");
     $loader = new \Twig_Loader_Filesystem([$template_dir . '/' . Config::get("TEMPLATE-THEME"), $template_dir . '/admin', $template_dir . '/common']);
     $option = [];
     if (Config::get("TEMPLATE-CACHE")) {
         $option['cache'] = Config::get('TEMPLATE-CACHE-DIR');
     }
     $option['debug'] = Config::get('TEMPLATE-DEBUG');
     $option['charset'] = Config::get('TEMPLATE-CHARSET');
     $option['autoescape'] = Config::get("TEMPLATE-AUTOESCAPE");
     $option['optimizations'] = Config::get('TEMPLATE-OPTIMIZATION');
     $this->twig = new \Twig_Environment($loader, $option);
     $this->twig->addFilter($this->summary());
     $this->twig->addFilter($this->md5());
     $this->twig->addFilter($this->explode());
 }
Example #9
0
 public function makeHtml($html, $fileName)
 {
     $staticHtmlDir = Config::get("STATIC-HTML-DIR");
     if (!is_dir($staticHtmlDir)) {
         $parentDir = dirname($staticHtmlDir);
         if (!is_writable($parentDir)) {
             Log::addWarning($parentDir . "目录不可写!");
             return;
         }
         mkdir($staticHtmlDir);
         chmod($staticHtmlDir, "0777");
     } else {
         if (!is_writable($staticHtmlDir)) {
             Log::addWarning("{$staticHtmlDir} 目录不可写");
         }
     }
     file_put_contents($staticHtmlDir . '/' . $fileName . ".html", $html);
 }
Example #10
0
 /**
  * Edit a new Post
  * @return void
  */
 public function edit()
 {
     if ($postId = $this->get("pid")) {
         $Post = $this->PostModel->getPostById($postId);
         $this->assign("Post", $Post);
     }
     $siteInfo = $this->getSiteInfo();
     $FileModel = Model::make("file");
     $files = $FileModel->getFiles(0, 6);
     $file_return = [];
     foreach ($files as $file) {
         $file_return[]['url'] = str_replace(ROOT_PATH, '', Config::get('SAVE-UPLOAD-DIR') . "/" . $file->filename);
     }
     $Category = $this->CateModel->get();
     $this->assign("categorys", $Category);
     $this->assign("files", $file_return);
     $this->assign("site", $siteInfo);
     $this->display("adminEdit.html");
 }
Example #11
0
 public function deleteFiles()
 {
     if ($this->AjaxRequest) {
         if (!($fileIds = $this->post("fileIds"))) {
             return $this->renderJson(400, "Missing requried parameter: fileIds");
         }
         $fileArray = explode(",", $fileIds);
         $FileModel = Model::make("file");
         foreach ($fileArray as $fileId) {
             $file = $FileModel->find($fileId);
             $fileWithPath = Config::get('SAVE-UPLOAD-DIR') . '/' . $file->filename;
             if (is_file($fileWithPath)) {
                 unlink($fileWithPath);
             }
             $file->delete();
         }
         return $this->renderJson(200, "ok");
     } else {
         return $this->renderString("Access denied");
     }
 }