Jump to content
Sign in to follow this  
taviroquai

RedTalExt - Remake PHP com RedBean, PHPTAL e ExtJs

Recommended Posts

taviroquai

Titulo do Projecto: RedTalExt

Última Versão: 1.0.0

Site Oficial: N/A

Licença: GPLv3

Líder do Projecto: taviroquai

Membros Actuais do Projecto: taviroquai

Descrição do Projecto:

RedTalExt é uma base para iniciar novos projectos web based que necessitam de backoffice.

Apenas contem 4 tabelas e implementa ACLs.

RedTalExt é uma framework simples com recurso a:

    * RedBeanPHP ORM - Não é preciso saber SQL, basta uma boa organização de Objectos

    * PHPTAL - Excelente motor de templates

    * ExtJs - Bastante conhecida Frameword Javascript

    * MVC em Javascript

    * MVC em PHP

O potencial desta framework é tão grande quanto o potencial de RedBeanPHP, PHPTAL e ExtJs: frameworks solidas e bastante activas :(

Download:

http://dl.dropbox.com/u/17607469/RedTalExt.zip

Belas ferramentas ;) Experimentem!

Share this post


Link to post
Share on other sites
taviroquai

Requisitos Mínimos

  • Servidor Web - Apache ou IIS (ainda não testado no IIS)
  • PHP 5.3 + configuracao no servidor web
  • MySQL/PostgreSQL/SQLite + configuração das extensões no PHP

Nota: O XAMPP é um pacote que já traz esta tralha toda.

Instalação

[*]Criar a base de dados no SGBD (Mysql, Postgres ou SQLite) e anotar o nome

[*]Abrir o ficheiro RedTalExt/config/dev.php e colocar os caminhos do vosso ambiente, bem como, os dados de acesso à base de dados.

[*]Ainda no ficheiro de configuração, colocar reinstall_schema = true.

[*]Atenção: a pasta de temporários para o PHPTAL ($phptal_tmp) deverá estar writable para o servidor web.

[*]Se tudo estiver bem configurado, já se pode abrir no browser sem erros http://localhost/RedTalExt/client/

[*]Voltar ao ficheiro de configuracao e alterar reinstall_schema para false. Se o schema foi instalado sem erros.

Backend

Existe já um backend preparado para evoluir. Entrem em http://localhost/RedTalExt/client/?page=admin http://localhost/RedTalExt/client/

Email: admin@company.com

Password: admin

Update 19-07-2011

Vários bugs corrigidos.

Testado e a funcionar nos 3 SGBD (MySql, PostgreSQL e SQLite).

Screenshot

capturaecraredtalextadm.png

Share this post


Link to post
Share on other sites
taviroquai

Update: A base está quase terminada...

Fica um screen do Admin já com ACL...

capturaecraredtalextadm.png

Share this post


Link to post
Share on other sites
taviroquai

Versão melhorada, agora com mais comentários no código.

A base está completa, havendo com certeza sempre pontos a melhorar...

O schema está definido em RedTalExt/server/app/Model/Schema. Lá podem alterar e adicionar mais entidades.

Fica um screen do backoffice. Experimentem!

Adicionada a classe Auth_Ldap para integrarem com Windows 2003/2008 e aí autenticar os utilizadores.

capturaecraredtalextadm.png

Share this post


Link to post
Share on other sites
softklin

Hoje experimentei a tua aplicação, mas obtive uns erros de apresentação da interface. Fiz como disseste no post em cima, instalei, depois de aceder à página, voltei a colocar a variável de instalação a false. Fiz login com sucesso com os dados de administrador. Mas depois, ao clicar na ligação "Admin", ao pé do botão logout, sou direccionado para:

http://localhost/RedTalExt/client/?c=page:admin

onde, antes do conteúdo da página "cobrir" os erros, me aparece

Deprecated: Call-time pass-by-reference has been deprecated in C:\wamp\www\RedTalExt\server\app\Controller\Page\Admin.php on line 15

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\RedTalExt\server\app\Controller\Page\Admin.php:15) in C:\wamp\www\RedTalExt\server\lib\Session.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\RedTalExt\server\app\Controller\Page\Admin.php:15) in C:\wamp\www\RedTalExt\server\lib\Request\Response.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\RedTalExt\server\app\Controller\Page\Admin.php:15) in C:\wamp\www\RedTalExt\server\lib\Request\Response.php on line 79

A página depois fica pouco funcional, por exemplo:

