New features
This commit is contained in:
parent
199bf97541
commit
678eb853d7
19
features.txt
19
features.txt
|
@ -5,12 +5,13 @@ Diego Najar
|
||||||
Implementar
|
Implementar
|
||||||
- Links a Google+, Facebook y Twitter
|
- Links a Google+, Facebook y Twitter
|
||||||
- Plugins
|
- Plugins
|
||||||
- Plugins SEO, description, opengaph, etc..
|
- Plugins SEO, description, opengraph, etc..
|
||||||
- Comentarios
|
- Comentarios
|
||||||
- Notificaciones
|
- Notificaciones
|
||||||
- Dashboard, parecido a Nibbleblog, me gusta.
|
|
||||||
- iPhone app
|
- iPhone app
|
||||||
- Cloud
|
- Cloud
|
||||||
|
- ver casos de errores, filtros url iguales, con una /
|
||||||
|
- No permitir en filtros url iguales, agregar / al comienzo y final
|
||||||
- Usuarios de lectura ?, no vale la pena, y hay que hacer mas controles a nivel de administracion.
|
- Usuarios de lectura ?, no vale la pena, y hay que hacer mas controles a nivel de administracion.
|
||||||
- Implementar algun limpiador**
|
- Implementar algun limpiador**
|
||||||
|
|
||||||
|
@ -27,14 +28,6 @@ AllowOverride All
|
||||||
|
|
||||||
————
|
————
|
||||||
|
|
||||||
Objetos tipo estáticos, que empiecen con la letra h o la palabra helper.
|
|
||||||
|
|
||||||
hText::
|
|
||||||
hUrl::
|
|
||||||
|
|
||||||
helperText::
|
|
||||||
helperUrl::
|
|
||||||
|
|
||||||
find . -type f -name "*.php" -print0 | xargs -0 sed -i 's/Text/helperText/g'
|
find . -type f -name "*.php" -print0 | xargs -0 sed -i 's/Text/helperText/g'
|
||||||
find . -type f -name "*.php" -print0 | xargs -0 sed -i 's/Url/helperUrl/g'
|
find . -type f -name "*.php" -print0 | xargs -0 sed -i 's/Url/helperUrl/g'
|
||||||
|
|
||||||
|
@ -52,17 +45,13 @@ Si cambia el parent
|
||||||
verificar parent
|
verificar parent
|
||||||
mover directorio adentro del parent
|
mover directorio adentro del parent
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Editar usuario
|
Editar usuario
|
||||||
1- Usuario logueado
|
1- Usuario logueado
|
||||||
2- Ver si el usuario es administrador o si es el mismo usuario que se esta editando.
|
2- Ver si el usuario es administrador o si es el mismo usuario que se esta editando.
|
||||||
|
|
||||||
|
|
||||||
—————————
|
—————————
|
||||||
|
|
||||||
|
- Friendly URL son Case sensitive.
|
||||||
- Las Friendly URL son Case sensitive.
|
|
||||||
|
|
||||||
—————————
|
—————————
|
||||||
Editando a mano
|
Editando a mano
|
||||||
|
|
|
@ -115,6 +115,16 @@ class Plugin {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function onAdminHead()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onAdminBody()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function onSidebar()
|
public function onSidebar()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -163,5 +163,11 @@ if($Url->notFound()===false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($Url->notFound())
|
||||||
|
{
|
||||||
|
$Url->setWhereAmI('page');
|
||||||
|
$Page = new Page('error');
|
||||||
|
}
|
||||||
|
|
||||||
// Build all pages
|
// Build all pages
|
||||||
build_all_pages();
|
build_all_pages();
|
|
@ -3,7 +3,9 @@
|
||||||
$plugins = array(
|
$plugins = array(
|
||||||
'onSiteHead'=>array(),
|
'onSiteHead'=>array(),
|
||||||
'onSiteBody'=>array(),
|
'onSiteBody'=>array(),
|
||||||
'onSidebar'=>array()
|
'onSidebar'=>array(),
|
||||||
|
'onAdminHead'=>array(),
|
||||||
|
'onAdminBody'=>array()
|
||||||
);
|
);
|
||||||
|
|
||||||
function build_plugins()
|
function build_plugins()
|
||||||
|
@ -13,12 +15,13 @@ function build_plugins()
|
||||||
// List plugins directories
|
// List plugins directories
|
||||||
$list = Filesystem::listDirectories(PATH_PLUGINS);
|
$list = Filesystem::listDirectories(PATH_PLUGINS);
|
||||||
|
|
||||||
// Get declared clasess before load plugins clasess
|
// Get declared clasess before load plugins clasess, this list doesn't have the plugins clasess.
|
||||||
$currentDeclaredClasess = get_declared_classes();
|
$currentDeclaredClasess = get_declared_classes();
|
||||||
|
|
||||||
// Load each clasess
|
// Load each plugin clasess
|
||||||
foreach($list as $pluginPath)
|
foreach($list as $pluginPath) {
|
||||||
include($pluginPath.'/plugin.php');
|
include($pluginPath.'/plugin.php');
|
||||||
|
}
|
||||||
|
|
||||||
// Get plugins clasess loaded
|
// Get plugins clasess loaded
|
||||||
$pluginsDeclaredClasess = array_diff(get_declared_classes(), $currentDeclaredClasess);
|
$pluginsDeclaredClasess = array_diff(get_declared_classes(), $currentDeclaredClasess);
|
||||||
|
@ -35,9 +38,13 @@ function build_plugins()
|
||||||
|
|
||||||
if($Plugin->onSidebar()!==false)
|
if($Plugin->onSidebar()!==false)
|
||||||
array_push($plugins['onSidebar'], $Plugin);
|
array_push($plugins['onSidebar'], $Plugin);
|
||||||
|
|
||||||
|
if($Plugin->onAdminHead()!==false)
|
||||||
|
array_push($plugins['onAdminHead'], $Plugin);
|
||||||
|
|
||||||
|
if($Plugin->onAdminBody()!==false)
|
||||||
|
array_push($plugins['onAdminBody'], $Plugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build_plugins();
|
build_plugins();
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -6,12 +6,6 @@ include(PATH_RULES.'70.build_pages.php');
|
||||||
include(PATH_RULES.'80.plugins.php');
|
include(PATH_RULES.'80.plugins.php');
|
||||||
include(PATH_RULES.'99.header.php');
|
include(PATH_RULES.'99.header.php');
|
||||||
|
|
||||||
if($Url->notFound())
|
|
||||||
{
|
|
||||||
$Url->setWhereAmI('page');
|
|
||||||
$Page = new Page('error');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Theme init.php
|
// Theme init.php
|
||||||
if( Sanitize::pathFile(PATH_THEMES, $Site->theme().'/init.php') )
|
if( Sanitize::pathFile(PATH_THEMES, $Site->theme().'/init.php') )
|
||||||
include(PATH_THEMES.$Site->theme().'/init.php');
|
include(PATH_THEMES.$Site->theme().'/init.php');
|
||||||
|
|
|
@ -109,27 +109,28 @@ class Page extends fileContent
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the page permalink.
|
// Returns the page permalink.
|
||||||
public function permalink()
|
public function permalink($absolute=false)
|
||||||
{
|
{
|
||||||
global $Url;
|
global $Url;
|
||||||
|
global $Site;
|
||||||
|
|
||||||
$path = '';
|
$url = trim($Site->url(),'/');
|
||||||
$slug = $this->slug();
|
$key = $this->key();
|
||||||
$parent = $this->parent();
|
$filter = trim($Url->filters('page'), '/');
|
||||||
$filter = ltrim($Url->filters('page'), '/');
|
$htmlPath = trim(HTML_PATH_ROOT,'/');
|
||||||
|
|
||||||
if($Url->filters('page')==HTML_PATH_ROOT) {
|
if(empty($filter)) {
|
||||||
$path = HTML_PATH_ROOT;
|
$tmp = $key;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$path = HTML_PATH_ROOT.$filter.'/';
|
$tmp = $filter.'/'.$key;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($parent===false) {
|
if($absolute) {
|
||||||
return $path.$slug;
|
return $url.'/'.$tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $path.$parent.'/'.$slug;
|
return $htmlPath.'/'.$tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function parentKey()
|
public function parentKey()
|
||||||
|
|
|
@ -99,16 +99,28 @@ class Post extends fileContent
|
||||||
return $this->getField('key');
|
return $this->getField('key');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function permalink()
|
public function permalink($absolute=false)
|
||||||
{
|
{
|
||||||
global $Url;
|
global $Url;
|
||||||
|
global $Site;
|
||||||
|
|
||||||
$filter = ltrim($Url->filters('post'), '/');
|
$url = trim($Site->url(),'/');
|
||||||
|
$key = $this->key();
|
||||||
|
$filter = trim($Url->filters('post'), '/');
|
||||||
|
$htmlPath = trim(HTML_PATH_ROOT,'/');
|
||||||
|
|
||||||
if($Url->filters('post')==HTML_PATH_ROOT)
|
if(empty($filter)) {
|
||||||
return HTML_PATH_ROOT.$this->slug();
|
$tmp = $key;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$tmp = $filter.'/'.$key;
|
||||||
|
}
|
||||||
|
|
||||||
return HTML_PATH_ROOT.$filter.$this->slug();
|
if($absolute) {
|
||||||
|
return $url.'/'.$tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $htmlPath.'/'.$tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,6 @@ class pluginAbout extends Plugin {
|
||||||
'title'=>'',
|
'title'=>'',
|
||||||
'description'=>''
|
'description'=>''
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
public function onSiteHead()
|
|
||||||
{
|
|
||||||
$html = '<title>Blog – Layout Examples – Pure</title>';
|
|
||||||
return $html;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class pluginOpenGraph extends Plugin {
|
||||||
|
|
||||||
|
public function init()
|
||||||
|
{
|
||||||
|
$this->dbFields = array(
|
||||||
|
'title'=>'Open Graph',
|
||||||
|
'description'=>''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onSiteHead()
|
||||||
|
{
|
||||||
|
global $Url, $Site;
|
||||||
|
global $Post, $Page;
|
||||||
|
|
||||||
|
$og = array(
|
||||||
|
'locale' =>$Site->locale(),
|
||||||
|
'type' =>'website',
|
||||||
|
'title' =>$Site->title(),
|
||||||
|
'description' =>$Site->description(),
|
||||||
|
'url' =>$Site->url(),
|
||||||
|
'image' =>'',
|
||||||
|
'site_name' =>$Site->title()
|
||||||
|
);
|
||||||
|
|
||||||
|
switch($Url->whereAmI())
|
||||||
|
{
|
||||||
|
case 'post':
|
||||||
|
$og['type'] = 'article';
|
||||||
|
$og['title'] = $Post->title().' | '.$og['title'];
|
||||||
|
$og['description'] = $Post->description();
|
||||||
|
$og['url'] = $Post->permalink(true);
|
||||||
|
break;
|
||||||
|
case 'page':
|
||||||
|
$og['type'] = 'article';
|
||||||
|
$og['title'] = $Page->title().' | '.$og['title'];
|
||||||
|
$og['description'] = $Page->description();
|
||||||
|
$og['url'] = $Page->permalink(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$html = PHP_EOL.'<!-- Open Graph -->'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:locale" content="'.$og['locale'].'">'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:type" content="'.$og['type'].'">'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:title" content="'.$og['title'].'">'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:description" content="'.$og['description'].'">'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:image" content="'.$og['image'].'">'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:url" content="'.$og['url'].'">'.PHP_EOL;
|
||||||
|
$html .= '<meta property="og:site_name" content="'.$og['site_name'].'">'.PHP_EOL;
|
||||||
|
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue