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"); } }
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"); }
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; }
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); }
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; }
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; }
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; }
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()); }
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); }
/** * 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"); }
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"); } }