function _get_theme_subscribers($theme_id) { $db_table = & db_table_factory :: instance('subscribe_member'); $subscribers = $db_table->get_list(array('theme_id' => $theme_id), '', 'member_id'); if (!count($subscribers)) return array(); $members_list = $this->_get_subscribers_from_branch('/root/admin/members'); $users_list = $this->_get_subscribers_from_branch('/root/admin/users'); $total_list = array_merge($members_list, $users_list); foreach($total_list as $key => $data) { if (!isset($data['email']) || !$data['email']) continue; $user_id = $data['id']; if(array_key_exists($user_id, $subscribers)) { $subscribers[$user_id]['email'] = $data['email']; $subscribers[$user_id]['name'] = $data['name']; } } return $subscribers; }
function &get_dataset(&$counter, $params = array()) { $object_data = fetch_mapped_by_url(); if (!count($object_data)) { return new array_dataset(array()); } $db_table =& db_table_factory::instance('sys_object_version'); $arr = $db_table->get_list('object_id=' . $object_data['id'], 'version DESC'); $result = array(); $users =& fetch_sub_branch('/root/users', 'user_object', $counter); foreach ($arr as $data) { $record = $data; $user = ''; if (count($users)) { foreach ($users as $user_data) { if ($user_data['id'] == $data['creator_id']) { $user = $user_data; break; } } } if ($user) { $record['creator_identifier'] = $user['identifier']; $record['creator_email'] = $user['email']; $record['creator_name'] = $user['name']; $record['creator_lastname'] = isset($user['lastname']) ? $user['lastname'] : ''; } $result[] = $record; } return new array_dataset($result); }
function &get_dataset($params = array()) { $request = request::instance(); if (!($class_id = $request->get_attribute('class_id'))) { return new array_dataset(); } $db_table =& db_table_factory::instance('sys_class'); $class_data = $db_table->get_row_by_id($class_id); if (!$class_data) { return new array_dataset(); } $c =& site_object_factory::instance($class_data['class_name']); $site_object_controller =& $c->get_controller(); $actions = $site_object_controller->get_actions_definitions(); $result = array(); foreach ($actions as $action => $action_params) { if (!isset($action_params['can_have_access_template']) || !$action_params['can_have_access_template']) { continue; } if (isset($action_params['action_name'])) { $result[$action]['action_name'] = $action_params['action_name']; } else { $result[$action]['action_name'] = str_replace('_', ' ', strtoupper($action[0]) . substr($action, 1)); } } return new array_dataset($result); }
function _update_media_record($id, $tmp_file_path, $file_name, $mime_type) { if (!file_exists($tmp_file_path)) { debug::write_error('file doesnt exist', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('tmp' => $tmp_file_path)); return false; } if (function_exists('md5_file')) { $etag = md5_file($tmp_file_path); } else { $fd = fopen($data['tmp_name'], 'rb'); $contents = fread($fd, filesize($tmp_file_path)); fclose($fd); $etag = md5($contents); } if (!is_dir(MEDIA_DIR)) { dir::mkdir(MEDIA_DIR, 777, true); } if (!copy($tmp_file_path, MEDIA_DIR . $id . '.media')) { debug::write_error('temporary file copy failed', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('src' => $tmp_file_path, 'dst' => MEDIA_DIR . $id . '.media')); return false; } $media_db_table = db_table_factory::instance('media'); $media_db_table->update_by_id($id, array('file_name' => $file_name, 'mime_type' => $mime_type, 'size' => filesize($tmp_file_path), 'etag' => $etag)); return true; }
function setUp() { $this->image =& db_table_factory::instance('test_image'); $this->image_variation =& db_table_factory::instance('test_image_variation'); $this->media =& db_table_factory::instance('test_media'); parent::setUp(); }
function load_metadata() { $ids_array = $this->_get_path_objects_ids_array(); if (!count($ids_array)) { return false; } $sys_metadata_db_table =& db_table_factory::instance('sys_metadata'); $objects_metadata = $sys_metadata_db_table->get_list(sql_in('object_id', $ids_array), '', 'object_id'); if (!count($objects_metadata)) { return false; } $ids_array = array_reverse($ids_array); $got_keywords = false; $got_description = false; foreach ($ids_array as $object_id) { if ($got_keywords && $got_description) { break; } if (!$got_keywords && !empty($objects_metadata[$object_id]['keywords'])) { $this->object_metadata['keywords'] = $objects_metadata[$object_id]['keywords']; $got_keywords = true; } if (!$got_description && !empty($objects_metadata[$object_id]['description'])) { $this->object_metadata['description'] = $objects_metadata[$object_id]['description']; $got_description = true; } } return true; }
function & get_dataset($params = array()) { if(!$arr = fetch_requested_object()) return new array_dataset(); $db_table =& db_table_factory :: instance('sys_class'); $classes = $db_table->get_list('', 'class_name'); $result = array(); $params = array(); foreach($classes as $class_id => $class_data) { $result[$class_id] = $class_data; $result[$class_id]['path'] = $arr['path']; $params['class_id'] = $class_id; $result[$class_id]['node_id'] = $arr['node_id']; foreach($arr['actions'] as $action_name => $action_params) $arr['actions'][$action_name]['extra'] = $params; $result[$class_id]['actions'] = $arr['actions']; } return new array_dataset($result); }
function & get_dataset($params = array()) { $request = request :: instance(); if(!$controller_id = $this->_get_controller_id()) return new array_dataset(); $db_table =& db_table_factory :: instance('sys_controller'); $controller_data = $db_table->get_row_by_id($controller_id); if (!$controller_data) return new array_dataset(); $site_object_controller =& site_object_controller :: create($controller_data['name']); $actions = $site_object_controller->get_actions_definitions(); $result = array(); foreach($actions as $action => $action_params) { if (!isset($action_params['can_have_access_template']) || !$action_params['can_have_access_template']) continue; if(isset($action_params['action_name'])) $result[$action]['action_name'] = $action_params['action_name']; else $result[$action]['action_name'] = str_replace('_', ' ', strtoupper($action{0}) . substr($action, 1)); } return new array_dataset($result); }
function &get_dataset($params = array()) { $request = request::instance(); if (!($controller_id = $request->get_attribute('controller_id'))) { return new array_dataset(); } $db_table =& db_table_factory::instance('sys_controller'); $controller_data = $db_table->get_row_by_id($controller_id); if (!$controller_data) { return new array_dataset(); } $site_object_controller =& site_object_controller::create($controller_data['name']); $actions = $site_object_controller->get_actions_definitions(); $user_groups =& fetch_sub_branch('/root/user_groups', 'user_group', $counter); $result = array(); foreach ($actions as $action => $action_params) { if (isset($action_params['action_name'])) { $result[$action]['action_name'] = $action_params['action_name']; } else { $result[$action]['action_name'] = str_replace('_', ' ', strtoupper($action[0]) . substr($action, 1)); } $result[$action]['permissions_required'] = $action_params['permissions_required']; foreach ($user_groups as $group_id => $group_data) { $result[$action]['groups'][$group_id]['selector_name'] = 'policy[' . $group_id . '][' . $action . ']'; } } return new array_dataset($result); }
function test_save() { $metadata['id'] = 1; $metadata['keywords'] = 'keywords'; $metadata['description'] = 'description'; $o =& site_object_factory :: create('site_object'); $o->import_attributes($metadata); $result_id = $o->save_metadata(); $this->assertNotNull($result_id); $sys_metadata_db_table =& db_table_factory :: instance('sys_metadata'); $metadata_row = $sys_metadata_db_table->get_row_by_id($result_id); $this->assertTrue(is_array($metadata_row)); $this->assertTrue(isset($metadata_row['object_id'])); $this->assertTrue(isset($metadata_row['keywords'])); $this->assertTrue(isset($metadata_row['description'])); $this->assertEqual($metadata_row['object_id'], 1); $this->assertEqual($metadata_row['keywords'], 'keywords'); $this->assertEqual($metadata_row['description'], 'description'); }
function test_db_table_cascade_delete($name = 'db table test case') { $this->image =& db_table_factory::instance('test_image'); $this->image_variation =& db_table_factory::instance('test_image_variation'); $this->media =& db_table_factory::instance('test_media'); parent::test_db_case($name); }
function &get_dataset($params = array()) { $request = request::instance(); if (!($class_id = $request->get_attribute('class_id'))) { return new array_dataset(); } $db_table =& db_table_factory::instance('sys_class'); $class_data = $db_table->get_row_by_id($class_id); if (!$class_data) { return new array_dataset(); } $c =& site_object_factory::instance($class_data['class_name']); $site_object_controller =& $c->get_controller(); $actions = $site_object_controller->get_actions_definitions(); $user_groups =& fetch_sub_branch('/root/user_groups', 'user_group', $counter); $result = array(); foreach ($user_groups as $group_id => $group_data) { foreach ($actions as $action => $action_params) { if (!isset($action_params['can_have_access_template']) || !$action_params['can_have_access_template']) { continue; } if (isset($action_params['action_name'])) { $result[$group_id]['actions'][$action]['action_name'] = $action_params['action_name']; } else { $result[$group_id]['actions'][$action]['action_name'] = str_replace('_', ' ', strtoupper($action[0]) . substr($action, 1)); } $result[$group_id]['group_name'] = $group_data['identifier']; $result[$group_id]['actions'][$action]['read_selector_name'] = 'template[' . $action . '][' . $group_id . '][r]'; $result[$group_id]['actions'][$action]['write_selector_name'] = 'template[' . $action . '][' . $group_id . '][w]'; } } return new array_dataset($result); }
function db_cart_handler($cart_id) { parent :: cart_handler($cart_id); $this->cart_db_table =& db_table_factory :: instance('cart'); register_shutdown_function(array(&$this, '_db_cart_handler')); }
function _insert_user_site_object_access_records() { $access_db_table =& db_table_factory::instance('sys_object_access'); $data = array(); for ($i = 8; $i <= 10; $i++) { $this->db->sql_insert('sys_object_access', array('object_id' => $i, 'accessor_id' => 200, 'r' => 1, 'w' => 1, 'accessor_type' => ACCESSOR_TYPE_USER)); } }
function &get_dataset($params = array()) { if (!fetch_requested_object()) { return new array_dataset(); } $db_table =& db_table_factory::instance('sys_controller'); $controllers = $db_table->get_list('', 'name'); return new array_dataset($controllers); }
function _insert_object_version_records($object_id, $version_max) { $version_db_table =& db_table_factory::instance('sys_object_version'); for ($i = 1; $i <= $version_max; $i++) { $data = array(); $data['version'] = $i; $data['object_id'] = $object_id; $version_db_table->insert($data); } }
function _create_version_record() { $version_db_table =& db_table_factory::instance('sys_object_version'); $time = time(); $data['object_id'] = $this->get_id(); $data['version'] = $this->get_version(); $data['created_date'] = $time; $data['modified_date'] = $time; $data['creator_id'] = user::get_id(); $version_db_table->insert($data); return true; }
function get_id($controller_name) { $db_table =& db_table_factory::instance('sys_controller'); $list = $db_table->get_list('name="' . $controller_name . '"'); if (count($list) == 1) { return key($list); } elseif (count($list) > 1) { error('there are more than 1 controller found', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('controller_name' => $controller_name)); } $db_table->insert(array('name' => $controller_name)); return $db_table->get_last_insert_id(); }
function test_save_wrong_membership() { $membership = array(100 => 1, 103 => 1, ';drop user_in_group;' => 1); $obj =& site_object_factory::create('user_object'); $obj->save_membership(10, $membership); $db_table =& db_table_factory::instance('user_in_group'); $rows = $db_table->get_list('', 'id'); $this->assertTrue(is_array($rows)); $this->assertEqual(count($rows), 4); $record = end($rows); $this->assertEqual($record['group_id'], (int) ';drop user_in_group;'); }
function save_priority($params) { if (!count($params)) { return true; } $db_table =& db_table_factory::instance('sys_site_object_tree'); foreach ($params as $node_id => $value) { $data = array(); $data['priority'] = (int) $value; $db_table->update_by_id($node_id, $data); } return true; }
function test_copy_group_objects_access() { $this->ac->copy_object_access($object_id = 304, $parent_id = 300, ACCESSOR_TYPE_GROUP); $db_table =& db_table_factory::instance('sys_object_access'); $conditions['accessor_type'] = ACCESSOR_TYPE_GROUP; $conditions['object_id'] = $object_id; $rows = $db_table->get_list($conditions, 'id', null); $this->assertEqual(count($rows), 2); $this->assertEqual($rows, array(array('id' => $rows[0]['id'], 'object_id' => 304, 'accessor_id' => 100, 'access' => 1, 'accessor_type' => ACCESSOR_TYPE_GROUP), array('id' => $rows[1]['id'], 'object_id' => 304, 'accessor_id' => 110, 'access' => 1, 'accessor_type' => ACCESSOR_TYPE_GROUP))); $group_objects_access = $this->ac->get_object_access_by_ids(array(300, 301, 302, 303, 304), ACCESSOR_TYPE_GROUP); $this->assertEqual(sizeof($group_objects_access), 5); $this->assertEqual($group_objects_access[304], array(100 => 1, 110 => 1)); }
function &get_data_set($params = array()) { if (!isset($_REQUEST['class_id'])) { return new array_dataset(); } $class_id = $_REQUEST['class_id']; $db_table =& db_table_factory::instance('sys_class'); $class_data = $db_table->get_row_by_id($class_id); if ($class_data) { return new array_dataset(array(0 => $class_data)); } else { return new array_dataset(array()); } }
function _insert_fake_sys_site_object_records() { $class_db_table = db_table_factory::instance('sys_class'); $class_db_table->insert(array('id' => 1001, 'class_name' => 'fake_class')); $db_table =& db_table_factory::instance('sys_site_object'); $tree =& limb_tree::instance(); $data = array(); for ($i = 11; $i <= 20; $i++) { $this->db->sql_insert('sys_site_object', array('id' => $i, 'class_id' => 1001, 'identifier' => 'object_' . $i, 'title' => 'object_' . $i . '_title', 'status' => 0, 'locale_id' => 'en')); $values['identifier'] = 'object_' . $i; $values['object_id'] = $i; $tree->create_sub_node($this->root_node_id, $values); } }
function save_membership($user_id, $membership) { $db_table =& db_table_factory::instance('user_in_group'); $db_table->delete('user_id=' . $user_id); foreach ($membership as $group_id => $is_set) { if (!$is_set) { continue; } $data = array(); $data['user_id'] = (int) $user_id; $data['group_id'] = (int) $group_id; $db_table->insert($data); } return true; }
function load_metadata() { $ids_array = $this->_get_path_objects_ids_array(); if (!count($ids_array)) { return false; } $ids_array = array_reverse($ids_array); $metadata_db_table =& db_table_factory::instance($this->metadata_db_table_name); $objects_metadata = $metadata_db_table->get_list(sql_in('object_id', $ids_array), '', 'object_id'); if (!count($objects_metadata)) { return false; } $this->_process_loaded_metadata($ids_array, $objects_metadata); return true; }
function &get_dataset(&$counter, $params = array()) { $counter = 0; $request = request::instance(); if (!($controller_id = $request->get_attribute('controller_id'))) { return new array_dataset(); } $db_table =& db_table_factory::instance('sys_controller'); $controller_data = $db_table->get_row_by_id($controller_id); if ($controller_data) { $counter = 1; return new array_dataset(array(0 => $controller_data)); } else { return new array_dataset(array()); } }
function test_save_user_actions_access_template() { $template = array('create' => array(200 => 1, 210 => 0), 'publish' => array(200 => 1, 210 => 1)); $this->ac->save_action_access_template($controller_id = 11, $template, ACCESSOR_TYPE_USER); $db_table =& db_table_factory::instance('sys_access_template'); $templates_rows = $db_table->get_list('', 'id', null); $items_db_table =& db_table_factory::instance('sys_access_template_item'); $items_rows = $items_db_table->get_list('', 'id', null); $this->assertTrue(is_array($templates_rows)); $this->assertEqual(count($templates_rows), 5); $this->assertTrue(is_array($items_rows)); $this->assertEqual(count($items_rows), 9); $this->assertEqual($templates_rows, array(array('id' => $templates_rows[0]['id'], 'controller_id' => 10, 'action_name' => 'create', 'accessor_type' => ACCESSOR_TYPE_GROUP), array('id' => $templates_rows[1]['id'], 'controller_id' => 11, 'action_name' => 'create', 'accessor_type' => ACCESSOR_TYPE_GROUP), array('id' => $templates_rows[2]['id'], 'controller_id' => 12, 'action_name' => 'create', 'accessor_type' => ACCESSOR_TYPE_USER), array('id' => $templates_rows[3]['id'], 'controller_id' => 11, 'action_name' => 'create', 'accessor_type' => ACCESSOR_TYPE_USER), array('id' => $templates_rows[4]['id'], 'controller_id' => 11, 'action_name' => 'publish', 'accessor_type' => ACCESSOR_TYPE_USER))); $record = reset($items_rows); $this->assertEqual($record['accessor_id'], 100); $this->assertEqual($record['access'], 1); $record = end($items_rows); $this->assertEqual($record['accessor_id'], 210); $this->assertEqual($record['access'], 1); }
function test_save_user_actions_access_template() { $template = array('create' => array(200 => array('r' => 1, 'w' => 1), 210 => array('r' => 0, 'w' => 0)), 'publish' => array(200 => array('r' => 1, 'w' => 0), 210 => array('r' => 1, 'w' => 0))); $this->ac->save_user_action_access_template($class_id = 11, $template); $db_table =& db_table_factory::instance('sys_user_object_access_template'); $templates_rows = $db_table->get_list('', 'id', null); $items_db_table =& db_table_factory::instance('sys_user_object_access_template_item'); $items_rows = $items_db_table->get_list('', 'id', null); $this->assertTrue(is_array($templates_rows)); $this->assertEqual(count($templates_rows), 3); $this->assertTrue(is_array($items_rows)); $this->assertEqual(count($items_rows), 5); $this->assertEqual($templates_rows, array(array('id' => $templates_rows[0]['id'], 'class_id' => 12, 'action_name' => 'create'), array('id' => $templates_rows[1]['id'], 'class_id' => 11, 'action_name' => 'create'), array('id' => $templates_rows[2]['id'], 'class_id' => 11, 'action_name' => 'publish'))); $record = reset($items_rows); $this->assertEqual($record['user_id'], 200); $this->assertEqual($record['r'], 1); $this->assertEqual($record['w'], 0); $record = end($items_rows); $this->assertEqual($record['user_id'], 210); $this->assertEqual($record['r'], 1); $this->assertEqual($record['w'], 0); }
function & get_dataset($params = array()) { if(!isset($_REQUEST['class_id'])) return new array_dataset(); $class_id = $_REQUEST['class_id']; $db_table =& db_table_factory :: instance('sys_class'); $class_data = $db_table->get_row_by_id($class_id); if (!$class_data) return new array_dataset(); $c =& site_object_factory :: instance($class_data['class_name']); $site_object_controller =& $c->get_controller(); $actions = $site_object_controller->get_actions_definitions(); $user_groups =& fetch_sub_branch('/root/user_groups', 'user_group', $counter); $result = array(); foreach($actions as $action => $action_params) { if(isset($action_params['action_name'])) $result[$action]['action_name'] = $action_params['action_name']; else $result[$action]['action_name'] = str_replace('_', ' ', strtoupper($action{0}) . substr($action, 1)); $result[$action]['permissions_required'] = $action_params['permissions_required']; foreach($user_groups as $group_id => $group_data) { $result[$action]['groups'][$group_id]['selector_name'] = 'policy[' . $group_id . '][' . $action . ']'; } } return new array_dataset($result); }
function & get_dataset($params = array()) { if(!$controller_id = $this->_get_controller_id()) return new array_dataset(); $db_table =& db_table_factory :: instance('sys_controller'); $controller_data = $db_table->get_row_by_id($controller_id); if (!$controller_data) return new array_dataset(); $site_object_controller =& site_object_controller :: create($controller_data['name']); $actions = $site_object_controller->get_actions_definitions(); $user_groups =& fetch_sub_branch('/root/admin/user_groups', 'user_group', $counter); $result = array(); foreach($user_groups as $group_id => $group_data) { foreach($actions as $action => $action_params) { if (!isset($action_params['can_have_access_template']) || !$action_params['can_have_access_template']) continue; if(isset($action_params['action_name'])) $result[$group_id]['actions'][$action]['action_name'] = $action_params['action_name']; else $result[$group_id]['actions'][$action]['action_name'] = str_replace('_', ' ', strtoupper($action{0}) . substr($action, 1)); $result[$group_id]['group_name'] = $group_data['identifier']; $result[$group_id]['actions'][$action]['selector_name'] = 'template[' . $action . '][' . $group_id . ']'; } } return new array_dataset($result); }