X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=index.php;h=84282b8dc6c6ecc41dd67cae0eae0e9c3fdf883a;hb=76fb679e38c6237fc2e39c12b829068c374b8372;hp=9f50d15323d2ea40207e14d08d030cfcdbb20025;hpb=adcdac1dec45090e2fa1cd4a340e91a40c7a205f;p=github%2Fshaarli%2FShaarli.git diff --git a/index.php b/index.php index 9f50d153..84282b8d 100644 --- a/index.php +++ b/index.php @@ -606,8 +606,6 @@ function showDailyRSS($conf) { $absurl = escape(index_url($_SERVER).'?do=daily&day='.$day); // Absolute URL of the corresponding "Daily" page. // Build the HTML body of this RSS entry. - $html = ''; - $href = ''; $links = array(); // We pre-format some fields for proper output. @@ -778,6 +776,7 @@ function renderPage($conf, $pluginManager) $PAGE = new PageBuilder($conf); $PAGE->assign('linkcount', count($LINKSDB)); $PAGE->assign('privateLinkcount', count_private($LINKSDB)); + $PAGE->assign('plugin_errors', $pluginManager->getErrors()); // Determine which page will be rendered. $query = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : ''; @@ -832,7 +831,7 @@ function renderPage($conf, $pluginManager) // Get only links which have a thumbnail. foreach($links as $link) { - $permalink='?'.escape(smallhash($link['linkdate'])); + $permalink='?'.escape(smallHash($link['linkdate'])); $thumb=lazyThumbnail($conf, $link['url'],$permalink); if ($thumb!='') // Only output links which have a thumbnail. { @@ -866,7 +865,7 @@ function renderPage($conf, $pluginManager) $maxcount = max($maxcount, $value); } - // Sort tags alphabetically: case insensitive, support locale if avalaible. + // Sort tags alphabetically: case insensitive, support locale if available. uksort($tags, function($a, $b) { // Collator is part of PHP intl. if (class_exists('Collator')) { @@ -1212,7 +1211,7 @@ function renderPage($conf, $pluginManager) $value['tags']=trim(implode(' ',$tags)); $LINKSDB[$key]=$value; } - $LINKSDB->savedb($conf->get('resource.page_cache')); + $LINKSDB->save($conf->get('resource.page_cache')); echo ''; exit; } @@ -1229,7 +1228,7 @@ function renderPage($conf, $pluginManager) $value['tags']=trim(implode(' ',$tags)); $LINKSDB[$key]=$value; } - $LINKSDB->savedb($conf->get('resource.page_cache')); // Save to disk. + $LINKSDB->save($conf->get('resource.page_cache')); // Save to disk. echo ''; exit; } @@ -1245,6 +1244,9 @@ function renderPage($conf, $pluginManager) // -------- User clicked the "Save" button when editing a link: Save link to database. if (isset($_POST['save_edit'])) { + $linkdate = $_POST['lf_linkdate']; + $updated = isset($LINKSDB[$linkdate]) ? strval(date('Ymd_His')) : false; + // Go away! if (! tokenOk($_POST['token'])) { die('Wrong token.'); @@ -1255,7 +1257,7 @@ function renderPage($conf, $pluginManager) $tags = preg_replace('/(^| )\-/', '$1', $tags); // Remove duplicates. $tags = implode(' ', array_unique(explode(' ', $tags))); - $linkdate = $_POST['lf_linkdate']; + $url = trim($_POST['lf_url']); if (! startsWith($url, 'http:') && ! startsWith($url, 'https:') && ! startsWith($url, 'ftp:') && ! startsWith($url, 'magnet:') @@ -1270,6 +1272,7 @@ function renderPage($conf, $pluginManager) 'description' => $_POST['lf_description'], 'private' => (isset($_POST['lf_private']) ? 1 : 0), 'linkdate' => $linkdate, + 'updated' => $updated, 'tags' => str_replace(',', ' ', $tags) ); // If title is empty, use the URL as title. @@ -1280,7 +1283,7 @@ function renderPage($conf, $pluginManager) $pluginManager->executeHooks('save_link', $link); $LINKSDB[$linkdate] = $link; - $LINKSDB->savedb($conf->get('resource.page_cache')); + $LINKSDB->save($conf->get('resource.page_cache')); pubsubhub($conf); // If we are called from the bookmarklet, we must close the popup: @@ -1322,7 +1325,7 @@ function renderPage($conf, $pluginManager) $pluginManager->executeHooks('delete_link', $LINKSDB[$linkdate]); unset($LINKSDB[$linkdate]); - $LINKSDB->savedb('resource.page_cache'); // save to disk + $LINKSDB->save('resource.page_cache'); // save to disk // If we are called from the bookmarklet, we must close the popup: if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo ''; exit; } @@ -1633,6 +1636,12 @@ function buildLinkList($PAGE,$LINKSDB, $conf, $pluginManager) $link['class'] = $link['private'] == 0 ? $classLi : 'private'; $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['linkdate']); $link['timestamp'] = $date->getTimestamp(); + if (! empty($link['updated'])) { + $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['updated']); + $link['updated_timestamp'] = $date->getTimestamp(); + } else { + $link['updated_timestamp'] = ''; + } $taglist = explode(' ', $link['tags']); uasort($taglist, 'strcasecmp'); $link['taglist'] = $taglist; @@ -1659,8 +1668,6 @@ function buildLinkList($PAGE,$LINKSDB, $conf, $pluginManager) $next_page_url = '?page=' . ($page-1) . $searchtermUrl . $searchtagsUrl; } - $token = isLoggedIn() ? getToken($conf) : ''; - // Fill all template fields. $data = array( 'previous_page_url' => $previous_page_url,