From 02a5cf6e817c174cac8b6b7f91a921377bbde96e Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 1 Apr 2016 20:29:13 -0700 Subject: [PATCH] Fixes #1474 - check for page_title or menu_name during custom page/menu creation. --- e107_admin/cpage.php | 13 ++++++++++--- e107_handlers/e107_class.php | 2 +- e107_languages/English/admin/lan_cpage.php | 4 +++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/e107_admin/cpage.php b/e107_admin/cpage.php index 9d894e904..19a0dab36 100644 --- a/e107_admin/cpage.php +++ b/e107_admin/cpage.php @@ -680,7 +680,7 @@ class page_admin_ui extends e_admin_ui function beforeCreate($newdata,$olddata) { $newdata['menu_name'] = preg_replace('/[^\w-*]/','-',$newdata['menu_name']); - + if(empty($newdata['page_sef'])) { if(!empty($newdata['page_title'])) @@ -693,13 +693,20 @@ class page_admin_ui extends e_admin_ui } } - else + else { $newdata['page_sef'] = eHelper::secureSef($newdata['page_sef']); } + $sef = e107::getParser()->toDB($newdata['page_sef']); - + + if(isset($newdata['page_title']) && isset($newdata['page_title']) && empty($newdata['page_title']) && empty($newdata['menu_name'])) + { + e107::getMessage()->addError(CUSLAN_79); + return false; + } + if(e107::getDb()->count('page', '(*)', "page_sef='{$sef}'")) { e107::getMessage()->addError(CUSLAN_57); diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php index 7644bb853..e670e2c8f 100644 --- a/e107_handlers/e107_class.php +++ b/e107_handlers/e107_class.php @@ -2423,7 +2423,7 @@ class e107 * @param boolean $merge * @return array */ - public function getTemplateInfo($plug_name = null, $id, $key = null, $override = true, $merge = false) + public static function getTemplateInfo($plug_name = null, $id, $key = null, $override = true, $merge = false) { if($plug_name) { diff --git a/e107_languages/English/admin/lan_cpage.php b/e107_languages/English/admin/lan_cpage.php index a8c8754ed..8f8e77c7d 100644 --- a/e107_languages/English/admin/lan_cpage.php +++ b/e107_languages/English/admin/lan_cpage.php @@ -21,7 +21,7 @@ define("CUSLAN_53", "Book or Chapter Title"); define("CUSLAN_55", "Can be edited by"); define("CUSLAN_56", "Parent"); -define("CUSLAN_57", "Please choose unique SEF URL string for this entry."); +define("CUSLAN_57", "Please choose a unique SEF URL for this entry."); define("CUSLAN_58", "View Pages in this chapter"); define("CUSLAN_59", "Page"); define("CUSLAN_60", "Page Options"); @@ -43,6 +43,8 @@ define("CUSLAN_75", "Missing Menu-id detected:"); define("CUSLAN_76", "Menu with path #"); define("CUSLAN_77", "deleted"); define("CUSLAN_78", "Couldn't delete menu with path "); +define("CUSLAN_79", "You must enter either a page title or a menu name."); + // define("CUSLAN_54", "Meta Keywords"); //LAN_KEYWORDS // define("CUSLAN_1", "Title");