Example #1
0
 /**
  * @dataProvider getIdentitiesProvider
  * @param array $expected
  * @param array $origData
  * @param array $data
  * @param bool $isDeleted
  */
 public function testGetIdentities($expected, $origData, $data, $isDeleted = false)
 {
     if (is_array($origData)) {
         $this->model->setData($origData);
         $this->model->setOrigData();
     }
     $this->model->setData($data);
     $this->model->isDeleted($isDeleted);
     $this->assertEquals($expected, $this->model->getIdentities());
 }
Example #2
0
<?php

require_once $home_dir . 'models/category.m.php';
require_once $home_dir . 'models/alias.m.php';
require_once $home_dir . 'classes/forms.php';
$form = new AdminForm('category');
$page = 'admin/form';
$form->add([['name' => 'category_name', 'label' => 'Name', 'type' => 'text'], ['name' => 'alias_url', 'label' => 'Alias', 'type' => 'text'], ['name' => 'category_parent_id', 'label' => 'Parent Category', 'type' => 'select', 'select_table' => 'categories', 'select_id_field' => 'category_id', 'select_label_field' => 'category_name']]);
if (isset($_POST['category_id'])) {
    $category = new Category($db, $_POST['category_id']);
    $category->setData($form->processInput($_POST));
    $category->data['category_parent_id'] = parseInt($category->val('category_parent_id'));
    $alias_url = $category->val('alias_url');
    unset($category->data['alias_url']);
    $category->save();
    $alias = new Alias($db, $category->ival('category_alias_id'));
    // save alias if new or changed
    if ($alias->val('alias_url') != $alias_url || !$alias->is_loaded) {
        $alias->data['alias_path'] = $category->getAliasPath();
        if (isset($alias_url) && strlen(trim($alias_url)) > 0) {
            $alias->setUrl($alias_url);
        } else {
            $alias->setUrl($category->getAliasUrl());
        }
        $alias->save();
    }
    // update category alias if changed
    if ($alias->ival('alias_id') != $category->ival('category_alias_id')) {
        $category->data['category_alias_id'] = $alias->ival('alias_id');
        $category->save();
    }
Example #3
0
 public function loadChildren()
 {
     $sql = 'SELECT * FROM viewCategories WHERE category_parent_id = ? ORDER BY category_name';
     if ($statement = $this->db->prepare($sql)) {
         $statement->bind_param('i', $this->val('category_id'));
         if ($statement->execute()) {
             $result = $statement->get_result();
             $this->children = [];
             while ($row = $result->fetch_assoc()) {
                 $cat = new Category();
                 $cat->setData($row);
                 $this->children[] = $cat;
             }
             $statement->close();
         } else {
             dbErr($this->table_name, 'execute', $sql, $this->db->error);
         }
     } else {
         dbErr($this->table_name, 'prepare', $sql, $this->db->error);
     }
 }