if (!is_dir(DATA_DIR)) { if (!@mkdir(DATA_DIR, 0755)) { $pb->assign('message', sprintf(Intl::msg('Can not create %s directory, check permissions'), DATA_DIR)); $pb->renderPage('message'); } @chmod(DATA_DIR, 0755); if (!is_file(DATA_DIR . '/.htaccess')) { if (!@file_put_contents(DATA_DIR . '/.htaccess', "Allow from none\nDeny from all\n")) { $pb->assign('message', sprintf(Intl::msg('Can not protect %s directory with .htaccess, check permissions'), DATA_DIR)); $pb->renderPage('message'); } } } // XSRF protection with token if (!empty($_POST)) { if (!Session::isToken($_POST['token'])) { $pb->assign('message', Intl::msg('Wrong token')); $pb->renderPage('message'); } unset($_SESSION['tokens']); } $kfc = new FeedConf(CONFIG_FILE, FEED_VERSION); $kf = new Feed(DATA_FILE, CACHE_DIR, $kfc); $ks = new Star(STAR_FILE, ITEM_FILE, $kfc); // autosave opml if (Session::isLogged()) { if (!is_file(OPML_FILE)) { $kf->loadData(); file_put_contents(OPML_FILE, Opml::generateOpml($kf->getFeeds(), $kf->getFolders())); } else { if (filemtime(OPML_FILE) < time() - UPDATECHECK_INTERVAL) {