* ao clicar no botão "New Account", aparece-me automaticamente um new user com as mesmas informações (não sei se é apenas um stub, ou se já era suposto adicionar dados). Fica uma box com Loading por cima desta lista, que não sai por nada.

* a lista de ACL não funciona

* o separador "Add more" faz aparecer os erros descritos em cima.

Estou a usar WAMP, com PHP 5.3.0, e alterei o ficheiro de configuração conforme a minha situação. Penso que a situação dos utilizadores seja mesmo erro, porque a base de dados é populada com valores NULL. Na altura da instalação, as tabelas foram criadas corretamente.

Já agora, para perceber o contexto, o que fizeste foi uma espécie de backoffice para adaptar a projectos, ou algo mais?


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
taviroquai

Obrigado por instalares softklin.

Acerca do erro... é o que dá ter um bug num template... nem me apercebi que estava a chamar a função parent::process(&$request) passando a referencia da variavel  :D

Não detectei antes porque no meu php.ini omitia os erros deprecated.

Este problema estava a afectar todas as comunicações por Ajax (o backoffice admin)... Está corrigido.

A gestão da base de dados é feita pela ORM RedBeanPHP... não te preocupes com isto.

O contexto... RedTalExt é uma base para iniciar novos projectos web based que necessitam de backoffice.

Apenas contem 4 tabelas e implementa ACLs.

O potencial disto é tão grande quanto o potencial de RedBeanPHP, PHPTAL e ExtJs: frameworks solidas e bastante activas :)

Share this post


Link to post
Share on other sites
softklin

Aqui continua com o mesmo comportamento. Mas desta vez usei o Chrome com a consola de erros, e acho que descobri outros problemas semelhantes:

