lunes, 22 de diciembre de 2014

Menú dinámico con PHP & MySQL

Antes que nada quiero agradecerle a mi amigo Cesar Araujo que fué quien al final me dio un lumbrazo sobre la idea que tenía pero que no funcionaba hasta que le pedí su ayuda.

Sucede que muchas veces queremos asignar menus a ciertos usuarios y hay ciertos menus que no deben ser vistos por algunos usuarios por ello debemos crear un menu que sea dinámico. He aquí una idea de como pueden hacer su menu dinámico:

Primero les presento mis tablas:

Tabla menus contendra las url de los sitios que queremos accesar.



Tabla menus_usuarios es una tabla pivot que contendra info de la tabla usuarios y de la tabla menus. En ella podemos ver que el usuario 1 tiene acceso a los menus 1,2,3,4; Donde estado es lo que nos indica el acceso: 1 habilitado, 0 no acceso

Esta es mi tabla usuario donde muestro unicamente mi usuario administrador


Ahora les mostrare rapidamente solamente la parte de los menus. El siguiente formulario contiene una lista de checkboxes la cual es generada a partir de un query a la tabla menus de modo que mostrara la cantidad de checkboxes igual a la cantidad de menus en la tabla:


Este formulario se encuentra en una pagina llamada: usuarios.php la cual al apretar el boton submit invoca a la pagina usuarios2.php, la cual procesa dicha informacion de la forma siguiente:


Debo mencionar que antes de hacer este codigo he insertado previamente al usuario al cual quiero asignar dichos menus, por esa razon verán la variable $id_user[0] al momento de insertar en la tabla menus_usuarios. Verán solamente tres valores y es porque dicha tabla tiene la columna id_menus_usuarios autoincrementable.

Por acá les dejaré el codigo TALVEZ les sirve ya que es de mi proyecto, pero algo es algo! jaja

Saludes desde El Salvador.

Codigo: https://www.dropbox.com/sh/qlzha579lc6ukf5/AABxyCTN0x1_TYtUqk59L_RTa?dl=0

jueves, 11 de diciembre de 2014

Integrar CKEditor con CKFinder WYSIWYG Editor

Haremos un ejercicio completo que comprenderá desde la instalacion de CKEditor en tu sitio hasta la integracion de CKFinder con CKEditor.

Lo primero que haremos será descargar nuestro editor CKEditor y nuestro administrador de archivos web CKFinder de su sitio oficial, cualquiera de las opciones Basic Package, Standar Package, Full Package nos servirá para trabajar. La diferencia de cada uno radica en los elementos (botones) que se presentarán en nuestro editor:
Descargar CKEditor from sitio oficial





Luego de descargarlo vamos a integrarlo en nuestra pagina web de la siguiente manera. En la seccion Head de nuestra página vamos a agregar el siguiente código:
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="ckfinder/ckfinder.js"></script>
 Donde SRC muestra la ruta donde se encuentra la carpeta CKEditor & CKFinder que descargaste anteriormente:

Referenciar librerias CKEditor en nuestra pagina web
Para que tengan una idea de como tengo mis archivos les muestra esta imagen:
Ubicacion de archivos en Xampp

Vamos a ver una muestra de como se ve cuando lo vemos en nuestro localhost:


Ahora vamos a probar la subida de archivos dando click en el icono imagen junto al icono flash:



Al dar en el boton "Send it to the Server", probablemente experimentes el siguiente error:


La solucion para este problema checkAuthentication function la cual se encuentra en el archivo config.php de la carpeta CKFinder, cambiar a TRUE a la variable return, asi:


Guardamos los cambios en dicho archivo y ahora si vamos a subir una imagen en nuestro editor:


Sencillo y corto pero espero les sirva, por acá les dejo un poco de la documentacion utilizada para dichos editores y administradores de archivos.

http://docs.cksource.com/CKFinder_2.x/Developers_Guide/PHP/CKEditor_Integration 

http://docs.ckeditor.com/#!/guide/dev_file_browse_upload

http://docs.ckeditor.com/#!/guide/dev_file_browser_api


Saludos desde El Salvador!