/** * @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()); }
<?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(); }
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); } }