protected function format_values($tab, $record_id) { $rb_obj = new RBO_RecordsetAccessor($tab); $record = $rb_obj->get_record($record_id); if (!$record) { return array(); } $access = Utils_RecordBrowserCommon::get_access($tab, 'view', $record); if (!$access) { return array(); } // use RB object instance for better display callback compatibility // some of them uses Utils_RecordBrowser::$rb_obj instance $rb = ModuleManager::new_instance('Utils_RecordBrowser', null, 'rb'); $rb->construct($tab); $rb->init($tab); $fields = Utils_RecordBrowserCommon::init($tab); $printable_data = array(); foreach ($fields as $f) { if ($access[$f['id']]) { $printable_data[] = array('label' => _V($f['name']), 'value' => $record->get_val($f['id'], true)); } } // fill rows - it's easier here than in template if ($this->fill_empty_rows()) { while (count($printable_data) % $this->cols() != 0) { $printable_data[] = array('label' => '', 'value' => ''); } } return $printable_data; }
function prepare_data($permission = 0, $is_altered = false, $are_nonrequired_filled = false) { $ra_task = new RBO_RecordsetAccessor('task'); $tasks_number = 2; $tasks = array_keys($ra_task->get_records(array(), array(), array(), $tasks_number)); while (count($tasks) < $tasks_number) { $t = $ra_task->new_record(array('title' => 'Sample task ' . (count($tasks) + 1), 'status' => 0, 'priority' => 0, 'permission' => 0, 'employees' => array(1))); $tasks[] = $t->id; } $data_required = array('text_required' => 'Sample text required', 'long_text_required' => 'Permission:' . $permission . ' Not required fields full:' . $are_nonrequired_filled . ' Altered:false', 'integer_required' => 123, 'float_required' => 123.45, 'checkbox' => 0, 'date_required' => date('Y-m-d'), 'timestamp_required' => date('Y-m-d H:i:s'), 'time_required' => date('Y-m-d 12:23:45'), 'currency_required' => Utils_CurrencyFieldCommon::format_default(100, 1), 'select_required' => $tasks[0], 'select_commondata_required' => 2, 'multiselect_required' => array($tasks[0]), 'multiselect_commondata_required' => array(0, 1, 2), 'permission' => $permission); $data_other = array('text' => 'Sample text', 'long_text' => 'A sample of long text', 'integer' => 1234, 'float' => 123.4567, 'checkbox' => 1, 'date' => date('Y-m-d', strtotime('+2 days')), 'timestamp' => date('Y-m-d H:i:s', strtotime('-3 days')), 'time' => date('Y-m-d 12:24:46'), 'currency' => Utils_CurrencyFieldCommon::format_default(200, 1), 'select' => $tasks[1], 'select_commondata' => 1, 'multiselect' => array($tasks[0]), 'multiselect_commondata' => array(0, 1, 2)); $data_required_altered = array('text_required' => 'Sample text required altered', 'long_text_required' => 'Permission:' . $permission . ' Not required fields full:' . $are_nonrequired_filled . ' Altered:true', 'integer_required' => 111111, 'float_required' => 11111.1111, 'checkbox' => 1, 'date_required' => date('Y-m-d', strtotime('+2 days')), 'timestamp_required' => date('Y-m-d H:i:s', strtotime('-3 days')), 'time_required' => date('Y-m-d 12:26:47'), 'currency_required' => Utils_CurrencyFieldCommon::format_default(10, 1), 'select_required' => $tasks[0], 'select_commondata_required' => 3, 'multiselect_required' => array($tasks[0], $tasks[1]), 'multiselect_commondata_required' => array(1, 2, 3), 'permission' => $permission); $data_other_altered = array('text' => 'Sample text altered', 'long_text' => 'A sample of long altered text', 'integer' => 1234, 'float' => 123.4567, 'checkbox' => 0, 'date' => date('Y-m-d'), 'timestamp' => date('Y-m-d H:i:s'), 'time' => date('Y-m-d 12:27:47'), 'currency' => Utils_CurrencyFieldCommon::format_default(20, 1), 'select' => $tasks[0], 'select_commondata' => 3, 'multiselect' => array($tasks[0], $tasks[1]), 'multiselect_commondata' => array(1, 2, 3)); if ($is_altered) { $data1 = $data_required_altered; $data2 = $data_other_altered; } else { $data1 = $data_required; $data2 = $data_other; } if ($are_nonrequired_filled) { return $data1 + $data2; } else { return $data1; } }
public function body() { $ra_task = new RBO_RecordsetAccessor('task'); $tasks = array_keys($ra_task->get_records(array(), array(), array(), 2)); $defaults = array('text_required' => 'Default text', 'long_text_required' => 'Default long test', 'integer_required' => 129, 'float_required' => 129.129, 'checkbox' => 0, 'date_required' => date('Y-m-d'), 'timestamp_required' => date('Y-m-d H:i:s'), 'time_required' => date('Y-m-d 12:29:45'), 'currency_required' => Utils_CurrencyFieldCommon::format_default(129.129, 1), 'select_required' => $tasks[0], 'select_commondata_required' => 2, 'multiselect_required' => array($tasks[0], $tasks[1]), 'multiselect_commondata_required' => array(0, 1, 2), 'permission' => 5, 'text' => 'Default text', 'long_text' => 'Default long test', 'integer' => 129, 'float' => 129.129, 'date' => date('Y-m-d', strtotime('+2 days')), 'timestamp' => date('Y-m-d H:i:s', strtotime('-3 days')), 'time' => date('Y-m-d 12:29:46'), 'currency' => Utils_CurrencyFieldCommon::format_default(257.257, 1), 'select' => $tasks[1], 'select_commondata' => 1, 'multiselect' => array($tasks[0], $tasks[1]), 'multiselect_commondata' => array(0, 1, 2)); $rs = new Tests_RecordBrowser_Recordset(); $this->rb = $rs->create_rb_module($this); $this->rb->set_defaults($defaults); $this->display_module($this->rb); }