Merge e36ce4328c68d7a617f4ea4e2f7073ca385686d9 into 070a0c40fe84d932a5406e86e590690ecc56e2be

This commit is contained in:
Jonathan Holvey 2018-04-07 23:41:03 +00:00 committed by GitHub
commit 15cfdf2e62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 6 deletions

View File

@ -103,13 +103,16 @@ class dbList extends dbJSON
return $this->save();
}
public function edit($oldKey, $newName)
public function edit($oldKey, $newName, $properties)
{
$newKey = $this->generateKey($newName);
$this->db[$newKey]['name'] = Sanitize::html($newName);
$this->db[$newKey]['list'] = $this->db[$oldKey]['list'];
foreach ($properties as $propertyKey => $propertyValue)
$this->db[$newKey][$propertyKey] = Sanitize::html($propertyValue);
// Remove the old key
if( $oldKey != $newKey ) {
unset( $this->db[$oldKey] );
@ -130,8 +133,14 @@ class dbList extends dbJSON
// Returns the name associated to the key, FALSE if the key doesn't exist
public function getName($key)
{
if( isset($this->db[$key]) ) {
return $this->db[$key]['name'];
return $this->getProperty($key, 'name');
}
// Returns a property associated to the key, FALSE if the key doesn't exist
public function getProperty($key, $property)
{
if( isset($this->db[$key]) && isset($this->db[$key][$property])) {
return $this->db[$key][$property];
}
return false;

View File

@ -26,7 +26,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
deleteCategory($_POST['categoryKey']);
}
elseif (isset($_POST['edit'])) {
editCategory($_POST['categoryKey'], $_POST['category']);
editCategory($_POST['categoryKey'], $_POST['category'], $_POST['categoryDescription']);
}
Redirect::page('categories');

View File

@ -21,6 +21,13 @@ HTML::formOpen(array('class'=>'uk-form-horizontal'));
'class'=>'uk-width-1-2 uk-form-medium'
));
HTML::formTextArea(array(
'name'=>'categoryDescription',
'label'=>$L->g('Description'),
'value'=>$dbCategories->getProperty($categoryKey, 'description'),
'class'=>'uk-width-1-2 uk-form-medium'
));
echo '<div class="uk-form-row">
<div class="uk-form-controls">
<button type="submit" name="edit" class="uk-button uk-button-primary">'.$L->g('Save').'</button>

View File

@ -733,7 +733,7 @@ function createCategory($category) {
return false;
}
function editCategory($oldCategoryKey, $newCategory) {
function editCategory($oldCategoryKey, $newCategory, $newDescription) {
global $Language;
global $dbPages;
global $dbCategories;
@ -744,7 +744,8 @@ function editCategory($oldCategoryKey, $newCategory) {
return false;
}
if( $dbCategories->edit($oldCategoryKey, $newCategory) == false ) {
$properties = array('description' => $newDescription);
if( $dbCategories->edit($oldCategoryKey, $newCategory, $properties) == false ) {
Alert::set($Language->g('Already exist a category'));
return false;
}

View File

@ -222,6 +222,13 @@ class Page {
return $this->getValue('category');
}
// Returns the category description
public function categoryDescription()
{
global $dbCategories;
return $dbCategories->getProperty($this->categoryKey(), 'description');
}
// Returns the field from the array
// categoryMap = array( 'name'=>'', 'list'=>array() )
public function categoryMap($field)