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:
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();