From 77a8f94c503827ba9a332b914f73d93a405e3c70 Mon Sep 17 00:00:00 2001 From: Riccardo Di Dato Date: Thu, 27 Jul 2017 12:07:08 +0200 Subject: [PATCH] Test url notizie con titolo Signed-off-by: Riccardo Di Dato --- private/bin/regenerateAutoUrlsForIndexing.php | 23 +++++++++++++++++++ private/lib/dao/models/NotiziaModel.php | 7 ++++++ public/admin/editNotizie.php | 2 ++ public/articolo.php | 6 ++++- 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 private/bin/regenerateAutoUrlsForIndexing.php diff --git a/private/bin/regenerateAutoUrlsForIndexing.php b/private/bin/regenerateAutoUrlsForIndexing.php new file mode 100644 index 0000000..7dbf99e --- /dev/null +++ b/private/bin/regenerateAutoUrlsForIndexing.php @@ -0,0 +1,23 @@ +#!/usr/bin/php +100, 'skip'=>0, 'sort'=> [ 'creationDate' => 1 ] ]; + +$notizie = GlobalVariables::get("dao")->query("NotiziaModel", [], $options); + +while (sizeof($notizie)>0 ){ + foreach ($notizie as $notizia){ + $notizia->buildAutoShortenedUrl(); + GlobalVariables::get("dao")->save($notizia); + } + $options['skip']+=$options['limit']; +} + +?> \ No newline at end of file diff --git a/private/lib/dao/models/NotiziaModel.php b/private/lib/dao/models/NotiziaModel.php index e88e93e..1cd50df 100644 --- a/private/lib/dao/models/NotiziaModel.php +++ b/private/lib/dao/models/NotiziaModel.php @@ -78,6 +78,13 @@ class NotiziaModel extends HasMediaModel{ return parent::__set($attr, $value); } + public function buildAutoShortenedUrl(){ + $shortened = preg_replace("/[^a-z0-9-_]/", "", $this->titolo); + $shortened = preg_replace("/\s+/", " ", trim($shortened) ); + $eles = explode(" ", $shortened); + $eles = array_slice($eles, 0, 15); + $this->shortenedUrl = implode("_", $eles); + } } ?> diff --git a/public/admin/editNotizie.php b/public/admin/editNotizie.php index db0f0c1..61ef982 100644 --- a/public/admin/editNotizie.php +++ b/public/admin/editNotizie.php @@ -75,6 +75,8 @@ try{ $notizia->about->owner = AdminLoginManager::getLogged()->id; } + $notizia->buildAutoShortenedUrl(); + if (!array_key_exists($notizia->category,NotiziaModel::$NOTIZIE_CATEGORY)){ throw new GUIException("La categoria inserita non รจ valida"); } diff --git a/public/articolo.php b/public/articolo.php index b1520e0..e8c54ac 100644 --- a/public/articolo.php +++ b/public/articolo.php @@ -12,7 +12,11 @@ try { $articolo = null; if (array_key_exists("id", $_GET)){ - $articolo = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$_GET["id"],"status"=>NotiziaModel::STATUS_ACCEPTED)); + $articolo = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>strval($_GET["id"]),"status"=>NotiziaModel::STATUS_ACCEPTED)); + } + else if (array_key_exists("short", $_GET) ) { + $short = strval($_GET["short"]); + $articolo = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("shortenedUrl"=> $short ,"status"=>NotiziaModel::STATUS_ACCEPTED)); } if (is_null($articolo)){ GUIHandler::redirect("index.php");