openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit c5511f048b8a1b0568dd459c4314c772117534ad
parent 817131f1f5f49f6b4b24d96525049403a5bb34a7
Author: Jan Dankert <devnull@localhost>
Date:   Tue, 24 Jul 2018 23:57:19 +0200

Beim Anlagen eines neuen Ordners die Sprache setzen.

Diffstat:
modules/cms-core/action/FolderAction.class.php | 17++++++++++-------
modules/cms-core/model/BaseObject.class.php | 22++++++++++++++++++++--
2 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/modules/cms-core/action/FolderAction.class.php b/modules/cms-core/action/FolderAction.class.php @@ -206,21 +206,23 @@ class FolderAction extends ObjectAction public function createfolderPost() { - $type = $this->getRequestVar('type' ); $name = $this->getRequestVar('name' ); - $filename = $this->getRequestVar('filename' ); $description = $this->getRequestVar('description'); if ( !empty($name) ) { $f = new Folder(); - $f->name = $name; - $f->filename = $name; - $f->desc = $description; - $f->parentid = $this->folder->objectid; + $f->projectid = $this->folder->projectid; + $f->languageid = $this->folder->languageid; + $f->name = $name; + $f->filename = BaseObject::urlify( $name ); + $f->desc = $description; + $f->parentid = $this->folder->objectid; $f->add(); $this->addNotice('folder',$f->name,'ADDED','ok'); + + // Die neue Folder-Id (wichtig für API-Aufrufe). $this->setTemplateVar('objectid',$f->objectid); } else @@ -996,7 +998,8 @@ class FolderAction extends ObjectAction public function createfolderView() { - $this->setTemplateVar('objectid' ,$this->folder->objectid ); + $this->setTemplateVar('objectid' ,$this->folder->objectid ); + $this->setTemplateVar('languageid',$this->folder->languageid ); } diff --git a/modules/cms-core/model/BaseObject.class.php b/modules/cms-core/model/BaseObject.class.php @@ -381,6 +381,24 @@ SQL } + /** + * Creates a slug url out of the filename. + * + * @param $filename String Name + * @return string + */ + public static function urlify( $filename ) + { + $slug = $filename; + $slug = iconv('utf-8', 'ascii//TRANSLIT', $slug); + $slug = preg_replace('/[^A-Za-z0-9-]+/', '-', $slug); + $slug = trim($slug, '-'); + $slug = strtolower($slug); + + return $slug; + } + + /** * Ermitteln des Dateinamens und Rueckgabe desselben @@ -940,7 +958,7 @@ SQL /** * Pruefung auf Gueltigkeit des Dateinamens */ - function checkFilename() + private function checkFilename() { if ( empty($this->filename) ) $this->filename = $this->objectid; @@ -962,7 +980,7 @@ SQL } - function filenameIsUnique( $filename ) + private function filenameIsUnique( $filename ) { $db = db_connection();