Agregar en wp-config.php el siguiente código:
// Activar modo WP_DEBUG
define('WP_DEBUG', true);
// Activar registro de depuración al fichero /wp-content/debug.log
define('WP_DEBUG_LOG', true);
// Desactiva mostrar los errores y avisos
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);
// Usa versiones dev de ficheros centrales JS y CSS (solo necesario si estás modificando esos ficheros centrales)
define('SCRIPT_DEBUG', true);
luego acceder a wp-content/debug.log para ver los errores que ocurrieron.
Fuente:
https://codex.wordpress.org/es:Depurar_en_WordPress#Ejemplo_de_wp-config.php_para_depuraci.C3.B3n
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Component Combobox Actionscript 3 on Animate CC2017
If you add only combobox component on AnimateCC 2017 you get this error:
Error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.containers::BaseScrollPane/drawBackground()
at fl.controls::List/draw()
at fl.core::UIComponent/drawNow()
at fl.controls::List/scrollToIndex()
at fl.controls::SelectableList/scrollToSelected()
at fl.controls::ComboBox/open()
at fl.controls::ComboBox/onToggleListVisibility()
Solution: Add to the library the List Component to, and you can see thats work.
Test:
combobox.fla
Error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.containers::BaseScrollPane/drawBackground()
at fl.controls::List/draw()
at fl.core::UIComponent/drawNow()
at fl.controls::List/scrollToIndex()
at fl.controls::SelectableList/scrollToSelected()
at fl.controls::ComboBox/open()
at fl.controls::ComboBox/onToggleListVisibility()
Solution: Add to the library the List Component to, and you can see thats work.
Test:
combobox.fla
Etiquetas:
actionscript,
ActionScript3,
adobe,
as3,
programación
Plugins WordPress para la gestión de usuarios
Plugins WordPress para la gestión de usuarios
Uno de los puntos importantes de WordPress es la gestión de los usuarios
ya que hoy en día todo el mundo quiere ser miembro de sus sitios
favoritos y por lo tanto tenemos que preparar nuestros sitios web con
opciones para los usuarios que quieran registrarse.
Para ello eh creado esta pequeña listas de los plugins mas utilizados para esto y bajo el criterio de muchos son los mejores para gestionar usuarios en WordPress.
Para ello eh creado esta pequeña listas de los plugins mas utilizados para esto y bajo el criterio de muchos son los mejores para gestionar usuarios en WordPress.
Con estos plugins podrás controlar estos tres aspectos:
Crear una “ zona restringida accesible sólo para usuarios registrados ;
Importar los usuarios ya registrados en el sitio anterior;
Permite iniciar sesión a través de correo electrónico .
WordPress ofrece muchos plugins para conseguir los tres puntos, pero no siempre funcionan como nos gustaría.Así que quiero compartir con ustedes tres plugins que he utilizado y probado personalmente.
1. WP-Members
Para crear un área reservada se utiliza WP-Miembros.
Este plugin tiene muchas características, incluyendo:
Bloquear las páginas y artículos para hacer confidencial, mostrando sólo una pequeña parte (al público);
Crear un formulario de registro con los campos que desee;
Añadir un “ área de acceso como un widget.
Yo recomiendo este plugin para crear áreas restringidas para WordPress.
Ir al plugin
2. Members Import
Después de mucha investigación y pruebas, se comprobó que para importar los miembros de otro blog el complemento perfecto para el propósito era Members Import.
Fácil de usar te permite elegir enviar o no correo electrónico de notificación y aceptado sin problemas para restaurar los usuarios.
Ir al plugin
3. WP Email Login
Los usuarios registrados pueden utilizar el correo electrónico como nombre de usuario.No todo el mundo utiliza un nick para iniciar sesión, para ver una ejemplo podemos fijarnos en el inicio de sesión de facebook.
Ir al plugin
Fuente:http://www.datoweb.com/post/79-plugins-wordpress-para-la-gestion-de-usuarios/
Webmaster Tools y Cakephp
Luego de agregar el sitio a las webmastertools de google, es necesario verificar su propiedad. Para ello hay varis metodos, como por html, por meta tag, por enlace de la cuenta de google analytics, etc.
Para verificacion html nos proporcionan un archivo con nombre como el siguiente google8dmn54g9d45ef99b.html, el cual contiene solo texto plano que tiene de nombre el mismo que el html en sí. como google-site-verification: google8dmn54g9d45ef99b.html . Este html debería subirse en la carpeta del sitio y debe ser accesible desde - ejemplo.com/google8dmn54g9d45ef99b.html - y debería devolver solo la cadena que contiene - sin ningun texto adicional en la pagina, de lo contratio la verificacion falla.
La manera mas práctica es agregando el meta tag que brinda en WebmasterTools en app/View/Layouts/default.ctp entre los demás metatag.
Debido a como Cakephp maneja las URL, no solo debemos subir este archivo html a la carpeta principal del sitio o en la carpeta webroot, y tratar de acceder a él por la url mencionada, porque devolveria un error.
Antes que nada, debemos configurar las rutas. Para ello en app/config/routes.php agruegar la siguientes lineas:
// webmaster tools
Router::connect('/google8dmn54g9d45ef99b.html', array('controller' => 'pages', 'action' => 'google'));
Entonces, enviamos el pedido para abrir el archivo ejemplo.com/google8dmn54g9d45ef99b.html al Pages controller google action. Luego, en Pages Controller agregar la funcion googlepublic function google() {
$this->autoRender = false;
echo "google-site-verification: google8dmn54g9d45ef99b.html";
}
No necesitamos layout y por lo tanto, archivo view para esta página, solo texto plano deberíaser la salida, por lo que, setramos autoRender como false pra hacerl bien.Si usamos Authentication, no olvidar definir esta página como publica, agregando $this->Auth->allow('google'); al controlador actual beforeFilter() function como:
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow( 'google' );
}
Aquí, extendemos el padre de (AppController's) before filter para no perder los que fue definido previamente. Finalmente al abrir esto se mostrará la salida del archivo html que hace funcionar la verificacion.
Cómo instalar LAMP en Ubuntu
Instalar LAMP (Linux Apache MySQL PHP) en Ubuntu.
El procedimiento se divide en tres partes: Instalar y probar Apache, instalar y probar PHP y finalmente instalar el gestor de base de datos MySQL.
En un terminal, ingresá:
Inicio Manual:
El directorio donde tenés que almacenar tus sitios web es: /var/www
Dar a tu usuario los privilegios necesarios para crear archivos y carpetas.
Ingresá http://localhost en tu explorador web. Deberías ver una página de Apache.
En un terminal, ingresá el siguiente comando:
Reiniciá Apache con:
Prueba
Para probar que se haya instalado correctamente, vamos a crear un script PHP muy simple:
Ingresá el siguiente contenido y guardá el archivo:
Para ejecutar el script, abrí tu explorador web y accedé a la siguiente URL: http://localhost/prueba.php. Deberías ver una página con información sobre tu instalación de PHP.
Ingresá el siguiente comando en un terminal:
Durante el proceso de instalación te va a pedir que asignes la contraseña al usuario root de MySQL.
Prueba
Ingresá lo siguiente en un terminal:
Debería devolver algo sobre el estado del proceso mysql.
Para verificar que la contraseña funciona bien:
Donde xxx es la contraseña que ingresaste durante la instalación de MySQL.
Si querés cambiar la contraseña del root, ejecutá el siguiente comando después de ingresar a MySQL:
Sustituyendo yyy por tu nueva contraseña.
phpMyAdmin phpMyAdmin es un administrador gráfico para MySQL muy utilizado por los admins. Para instalarlo ingresá en un terminal:
No olvides presionar la barra espaciadora en la pantalla de configuración para seleccionar a Apache2 como el servidor web que deseamos configurar automáticamente.
Si no puedes acceder al phpmyadmin, intentá crear un enlace simbólico en la carpeta www, así:
Para ver los cambios, no olvides reiniciar Apache2 con:
El procedimiento se divide en tres partes: Instalar y probar Apache, instalar y probar PHP y finalmente instalar el gestor de base de datos MySQL.
Apache
InstalaciónEn un terminal, ingresá:
sudo apt-get install apache2
Inicio Manual:
sudo service apache2 startPara detener el servicio:
sudo service apache2 stopY para reiniciarlo
sudo service apache2 restart
El directorio donde tenés que almacenar tus sitios web es: /var/www
Dar a tu usuario los privilegios necesarios para crear archivos y carpetas.
sudo chown root:root -R /var/www/ sudo chmod 777 -R /var/www/Prueba
Ingresá http://localhost en tu explorador web. Deberías ver una página de Apache.
PHP
InstalaciónEn un terminal, ingresá el siguiente comando:
sudo apt-get install php5 libapache2-mod-php5 php5-cli php5-mysql
Reiniciá Apache con:
sudo service apache2 restart
Prueba
Para probar que se haya instalado correctamente, vamos a crear un script PHP muy simple:
sudo gedit /var/www/prueba.php
Ingresá el siguiente contenido y guardá el archivo:
Para ejecutar el script, abrí tu explorador web y accedé a la siguiente URL: http://localhost/prueba.php. Deberías ver una página con información sobre tu instalación de PHP.
MySQL
InstalaciónIngresá el siguiente comando en un terminal:
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
Durante el proceso de instalación te va a pedir que asignes la contraseña al usuario root de MySQL.
Prueba
Ingresá lo siguiente en un terminal:
sudo service mysql status
Debería devolver algo sobre el estado del proceso mysql.
Para verificar que la contraseña funciona bien:
mysql -uroot -pxxx
Donde xxx es la contraseña que ingresaste durante la instalación de MySQL.
Si querés cambiar la contraseña del root, ejecutá el siguiente comando después de ingresar a MySQL:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yyy');
Sustituyendo yyy por tu nueva contraseña.
phpMyAdmin phpMyAdmin es un administrador gráfico para MySQL muy utilizado por los admins. Para instalarlo ingresá en un terminal:
sudo apt-get install phpmyadminPara acceder a él accedé a la siguiente URL desde tu explorador web: http://localhost/phpmyadmin
No olvides presionar la barra espaciadora en la pantalla de configuración para seleccionar a Apache2 como el servidor web que deseamos configurar automáticamente.
Si no puedes acceder al phpmyadmin, intentá crear un enlace simbólico en la carpeta www, así:
sudo ln -s /usr/share/phpmyadmin /var/www/
gd library
Si querés agregar soporte para la generación y manipulación de gráficos en PHP, escribí en un terminal:sudo apt-get install php5-gd
SSL en Apache 2
Para activar el módulo SSL (Secure Socket Layer) en Apache 2, ingresa en un terminal:sudo a2enmod ssl
Para ver los cambios, no olvides reiniciar Apache2 con:
sudo /etc/init.d/apache2 restart
FUENTE:http://blog.desdelinux.net/como-instalar-lamp-en-ubuntu/
Etiquetas:
LAMP,
MySQL,
PHP,
programación,
Ubuntu
Clase de PHP para abrir archivos de Excel
http://phpexcel.codeplex.com/
https://github.com/PHPOffice/PHPExcel
Ejemplos:
http://phpexcel.codeplex.com/wikipage?title=Examples&referringTitle=Home
De PHP a PDF con TCPDF
TCPDF es una clase de software libre PHP para generar documentos PDF.
Es uno de los proyectos Open Source más activos del mundo, que se
utiliza a diario por millones de usuarios y se incluyen en miles de CMS y
aplicaciones Web, como por ejemplo Prestashop que genera las facturas
utilizando esta potente librería.
Destaca por su facilidad de uso y la gran potencialidad que tiene a la hora de construir archivos PDFs con HTML.
Visitar página oficial
Descargar librería
Fuente: http://www.jose-aguilar.com/blog/tcpdf/
Destaca por su facilidad de uso y la gran potencialidad que tiene a la hora de construir archivos PDFs con HTML.
Características principales
- No se necesitan bibliotecas externas para las funciones básicas;
- Soporte para Páginas en Formato ISO
- Soporte de UTF-8 Unicode y RTL idiomas
- Interpretación de HTML
- Método para la creación de código de barras
- Soporte de Fuentes TrueTypeUnicode, TrueType y Type1
- Soporta Configuración de Páginas
- Incluye Métodos para la creación de cabeceras y pies para las páginas
- Quiebre de Hoja Automático
- Número de Hojas Automático
- Quiebre de Línea y Justificación Automática
- Soporte de Imágenes
- Soporta Colores
- Soporta Enlaces Web
- Soporte de Compresión de Páginas
- Apoya el documento cifrado
- Incluye gráficos y métodos de transformación
- Incluye los favoritos
- Incluye JavaScript y las formas de apoyo
Visitar página oficial
Descargar librería
Fuente: http://www.jose-aguilar.com/blog/tcpdf/
Framework: CakePHP - Scaffoling (CRUD)
CakePHP tiene una característica interesante que realmente ayuda, se llama "scaffolding" (andamios).
La documentación de Cake deja muy claro que los scaffolding no es una solución de producción, es sólo una forma rápida para hacer algunos prototipos.Una vez que tenga su prototipo, debería ser capaz de poder intercambiar el scaffolding con su propio código, los códigos tendrán prioridad sobre los andamios.
El scaffolding es manera de construir rápidamente una aplicación básica que puede "crear", "leer", "actualizar" y "borrar" (o CRUD) objetos, con sólo unas simples líneas de código de Cake.
Todo lo que necesitamos hacer es configurar su tabla de base de datos, el modelo y el controlador, y eso es todo, puede navegar por la base de datos, añadir nuevas entradas, eliminar, actualizar, etc.
Todas las funciones básicas CRUD que necesita.
Ejemplo:
Crear la tabla 'autores' de base de datos.
Lo primero que debemos hacer es crear una tabla llamada 'autores' con un identificador de clave principal y un campo de nombre, e insertar una fila de muestra.CREATE TABLE `authors` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
);
INSERT INTO `authors` (`id` ,`name` ) VALUES ( NULL , 'Andres Yaz');
El id debe existir y ser clave primaria.
Crear un Modelo ‘Author’
A continuación, deberíamos crear nuestro modeloubicado en /app/models/author.php con algo así:class Author extends AppModel
{
var $name = 'Author';
}
?>
El modelo siempre tiene el nombre de la tabla.
Crear el controlador con scaffolding
Ahora, podemos seguir adelante para crear el controlador ubicado en /app/controllers/authors_controller.php.Observar que se respete que elnombre de archivo en el nombre del modelo en plural
Este controlador sólo contendrá una línea dentro de la clase AuthorsController:
class AuthorsController extends AppController
{
var $scaffold;
}
?>
Scaffolding en funcionamiento
Acceder a la URL http://localhost/autores, para verlo.Se representa una tabla con una entrada - Andres Yaz.
Elije cual de las GUI Toolkit es mejor para tus proyectos
En este sitio completando el formulario te recomiendan que GUI Toolkit es mejor para tu proyecto.
www.awaretek.com/toolkits.html
Glade - Diseñador de Interface de Usuario
Glade es una herramienta RAD para permitir el desarrollo rápido y fácil de interfaces de usuario para GTK + y el entorno de escritorio GNOME.
Las interfaces de usuario diseñadas en Glade se guardan como XML, y utilizando el GtkBuilder GTK + OBJETO estas se pueden cargar por las aplicaciones dinámicamente según sea necesario.
Mediante el uso de GtkBuilder, archivos XML Glade se pueden utilizar en numerosos lenguajes de programación, incluyendo C, C ++, C #, Vala, Java, Perl, Python, y otros.
Glade es un software libre publicado bajo la licencia GNU GPL
Descargas para Windows
Las interfaces de usuario diseñadas en Glade se guardan como XML, y utilizando el GtkBuilder GTK + OBJETO estas se pueden cargar por las aplicaciones dinámicamente según sea necesario.
Mediante el uso de GtkBuilder, archivos XML Glade se pueden utilizar en numerosos lenguajes de programación, incluyendo C, C ++, C #, Vala, Java, Perl, Python, y otros.
Glade es un software libre publicado bajo la licencia GNU GPL
Descargas para Windows
Etiquetas:
programación,
Python,
Software Libre
Redondear números en PHP
Round
Por la funciónround() debemos pasar de forma obligatoria un dato del tipo float que será el número que queremos redondear: round(número a redondear). Después de forma opcional tenemos 2 datos: uno del tipo int
que será el que indique cuantos lugares antes o después de la coma
queremos tener y el otro dato podremos elegir entre 4 constantes
predefinidas. round(número a redondear, precisión, modo).Cuando pasamos un número decimal por la función
round(), por defecto nos lo redondeará al número entero más cercano.echo round(5.4); // El resultado será 5 echo round(5.54); // El resultado será 6Si añadimos el segundo parámetro podremos cambiar la cantidad de dígitos con la que se muestra el número.
echo round(4.589, 2); // El resultado será 4.59 echo round(12.121212, 3); // El resultado será 12.121 echo round(24.86238, 1); // El resultado será 24.9Si utilizamos un número negativo redondeará tantos lugares antes de la coma como lo hayamos indicado.
echo round(526548, -3); // El resultado será 527000 echo round(125685468, -6); // El resultado será 126000000
Ceil
Porceil() solamente podemos pasar un dato del tipo float que será el número o resultado de una operación matemática que queremos redondear. Ese dato del tipo float será redondeado al siguiente número mayor entero. ceil(número a redondear).echo ceil(4.226); // El resultado será 5 echo ceil(12.10); // El resultado será 13 echo ceil(24.999); // El resultado será 25
Floor
En el caso de la funciónfloor() también podremos pasar solamente un dato del tipo float (número o resultado de una operación matemática que tenemos que redondear). A diferencia de ceil(), en este caso, el float que pasemos por la función será redondeado al número entero anterior. floor(número a redondear).echo floor(4.226); // El resultado será 4 echo floor(12.121212); // El resultado será 12 echo floor(24.86238); // El resultado será 24
Guardar datos desde DataGrid a Archivo CVS con ActionScript 3
Como guardar datos desde un Componente DataGrid en un archivo CVS compatible con Excel.
Objetivo: Dado un componente DataGrid lleno con datos lograr exportarlo en un archivo externo en ActionScript 3. Después de un arduo trabajo de investigación y busqueda en varios sitios web les dejo publicado lo que logré.En un archivo nuevo AS3, en la escena colocar un componente datagrid llamando aDg y un componente TextInput, en una capa de acciones colocar el siguiente código:
import fl.data.DataProvider;
import flash.events.MouseEvent;
import fl.data.DataProvider;
import fl.controls.DataGrid;
import fl.controls.Button;
import fl.controls.dataGridClasses.DataGridColumn;
//Carga automatica de datos en el DataGrid--------------------------------
bldRosterGrid(aDg);
var aRoster:Array = new Array();
aRoster = [
{Name:"Wilma Carter", Bats:"R", Throws:"R", Year:"So", Home: "Redlands, CA"},
{Name:"Sue Pennypacker", Bats:"L", Throws:"R", Year:"Fr", Home: "Athens, GA"},
{Name:"Jill Smithfield", Bats:"R", Throws:"L", Year:"Sr", Home: "Spokane, WA"},
{Name:"Shirley Goth", Bats:"R", Throws:"R", Year:"Sr", Home: "Carson, NV"},
{Name:"Jennifer Dunbar", Bats:"R", Throws:"R", Year:"Fr", Home: "Seaside, CA"},
{Name:"Patty Crawford", Bats:"L", Throws:"L", Year:"Jr", Home: "Whittier, CA"},
{Name:"Angelina Davis", Bats:"R", Throws:"R", Year:"So", Home: "Odessa, TX"},
{Name:"Maria Santiago", Bats:"L", Throws:"L", Year:"Sr", Home: "Tacoma, WA"},
{Name:"Debbie Ferguson", Bats:"R", Throws:"R", Year: "Jr", Home: "Bend, OR"},
{Name:"Karen Bronson", Bats:"R", Throws:"R", Year: "Sr", Home: "Billings, MO"},
{Name:"Sylvia Munson", Bats:"R", Throws:"R", Year: "Jr", Home: "Pasadena, CA"},
{Name:"Carla Gomez", Bats:"R", Throws:"L", Year: "Sr", Home: "Corona, CA"},
{Name:"Betty Kay", Bats:"R", Throws:"R", Year: "Fr", Home: "Palo Alto, CA"},
];
aDg.dataProvider = new DataProvider(aRoster);
aDg.rowCount = aDg.length;
function bldRosterGrid(dg:DataGrid){
dg.setSize(400, 300);
dg.columns = ["Name", "Bats", "Throws", "Year", "Home"];
dg.columns[0].width = 120;
dg.columns[1].width = 50;
dg.columns[2].width = 50;
dg.columns[3].width = 40;
dg.columns[4].width = 120;
dg.move(50,50);
};
//------- EXPORTAR LOS DATOS A CSV ----------------------------------------------------------//
function exportCSV(dg:DataGrid):String {
//var csvSeparator:String="\t";
var csvSeparator:String=";";
var lineSeparator:String="\n";
var data:String = "";
var columns:Array = dg.columns; // columnas del dataGrid
var columnCount:int = columns.length;
var column:DataGridColumn;
var header:String = "";
var headerGenerated:Boolean = false;
var dataProvider:DataProvider = dg.dataProvider;
var rowCount:int = dataProvider.length; // cantidad de filas
var dp:Object = null;
var j:int = 0;
//loop through rows
while (j
obj = j;
//loop through all columns for the row
for (var k:int = 0; k < columnCount; k++) {
column = columns[k];
//Exclude column data which is invisible (hidden)
if (!column.visible) { continue; };
data += "\""+ column.itemToLabel(dg.getItemAt(j))+ "\"";
trace(column.itemToLabel(dg.getItemAt(j))+"—-"+ data);
var menos = columnCount-1 ;
if (k < menos) { data += csvSeparator; };
//generate header of CSV, only if it’s not genereted yet
if (!headerGenerated) {
header += "\"" + column.headerText + "\"";
if (k < menos) { header += csvSeparator; };
};
};
headerGenerated = true;
var filamenos = rowCount-1;
if (j < filamenos) { data += lineSeparator; };
j++;
//cursor.moveNext();
}
//set references to null:
dataProvider = null;
columns = null;
column = null;
return (header + "\r\n" + data);
};
//exportCSV(aDg); test con el trace de salida
/*
//Test con boton y trace de salida.
saveBtn3.addEventListener(MouseEvent.CLICK, fcEXPORTAR);
function fcEXPORTAR(MouseEvent){ exportCSV(aDg); }
*/
//--------------GUARDA LISTADO ---------------
import flash.net.FileReference;
saveBtn3.addEventListener(MouseEvent.CLICK, writeCSV);
function writeCSV(event:MouseEvent) {
var csv:String = exportCSV(aDg);
var file:FileReference = new FileReference();
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes(csv);
file.save(bytes,'datos.csv');
}
DESCARGA DEL ARCHIVO FLA CS5.5
REFERENCIA Y AGRADECIMIENTO A:
http://stackoverflow.com/questions/7316416/writing-to-csv-file-in-as3http://www.abdulqabiz.com/blog/archives/2007/08/03/datagriddataexporter-export-datagrid-data-as-csv/
http://jasmeetsingh.wordpress.com/tag/datagrid-to-csv/
http://onyxmueller.net/2011/08/15/advanceddatagrid-csv-export-utility-class/
Etiquetas:
actionscript,
ActionScript3,
adobe,
as3,
class,
code,
csv,
datagrid,
export,
fla,
programación
Suscribirse a:
Entradas (Atom)