Uncaught Ext.Error: Unable to parse the JSON returned by the server: You're trying to decode an invalid JSON String: <br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php:15) in <b>C:\wamp\www\redtalext\server\lib\Session.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>78</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>79</b><br />
{"success":true,"accountgroups":[{"id":"1","name":"Public","parent_id":null,"leaf":false},{"id":"6","name":"New name","parent_id":null}]}
ext-all-debug.js:4738Uncaught Ext.Error: Unable to parse the JSON returned by the server: You're trying to decode an invalid JSON String: <br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Resource\Node.php</b> on line <b>15</b><br />
<br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Resource.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Resource\Node.php:15) in <b>C:\wamp\www\redtalext\server\lib\Session.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Resource\Node.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>78</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Resource\Node.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>79</b><br />
{"success":true,"resources":[{"id":"1","name":"Page","parent_id":null,"leaf":false},{"id":"4","name":"Db","parent_id":null,"leaf":false},{"id":"32","name":"New name","parent_id":null}]}
ext-all-debug.js:4738Uncaught Ext.Error: Unable to parse the JSON returned by the server: You're trying to decode an invalid JSON String: <br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Account.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Account.php:15) in <b>C:\wamp\www\redtalext\server\lib\Session.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Account.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>78</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Account.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>79</b><br />
{"success":true,"accounts":[{"id":"1","email":"admin@company.com","password":"","name":"Admin","auth_class":"Auth_Local","active":"1"},{"id":"2","email":"user@company.com","password":"","name":"User","auth_class":"Auth_Local","active":"1"},{"id":"3","email":"guest@company.com","password":"","name":"Guest - Especial","auth_class":"Auth_Local","active":"1"},{"id":"4","email":"new@email.com","password":"","name":"New name","auth_class":"Auth_Local","active":""},{"id":"5","email":null,"password":"","name":null,"auth_class":"Auth_Local","active":""},{"id":"6","email":null,"password":"","name":null,"auth_class":"Auth_Local","active":""},{"id":"7","email":null,"password":"","name":null,"auth_class":"Auth_Local","active":""},{"id":"8","email":null,"password":"","name":null,"auth_class":"Auth_Local","active":""},{"id":"9","email":null,"password":"","name":null,"auth_class":"Auth_Local","active":""},{"id":"10","email":null,"password":"","name":null,"auth_class":"Auth_Local","active":""}]}
ext-all-debug.js:4738Uncaught Ext.Error: Unable to parse the JSON returned by the server: You're trying to decode an invalid JSON String: <br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php:15) in <b>C:\wamp\www\redtalext\server\lib\Session.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>78</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Accountgroup.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>79</b><br />
{"success":true,"accountgroups":[{"id":"1","name":"Public","parent_id":null,"accounts":[{"id":"3","email":"guest@company.com","password":"","name":"Guest - Especial","auth_class":"Auth_Local","active":"1"}]},{"id":"2","name":"Registered","parent_id":"1","accounts":[]},{"id":"3","name":"Domain Account","parent_id":"1","accounts":[{"id":"2","email":"user@company.com","password":"","name":"User","auth_class":"Auth_Local","active":"1"}]},{"id":"4","name":"Domain Administrator","parent_id":"1","accounts":[{"id":"1","email":"admin@company.com","password":"","name":"Admin","auth_class":"Auth_Local","active":"1"}]},{"id":"5","name":"History","parent_id":"1","accounts":[]},{"id":"6","name":"New name","parent_id":null,"accounts":[]}]}
ext-all-debug.js:4738Uncaught Ext.Error: Unable to parse the JSON returned by the server: You're trying to decode an invalid JSON String: <br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Resource\List.php</b> on line <b>15</b><br />
<br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Resource.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Resource\List.php:15) in <b>C:\wamp\www\redtalext\server\lib\Session.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Resource\List.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>78</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Resource\List.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>79</b><br />
{"success":true,"resources":[{"id":"1","name":"Page","parent_id":null},{"id":"2","name":"Page_Admin","parent_id":"1"},{"id":"3","name":"Page_Public","parent_id":"1"},{"id":"4","name":"Db","parent_id":null},{"id":"5","name":"Db_Account","parent_id":"4"},{"id":"6","name":"Db_Accountgroup","parent_id":"4"},{"id":"7","name":"Db_Resource","parent_id":"4"},{"id":"8","name":"Db_Acl","parent_id":"4"},{"id":"9","name":"Db_Account_Read","parent_id":"5"},{"id":"10","name":"Db_Account_List","parent_id":"5"},{"id":"11","name":"Db_Account_Update","parent_id":"5"},{"id":"12","name":"Db_Account_Create","parent_id":"5"},{"id":"13","name":"Db_Account_Delete","parent_id":"5"},{"id":"14","name":"Db_Account_Search","parent_id":"5"},{"id":"15","name":"Db_Accountgroup_Read","parent_id":"6"},{"id":"16","name":"Db_Accountgroup_List","parent_id":"6"}]}
ext-all-debug.js:4738Uncaught Ext.Error: Unable to parse the JSON returned by the server: You're trying to decode an invalid JSON String: <br />
<b>Deprecated</b>:  Call-time pass-by-reference has been deprecated in <b>C:\wamp\www\redtalext\server\app\Controller\Db\Acl.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Acl.php:15) in <b>C:\wamp\www\redtalext\server\lib\Session.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Acl.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>78</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at C:\wamp\www\redtalext\server\app\Controller\Db\Acl.php:15) in <b>C:\wamp\www\redtalext\server\lib\Request\Response.php</b> on line <b>79</b><br />
{"success":true,"acl":[{"id":"1","resource_id":"2","accountgroup_id":"4","allowed":"1"},{"id":"2","resource_id":"4","accountgroup_id":"4","allowed":"1"},{"id":"3","resource_id":"2","accountgroup_id":"1","allowed":"0"}]}

O output é um bocado grande, mas não o quis abreviar para não escapar nada, mas em principio é o mesmo erro noutros lados. No entanto, vou desactivar o error reporting para experimentar isto como deve ser.

EDIT: colocando error_reporting(0) no topo do ficheiro de configuração funciona perfeitamente, e já dá para ver o dashboard do admin.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
taviroquai

Ops... afinal não tinha corrigido todas as classes... agora penso que já não falta corrigir nenhuma.

Maldito template bugado  😡   :D

Podes activar o error reporting... no config tem la uma variavel $php_debug para esse efeito.

Share this post


Link to post
Share on other sites
taviroquai

Deixo um exemplo de como funciona a herança de permissões em duas árvores (recursos e grupos):

Olhando para o screenshot acima, temos no recurso Page_Admin um deny ao grupo Public. Isto significa que nenhum grupo fiilho de Public poderá aceder ao recurso Page_Admin. No entanto, temos também um allow ao grupo Domain_Administrator; isto significa que que qualquer filho do grupo Domain_Administrator tem acesso ao recurso Page_Admin, e a todos os recursos filhos de Page_Admin - a não ser que se crie uma permissão deny num recurso filho de Page_Admin.

A ordem em que se verifica a permissão, começa sempre do fundo da árvore invertida para o topo, devolvendo a 1º permissão que encontrar.

Share this post


Link to post
Share on other sites
mota77

está me a dar sempre

Configuration error.

coloquei os dados do mysql e as paths correctas

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.