public static function seleccComments($tittle) { $c = new Collection(); $conn = conexion(); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } else { $sentencia = $conn->stmt_init(); if (!$sentencia->prepare("select * from comentarios where (blog_id=?)")) { echo "Falló la preparación: (" . $conn->errno . ") " . $conn->error; } else { mysqli_stmt_bind_param($sentencia, "i", $tittle); if (!$sentencia->execute()) { return "0"; } else { $sentencia->bind_result($Id, $Titulo, $Autor, $Texto, $Blog_id, $Fecha); while ($sentencia->fetch()) { $comment = new Comment(array("autor" => $Autor, "fecha" => $Fecha, "titulo" => $Titulo, "texto" => $Texto, "id" => $Id, "blog_id" => $Blog_id)); $c->addItem($comment); } $conn->close(); return $c; } } } }
/** * Adding entity to collection. * * @param Entity $entity Entity object * @param string $key key * @return Entity * @throws \Exception */ public function addItem(Entity $entity, $key = null) { $entityClass = get_class($entity); if ($entityClass !== $this->getEntityClass()) { throw new \Exception("Item `{$entityClass}` is not valid current collection type `{$this->getEntityClass()}`"); } return parent::addItem($entity, $key); }
public function filter($key, $value) { $col = new Collection(); foreach ($this->data as $row) { if (isset($row[$key]) && Utils::startsWith($row[$key], $value)) { $col->addItem($row); } } return $col->items; }
/** * Retorna um grupo compartilhado * * @license http://www.gnu.org/copyleft/gpl.html GPL * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) * @sponsor Caixa Econômica Federal * @author José Vicente Tezza Jr. * @return Retorna os contatos de um Grupo Compartilhado * @access public * */ function get($request, $id) { $this->secured(); $response = new Response($request); $response->addHeader('Content-type', 'aplication/json'); $response->code = Response::OK; $h = new Hypermedia(); $c = new Collection($request->resources, 'SharedGroupResource'); try { //Recupera o grupo $group = Controller::read(array('concept' => 'contactGroup'), false, array('filter' => array('=', 'id', $id))); if (!$group) { $this->createException($request, $response, Response::NOTFOUND, 'Bad request', 'Resource not found.'); return $response; } //Proprietario do grupo $ownerId = $group[0]['user']; $idS = array(Config::me("uidNumber")); $acl = array(); //Recupera o uidNumber do usuário que compartilhou o grupo com o usuário logado $sql = 'SELECT acl_account as "uidNumber", acl_rights as "acl" ' . 'FROM phpgw_acl ' . 'WHERE (acl_location = \'' . Config::me("uidNumber") . '\' AND acl_appname = \'contactcenter\' AND acl_account = \'' . $ownerId . '\')'; $shareds = Controller::service('PostgreSQL')->execResultSql($sql); //Verifica o acesso definido para o usuario logado $flagGroup = false; if (!empty($shareds) && $shareds) { foreach ($shareds as $s) { array_push($idS, $s['uidNumber']); $acl[$s['uidNumber']] = $this->decodeAcl(decbin($s['acl'])); //verifica se o proprietario do grupo habilitou o acesso de leitura para o usuario logado if ($s['uidNumber'] == $ownerId && $acl[$s['uidNumber']]['read']) { $flagGroup = true; } } } //Se o grupo nao esta compartilhado if (!$flagGroup) { $this->createException($request, $response, Response::UNAUTHORIZED, 'unauthorized', 'Resource unauthorized.'); return $response; } //Obtem informacoes do proprietario do grupo $userOwner = Controller::read(array('concept' => 'user', 'service' => 'OpenLDAP'), false, array('filter' => array('=', 'id', $ownerId), 'notExternal' => true)); if (is_array($userOwner)) { $userOwner = $userOwner[0]; } //Recupera os grupos do usuario $groups = Controller::find(array('concept' => 'contactGroup'), false, array('filter' => array('=', 'id', $id), 'AND' => array('=', 'user', $ownerId), 'order' => array('name'))); if ($groups) { foreach ($groups[0]['contacts'] as $value) { $d = new Data(); $i = new Item($request->resources, 'ContactResource', $value['id']); $d->setName('name'); $d->setValue($value['name']); $d->setPrompt('Nome do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('id'); $d->setValue($value['id']); $d->setPrompt('Id do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('email'); $d->setValue($value['email']); $d->setPrompt('Email do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); //Define os link baseado nas permissoes de acesso if (Config::me('uidNumber') != $value['user']) { /*Descomentar ao implementar os métodos if($acl[$value['user']]['delete']){ $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); } if($acl[$value['user']]['update']){ $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); } if($acl[$value['user']]['write']){ $l = new Link(); $l->setHref(''); $l->setRel('post'); $l->setAlt('Criar'); $l->setPrompt('Criar novo'); $l->setRender('link'); $i->addLink($l); } if($acl[$value['user']]['read']){ $l = new Link(); $l->setHref(''); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); }*/ } else { /*Descomentar ao implementar métodos no recurso $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); */ } $c->addItem($i); } } if (!$groups) { $this->createException($request, $response, Response::NOTFOUND, 'Bad request', 'Resource not found.'); return $response; } $t = new Template(); $d = new Data(); $d->setName('name'); $d->setValue(null); $d->setPrompt('Nome do Contato'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $d = new Data(); $d->setName('email'); $d->setValue(null); $d->setPrompt('Email do Contato'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $d = new Data(); $d->setName('telefone'); $d->setValue(null); $d->setPrompt('Telefone do Contato'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $c->setTemplate($t); $d = new Data(); $d->setName('id'); $d->setValue($groups[0]['id']); $d->setPrompt('Id do Grupo'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $c->addData($d); $d = new Data(); $d->setName('name'); $d->setValue($groups[0]['name']); $d->setPrompt('Nome do Grupo'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $c->addData($d); $d = new Data(); $d->setName('email'); $d->setValue($groups[0]['email']); $d->setPrompt('Email do Grupo'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $c->addData($d); $d = new Data(); $d->setName('ownerId'); $d->setValue($userOwner['id']); $d->setPrompt('Atributo UID (LDAP)'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $c->addData($d); $d = new Data(); $d->setName('ownerName'); $d->setValue($userOwner['name']); $d->setPrompt('Atributo cn (LDAP)'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $c->addData($d); //Define os link baseado nas permissoes de acesso if (Config::me('uidNumber') != $value['user']) { /*Descomentar ao implementar os métodos if($acl[$value['user']]['delete']){ $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); } if($acl[$value['user']]['update']){ $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); } if($acl[$value['user']]['write']){ $l = new Link(); $l->setHref(''); $l->setRel('post'); $l->setAlt('Criar'); $l->setPrompt('Criar novo'); $l->setRender('link'); $i->addLink($l); } if($acl[$value['user']]['read']){ $l = new Link(); $l->setHref(''); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); }*/ } else { /*Descomentar ao implementar métodos no recurso $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); */ } $h->setCollection($c); } catch (Exception $ex) { $this->createException($request, $response, Response::INTERNALSERVERERROR, 'Internal Server Error', $ex); return $response; } $response->body = $h->getHypermedia($request->accept[10][0]); return $response; }
public function addItem($item, $key = null) { parent::addItem($item, $key); }
/** * Retorna uma lista de grupos * * @license http://www.gnu.org/copyleft/gpl.html GPL * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) * @sponsor Caixa Econômica Federal * @author Adrino Coutinho da Silva. * @return Retorna uma lista de Contatos Dinâmicos, Grupos, Contatos Pessoais, Grupos Compartilhados e Contatos Compartilhados * @access public * */ function get($request) { $this->secured(); //verificar se a preferencia de contatos dinamicos nao esta ativada if (!$this->isEnabledDynamicContacts(Config::me("uidNumber"))) { $response = new Response($request); $this->createException($request, $response, Response::UNAUTHORIZED, 'Resource unauthorized', 'disabled dynamic contacts preference'); return $response; } $response = new Response($request); $response->addHeader('Content-type', 'aplication/json'); $response->code = Response::OK; $h = new Hypermedia(); $c = new Collection($request->resources, 'UserContactsResource'); try { $d = new Data(); $d->setName('User Contacts'); $d->setValue(null); $d->setPrompt('Contatos do usuário'); $d->setDataType(null); $d->setMaxLength(null); $d->setMinLength(null); $d->setRequired(null); $c->addData($d); //Recupera os contatos dinâmicos do usuario $dynamicContacts = Controller::find(array('concept' => 'dynamicContact'), false, array('filter' => array('=', 'owner', Config::me("uidNumber")), 'order' => array('number_of_messages', 'name', 'mail'), 'orderDesc' => array(true, false, false))); if ($dynamicContacts) { foreach ($dynamicContacts as $value) { $d = new Data(); $i = new Item($request->resources, 'DynamicContactsResource', $value['id']); $d->setName('name'); $d->setValue($value['name']); $d->setPrompt('Nome do Contato Recente'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('mail'); $d->setValue($value['mail']); $d->setPrompt('Email do Contato Recente'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('number_of_messages'); $d->setValue((int) $value['number_of_messages']); $d->setPrompt('Quantidade de mensagens enviadas'); $d->setDataType('integer'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(false); $i->addData($d); $d = new Data(); $d->setName('id'); $d->setValue($value['id']); $d->setPrompt('Id do contato dinamico'); $d->setDataType('integer'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(false); $i->addData($d); $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref('/dynamiccontact/' . $value['id']); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); $c->addItem($i); } } $idS = array(Config::me("uidNumber")); $acl = array(); //Recupera o uidNumber de todos os usuários que compartilham suas agendas com o usuário logado $shareds = Controller::service('PostgreSQL')->execResultSql('select acl_account as "uidNumber", acl_rights as "acl" from phpgw_acl where (acl_location = \'' . Config::me("uidNumber") . '\' AND acl_appname = \'contactcenter\' )'); if (!empty($shareds) && $shareds) { foreach ($shareds as $s) { array_push($idS, $s['uidNumber']); $acl[$s['uidNumber']] = $this->decodeAcl(decbin($s['acl'])); } } //Recupera os grupos do usuario $groups = Controller::find(array('concept' => 'contactGroup'), false, array('filter' => array('IN', 'user', $idS), 'order' => array('name'))); if ($groups) { foreach ($groups as $value) { if ($value['user'] == Config::me("uidNumber") || $acl[$value['user']]['read']) { $i = new Item($request->resources, $value['user'] == Config::me("uidNumber") ? 'GroupsResource' : 'SharedGroupResource', $value['id']); $d = new Data(); $d->setName('id'); $d->setValue($value['id']); $d->setPrompt('Id do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('owner'); $d->setValue($value['user']); $d->setPrompt('Id Dono do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('name'); $d->setValue($value['name']); $d->setPrompt('Nome do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('mail'); $d->setValue($value['email']); $d->setPrompt('Email do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); if (Config::me("uidNumber") != $value['user']) { /* Descomentar ao implementar os métodos if ($acl[$value['user']]['delete']) { $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); } if ($acl[$value['user']]['update']) { $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); } if ($acl[$value['user']]['write']) { $l = new Link(); $l->setHref(''); $l->setRel('post'); $l->setAlt('Criar'); $l->setPrompt('Criar novo'); $l->setRender('link'); $i->addLink($l); } */ $l = new Link(); $l->setHref('/sharedgroup/' . $value['id']); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); } else { /* Descomentar ao implementar métodos no recurso $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); */ $l = new Link(); $l->setHref('/group/' . $value['id']); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); } $c->addItem($i); } } } //Recupera os contatos pessoais do usuario $contacts = Controller::find(array('concept' => 'contact'), false, array('filter' => array('IN', 'user', $idS))); if ($contacts) { foreach ($contacts as $value) { if ($value['user'] == Config::me("uidNumber") || $acl[$value['user']]['read']) { $d = new Data(); $i = new Item($request->resources, $value['user'] == Config::me("uidNumber") ? 'PersonalContactResource' : 'SharedContactResource', $value['id']); $d->setName('id'); $d->setValue($value['id']); $d->setPrompt('Id do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('owner'); $d->setValue($value['user']); $d->setPrompt('Id Dono do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('name'); $d->setValue($value['name']); $d->setPrompt('Nome do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('mail'); $d->setValue(isset($value['email']) ? $value['email'] : null); $d->setPrompt('Email do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('telephone'); $d->setValue(isset($value['telephone']) ? $value['telephone'] : null); $d->setPrompt('Telefone do Contato'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); if (Config::me("uidNumber") != $value['user']) { $l = new Link(); $l->setHref('/sharedcontact/' . $value['id']); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); /* Descomentar ao criar recursos if ($acl[$value['user']]['delete']) { $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); } if ($acl[$value['user']]['put']) { $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); } */ } else { /* Descomentar ao criar recursos $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); */ $l = new Link(); $l->setHref('/contact/' . $value['id']); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); } $c->addItem($i); } } } if (!$contacts && !$dynamicContacts && !$groups) { $this->createException($request, $response, Response::NOTFOUND, 'Bad request', 'Resource not found.'); return $response; } $t = new Template(); $d = new Data(); $d->setName('id'); $d->setValue(null); $d->setPrompt('Id do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $d = new Data(); $d->setName('user'); $d->setValue(null); $d->setPrompt('Id Dono do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $d = new Data(); $d->setName('name'); $d->setValue(null); $d->setPrompt('Nome do Grupo'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $c->setTemplate($t); $h->setCollection($c); $response->body = $h->getHypermedia($request->accept[10][0]); return $response; } catch (Exception $ex) { $this->createException($request, $response, Response::INTERNALSERVERERROR, 'Internal Server Error', $ex); return $response; } }
/** * Retorna uma lista de contatos recentes * * @license http://www.gnu.org/copyleft/gpl.html GPL * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) * @sponsor Caixa Econômica Federal * @author José Vicente Tezza Jr. * @return Retorna uma lista de contatos recentes * @access public * */ function get($request) { $this->secured(); $response = new Response($request); $response->addHeader('Content-type', 'aplication/json'); $response->code = Response::OK; $h = new Hypermedia(); $c = new Collection($request->resources, 'DynamicContactsResource'); try { $dynamicContacts = Controller::find(array('concept' => 'dynamicContact'), false, array('filter' => array('=', 'owner', Config::me("uidNumber")), 'order' => array('number_of_messages', 'name', 'mail'), 'orderDesc' => array(true, false, false))); //Se nao foi encontrado contatos na consulta if (!$dynamicContacts) { $this->createException($request, $response, Response::NOTFOUND, 'Bad request', 'Dynamic Contact not found.'); return $response; } $dynamicContacts = array_slice($dynamicContacts, 0, 50); foreach ($dynamicContacts as $value) { $d = new Data(); $i = new Item($request->resources, 'DynamicContactsResource', $value['id']); $d->setName('name'); $d->setValue($value['name']); $d->setPrompt('Nome do Contato Recente'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('mail'); $d->setValue($value['mail']); $d->setPrompt('Email do Contato Recente'); $d->setDataType('string'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(true); $i->addData($d); $d = new Data(); $d->setName('number_of_messages'); $d->setValue($value['number_of_messages']); $d->setPrompt('Quantidade de mensagens enviadas'); $d->setDataType('integer'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(false); $i->addData($d); $d = new Data(); $d->setName('id'); $d->setValue($value['id']); $d->setPrompt('Id do contato dinamico'); $d->setDataType('integer'); $d->setMaxLength('100'); $d->setMinLength(null); $d->setRequired(false); $i->addData($d); $l = new Link(); $l->setHref(''); $l->setRel('delete'); $l->setAlt('Remover'); $l->setPrompt('Remover'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref(''); $l->setRel('put'); $l->setAlt('Atualizar'); $l->setPrompt('Atualizar'); $l->setRender('link'); $i->addLink($l); $l = new Link(); $l->setHref('/dynamiccontact/' . $value['id']); $l->setRel('get'); $l->setAlt('Buscar'); $l->setPrompt('Buscar'); $l->setRender('link'); $i->addLink($l); $c->addItem($i); } $t = new Template(); $d = new Data(); $d->setName('name'); $d->setValue(null); $d->setPrompt('Nome do Contato Recente'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(false); $t->addData($d); $d = new Data(); $d->setName('mail'); $d->setValue(null); $d->setPrompt('Email do Contato Recente'); $d->setDataType('string'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(true); $t->addData($d); $d = new Data(); $d->setName('number_of_messages'); $d->setValue(null); $d->setPrompt('Quantidade de mensagens enviadas'); $d->setDataType('integer'); $d->setMaxLength(100); $d->setMinLength(null); $d->setRequired(false); $t->addData($d); $c->setTemplate($t); $h->setCollection($c); } catch (Exception $ex) { $this->createException($request, $response, Response::INTERNALSERVERERROR, 'Internal Server Error', $ex); return $response; } $response->body = $h->getHypermedia($request->accept[10][0]); return $response; }
function getAllBook() { $key = 'book'; $collection = CacheManager::get($key, TRUE); if ($collection) { return $collection; } $collection = new Collection(); $this->connect(); $result = $this->conn->query("CALL sp_get_all_book()"); if ($result) { //$row = $result->fetch_assoc(); while ($obj = $result->fetch_object()) { $book = new Book(); $book->setBookId($obj->Book_id); $book->setTitle($obj->Title); $book->setPublisherId($obj->Publisher_id); $book->setIsbn($obj->Isbn); $book->setCategoryId($obj->Category_id); $book->setPublisherName($obj->Publisher_name); $book->setCategoryName($obj->Subject); $collection->addItem($book, $obj->Book_id); } $result->close(); // for fetch_object() } //$result->free_result(); // for fetch_assoc() $this->close(); CacheManager::set($key, $collection, TRUE); return $collection; }
public function test_iterator_remove_item_2() { $actual = ''; $coll = new Collection(); $coll->addItem('HelloWorld1', 'msg1'); $coll->addItem('HelloWorld2'); foreach ($coll as $key => $item) { if ($key == 'msg1') { $coll->removeItem($key); $actual = $item; } } $this->assertEquals('HelloWorld2', $actual); }
public function testCollection() { $obj = new Collection('http://www.website.com/api/1.0/item/1'); $control = '{"collection":{"version":"1.0","href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1"}}'; $this->assertSame($control, (string) $obj); $obj->addLink(new Link('http://www.website.com/api/1.0/item/1', 'alternate', 'view', 'link', 'View on website')); $obj->addLink(new Link('http://alt.website.com/api/1.0/item/17', 'alternate', 'view', 'link', 'View on website2')); $control = '{"collection":{"version":"1.0","href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","links":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","rel":"alternate","name":"view","render":"link","prompt":"View on website"},{"href":"http:\\/\\/alt.website.com\\/api\\/1.0\\/item\\/17","rel":"alternate","name":"view","render":"link","prompt":"View on website2"}]}}'; $this->assertSame($control, (string) $obj); $obj->addItem(new Item('http://www.website.com/api/1.0/person/1', array(new Data('first', 'Clark', 'First Name'), new Data('last', 'Kent', 'Last Name'), new Data('age', 39, 'Age'), new Data('color', 'black')))); $obj->addItem(new Item('http://www.website.com/api/1.0/person/2', array(new Data('first', 'Louis', 'First Name'), new Data('last', 'Lane', 'Last Name'), new Data('age', 36, 'Age'), new Data('color', 'brown')))); $control = '{"collection":{"version":"1.0","href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","links":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","rel":"alternate","name":"view","render":"link","prompt":"View on website"},{"href":"http:\\/\\/alt.website.com\\/api\\/1.0\\/item\\/17","rel":"alternate","name":"view","render":"link","prompt":"View on website2"}],"items":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/person\\/1","data":[{"name":"first","prompt":"First Name","value":"Clark"},{"name":"last","prompt":"Last Name","value":"Kent"},{"name":"age","prompt":"Age","value":39},{"name":"color","value":"black"}]},{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/person\\/2","data":[{"name":"first","prompt":"First Name","value":"Louis"},{"name":"last","prompt":"Last Name","value":"Lane"},{"name":"age","prompt":"Age","value":36},{"name":"color","value":"brown"}]}]}}'; $this->assertSame($control, (string) $obj); $obj->setQueries(array(new Query('http://example.org/search', array(new Data('search', '')), 'search', 'Enter search string'), new Query('http://example.org/find', array(new Data('find', '')), 'find', 'Enter find string'))); $control = '{"collection":{"version":"1.0","href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","links":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","rel":"alternate","name":"view","render":"link","prompt":"View on website"},{"href":"http:\\/\\/alt.website.com\\/api\\/1.0\\/item\\/17","rel":"alternate","name":"view","render":"link","prompt":"View on website2"}],"items":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/person\\/1","data":[{"name":"first","prompt":"First Name","value":"Clark"},{"name":"last","prompt":"Last Name","value":"Kent"},{"name":"age","prompt":"Age","value":39},{"name":"color","value":"black"}]},{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/person\\/2","data":[{"name":"first","prompt":"First Name","value":"Louis"},{"name":"last","prompt":"Last Name","value":"Lane"},{"name":"age","prompt":"Age","value":36},{"name":"color","value":"brown"}]}],"queries":[{"href":"http:\\/\\/example.org\\/search","rel":"search","prompt":"Enter search string","data":[{"name":"search","value":""}]},{"href":"http:\\/\\/example.org\\/find","rel":"find","prompt":"Enter find string","data":[{"name":"find","value":""}]}]}}'; $this->assertSame($control, (string) $obj); $obj->setTemplate(new Template(array(new Data('first', '', 'First Name'), new Data('last', '', 'Last Name'), new Data('age', '', 'Age'), new Data('color', '')))); $control = '{"collection":{"version":"1.0","href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","links":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/item\\/1","rel":"alternate","name":"view","render":"link","prompt":"View on website"},{"href":"http:\\/\\/alt.website.com\\/api\\/1.0\\/item\\/17","rel":"alternate","name":"view","render":"link","prompt":"View on website2"}],"items":[{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/person\\/1","data":[{"name":"first","prompt":"First Name","value":"Clark"},{"name":"last","prompt":"Last Name","value":"Kent"},{"name":"age","prompt":"Age","value":39},{"name":"color","value":"black"}]},{"href":"http:\\/\\/www.website.com\\/api\\/1.0\\/person\\/2","data":[{"name":"first","prompt":"First Name","value":"Louis"},{"name":"last","prompt":"Last Name","value":"Lane"},{"name":"age","prompt":"Age","value":36},{"name":"color","value":"brown"}]}],"queries":[{"href":"http:\\/\\/example.org\\/search","rel":"search","prompt":"Enter search string","data":[{"name":"search","value":""}]},{"href":"http:\\/\\/example.org\\/find","rel":"find","prompt":"Enter find string","data":[{"name":"find","value":""}]}],"template":{"data":[{"name":"first","prompt":"First Name","value":""},{"name":"last","prompt":"Last Name","value":""},{"name":"age","prompt":"Age","value":""},{"name":"color","value":""}]}}}'; $this->assertSame($control, (string) $obj); }
public static function searchPost($search) { $titulo = $search; $conn = conexion(); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } else { $sentencia = $conn->stmt_init(); if (!$sentencia->prepare("select * from blog where texto like '%" . $titulo . "%' OR titulo like '%" . $titulo . "%'")) { echo "Falló la preparación: (" . $conn->errno . ") " . $conn->error; } else { if (!$sentencia->execute()) { return "0"; } else { $sentencia->bind_result($Autor, $Fecha, $Titulo, $Texto, $id, $img); $c = new Collection(); while ($sentencia->fetch()) { $post = new Post(array("autor" => $Autor, "fecha" => $Fecha, "titulo" => $Titulo, "texto" => $Texto, "id" => $id, "img" => $img)); $c->addItem($post); } $conn->close(); return $c; } } } }