public function handleAjaxRequest(Request $request) { $var = $this->getVar(); $column_list = $this->getChildren('column'); $object_list = $this->getValue(); /** * Retrieve QuerySet */ if ($object_list instanceof QuerySet) { $length = $request->get('length'); if ($length > 0) { $object_list->limit($request->get('start'), $length); } } /** * Handle search. */ foreach ($request->get('columns') as $number => $column) { if ($column['searchable'] == 'true' && !empty($column['search']['value'])) { $filter = $column['name']; //$regex = $column['search']['regex']; $value = $column['search']['value']; $object_list->filter($filter, 'like', $value . '%'); } } /** * Generate columns content. */ $data = array(); foreach ($object_list as $v) { $this->setContext($var, $v); $item = array(); foreach ($column_list as $column) { $item[] = $column->render(); } $data[] = $item; } /** * Generate dataTable output. */ if ($object_list instanceof QuerySet) { $recordsTotal = $object_list->getTotalCount(); $recordsFiltered = $recordsTotal; } else { $recordsTotal = count($data); $recordsFiltered = $recordsTotal; } $results = array('draw' => (int) $request->get('draw'), 'recordsTotal' => $recordsTotal, 'recordsFiltered' => $recordsFiltered, 'data' => $data); echo json_encode($results); return TRUE; }
public function handleAjaxRequest(Request $request) { $name = $this->getName(); $value_name = $this->getAttribute('value'); $variables = $this->fetchVariables($value_name); $variable = reset($variables); $raw = explode('.', $variable); $last = array_pop($raw); $variable = join('.', $raw); $object = $this->fetchValue('#{' . $variable . '}'); if (!$object instanceof \Biome\Core\ORM\Models) { throw new \Exception('Unable to fetch the object from the variable: ' . $variable); } $object->{$last} = $request->get($name); $results = array(); if ($object->save()) { $results['success'] = 'Success!'; $results['value'] = $object->{$last}; } else { $results['errors'] = $object->getErrors(); } echo json_encode($results); return TRUE; }
protected function saveValue(Request $request) { $last = NULL; $object = $this->getObject($last); $name = $this->getName(); if ($object->{$last} instanceof \Biome\Core\ORM\Models) { $model = $last; $last .= '_id'; } else { $model = substr($last, 0, -3); } if ($request->get($name, NULL) === NULL) { throw new \Exception('Parameter ' . $name . ' not sent!'); } $new_value = $request->get($name); if (!empty($new_value)) { $object->{$last} = $new_value; } else { $object->{$last} = NULL; } $results = array(); if ($object->save()) { $new_value = $object->{$last}; $results['success'] = 'Success!'; $results['value'] = $new_value; if ($object->hasField($model)) { $results['content'] = (string) $object->{$model}; } } else { $results['errors'] = $object->getErrors(); } return $results; }
protected static function declareServices() { /* Registering default services. */ /** * Autoload */ Autoload::register(); /** * Biome default logger service. */ if (!Biome::hasService('logger')) { Biome::registerService('logger', function () { return new \Psr\Log\NullLogger(); }); } /** * Biome default request. */ if (!Biome::hasService('request')) { Biome::registerService('request', function () { return Request::createFromGlobals(); }); } /** * Biome default lang service. */ if (!Biome::hasService('lang')) { Biome::registerService('lang', function () { $languages = Biome::getService('request')->getLanguages(); $lang = new \Biome\Core\Lang\XMLLang($languages); return $lang; }); } /** * Biome default view service. */ if (!Biome::hasService('view')) { Biome::registerService('view', function () { $view = new \Biome\Core\View(); $app_name = Biome::getService('lang')->get('app_name'); $view->setTitle($app_name); return $view; }); } /** * Biome default rights service. */ if (!Biome::hasService('rights')) { Biome::registerService('rights', function () { $auth = \Biome\Core\Collection::get('auth'); if ($auth->isAuthenticated()) { $admin_id = 1; // Default value of the Admin role id. if (Biome::hasService('config')) { $admin_id = Biome::getService('config')->get('ADMIN_ROLE_ID', 1); } $roles = $auth->user->roles; foreach ($roles as $role) { /* If Admin. */ if ($role->role_id == $admin_id) { return new \Biome\Core\Rights\FreeRights(); } $rights = AccessRights::loadFromJSON($role->role_rights); } return $rights; } $rights = AccessRights::loadFromArray(array()); $rights->setAttribute('User', 'firstname', TRUE, TRUE)->setAttribute('User', 'lastname', TRUE, TRUE)->setAttribute('User', 'mail', TRUE, TRUE)->setAttribute('User', 'password', TRUE, TRUE)->setRoute('GET', 'index', 'index')->setRoute('GET', 'auth', 'login')->setRoute('POST', 'auth', 'signin')->setRoute('POST', 'auth', 'signup'); return $rights; }); } /** * Biome default route service. */ if (!Biome::hasService('router')) { Biome::registerService('router', function () { $router = new Route(); $router->autoroute(); return $router; }); } /** * Biome default dispatch service. */ if (!Biome::hasService('dispatcher')) { Biome::registerService('dispatcher', function () { return Biome::getService('router')->getDispatcher(); }); } Logger::info('Services registered!'); }