|
@@ -1,5 +1,4 @@
|
|
<?php
|
|
<?php
|
|
-use \ParsedownExtra;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* Pico
|
|
* Pico
|
|
@@ -63,7 +62,7 @@ class Pico {
|
|
$content = $this->parse_content($content);
|
|
$content = $this->parse_content($content);
|
|
$this->run_hooks('after_parse_content', array(&$content));
|
|
$this->run_hooks('after_parse_content', array(&$content));
|
|
$this->run_hooks('content_parsed', array(&$content)); // Depreciated @ v0.8
|
|
$this->run_hooks('content_parsed', array(&$content)); // Depreciated @ v0.8
|
|
-
|
|
|
|
|
|
+
|
|
// Get all the pages
|
|
// Get all the pages
|
|
$pages = $this->get_pages($settings['base_url'], $settings['pages_order_by'], $settings['pages_order'], $settings['excerpt_length']);
|
|
$pages = $this->get_pages($settings['base_url'], $settings['pages_order_by'], $settings['pages_order'], $settings['excerpt_length']);
|
|
$prev_page = array();
|
|
$prev_page = array();
|
|
@@ -108,7 +107,7 @@ class Pico {
|
|
$this->run_hooks('after_render', array(&$output));
|
|
$this->run_hooks('after_render', array(&$output));
|
|
echo $output;
|
|
echo $output;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Load any plugins
|
|
* Load any plugins
|
|
*/
|
|
*/
|
|
@@ -152,7 +151,7 @@ class Pico {
|
|
protected function read_file_meta($content)
|
|
protected function read_file_meta($content)
|
|
{
|
|
{
|
|
global $config;
|
|
global $config;
|
|
-
|
|
|
|
|
|
+
|
|
$headers = array(
|
|
$headers = array(
|
|
'title' => 'Title',
|
|
'title' => 'Title',
|
|
'description' => 'Description',
|
|
'description' => 'Description',
|
|
@@ -172,7 +171,7 @@ class Pico {
|
|
$headers[ $field ] = '';
|
|
$headers[ $field ] = '';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
if(isset($headers['date'])) $headers['date_formatted'] = utf8_encode(strftime($config['date_format'], strtotime($headers['date'])));
|
|
if(isset($headers['date'])) $headers['date_formatted'] = utf8_encode(strftime($config['date_format'], strtotime($headers['date'])));
|
|
|
|
|
|
return $headers;
|
|
return $headers;
|
|
@@ -192,7 +191,7 @@ class Pico {
|
|
'site_title' => 'Pico',
|
|
'site_title' => 'Pico',
|
|
'base_url' => $this->base_url(),
|
|
'base_url' => $this->base_url(),
|
|
'theme' => 'default',
|
|
'theme' => 'default',
|
|
- 'date_format' => 'jS M Y',
|
|
|
|
|
|
+ 'date_format' => '%D %T',
|
|
'twig_config' => array('cache' => false, 'autoescape' => false, 'debug' => false),
|
|
'twig_config' => array('cache' => false, 'autoescape' => false, 'debug' => false),
|
|
'pages_order_by' => 'alpha',
|
|
'pages_order_by' => 'alpha',
|
|
'pages_order' => 'asc',
|
|
'pages_order' => 'asc',
|
|
@@ -205,7 +204,7 @@ class Pico {
|
|
|
|
|
|
return $config;
|
|
return $config;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Get a list of pages
|
|
* Get a list of pages
|
|
*
|
|
*
|
|
@@ -217,7 +216,7 @@ class Pico {
|
|
protected function get_pages($base_url, $order_by = 'alpha', $order = 'asc', $excerpt_length = 50)
|
|
protected function get_pages($base_url, $order_by = 'alpha', $order = 'asc', $excerpt_length = 50)
|
|
{
|
|
{
|
|
global $config;
|
|
global $config;
|
|
-
|
|
|
|
|
|
+
|
|
$pages = $this->get_files($config['content_dir'], CONTENT_EXT);
|
|
$pages = $this->get_files($config['content_dir'], CONTENT_EXT);
|
|
$sorted_pages = array();
|
|
$sorted_pages = array();
|
|
$date_id = 0;
|
|
$date_id = 0;
|
|
@@ -232,7 +231,7 @@ class Pico {
|
|
if (in_array(substr($page, -1), array('~','#'))) {
|
|
if (in_array(substr($page, -1), array('~','#'))) {
|
|
unset($pages[$key]);
|
|
unset($pages[$key]);
|
|
continue;
|
|
continue;
|
|
- }
|
|
|
|
|
|
+ }
|
|
// Get title and format $page
|
|
// Get title and format $page
|
|
$page_content = file_get_contents($page);
|
|
$page_content = file_get_contents($page);
|
|
$page_meta = $this->read_file_meta($page_content);
|
|
$page_meta = $this->read_file_meta($page_content);
|
|
@@ -262,13 +261,13 @@ class Pico {
|
|
}
|
|
}
|
|
else $sorted_pages[$page] = $data;
|
|
else $sorted_pages[$page] = $data;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
if($order == 'desc') krsort($sorted_pages);
|
|
if($order == 'desc') krsort($sorted_pages);
|
|
else ksort($sorted_pages);
|
|
else ksort($sorted_pages);
|
|
-
|
|
|
|
|
|
+
|
|
return $sorted_pages;
|
|
return $sorted_pages;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Processes any hooks and runs them
|
|
* Processes any hooks and runs them
|
|
*
|
|
*
|
|
@@ -318,14 +317,14 @@ class Pico {
|
|
}
|
|
}
|
|
return $protocol;
|
|
return $protocol;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Helper function to recusively get all files in a directory
|
|
* Helper function to recusively get all files in a directory
|
|
*
|
|
*
|
|
* @param string $directory start directory
|
|
* @param string $directory start directory
|
|
* @param string $ext optional limit to file extensions
|
|
* @param string $ext optional limit to file extensions
|
|
* @return array the matched files
|
|
* @return array the matched files
|
|
- */
|
|
|
|
|
|
+ */
|
|
protected function get_files($directory, $ext = '')
|
|
protected function get_files($directory, $ext = '')
|
|
{
|
|
{
|
|
$array_items = array();
|
|
$array_items = array();
|
|
@@ -347,14 +346,14 @@ class Pico {
|
|
}
|
|
}
|
|
return $array_items;
|
|
return $array_items;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Helper function to limit the words in a string
|
|
* Helper function to limit the words in a string
|
|
*
|
|
*
|
|
* @param string $string the given string
|
|
* @param string $string the given string
|
|
* @param int $word_limit the number of words to limit to
|
|
* @param int $word_limit the number of words to limit to
|
|
* @return string the limited string
|
|
* @return string the limited string
|
|
- */
|
|
|
|
|
|
+ */
|
|
protected function limit_words($string, $word_limit)
|
|
protected function limit_words($string, $word_limit)
|
|
{
|
|
{
|
|
$words = explode(' ',$string);
|
|
$words = explode(' ',$string);
|