lunes, 17 de agosto de 2015

Tareas programadas en CogeIgniter [WINDOWS]

Buenas.

Hoy vamos a hablar sobre cómo crear tareas programadas haciendo uso de codeIgniter.
Con este artículo aprenderemos a ejecutar de forma automática un método creado mediante codeIgniter cada X tiempo.

Lo primero que debemos hacer, es crear un controlador. Debemos tener en cuenta que dependiendo de lo que queramos hacer, debemos imponer unas medidas de acceso u otras.

El controlador quedaría similar a esto:
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cronjobs extends CI_Controller {
    
    function __construct() {
        
        parent::__construct();

    }
    
    public function index() {
        
        redirect( site_url() );
    
    }
    
}

Tras ello, creamos la función que se va a ejecutar cada X tiempo.
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Tareas extends CI_Controller {
    
    function __construct() {
        
        parent::__construct();

    }
    
    public function index() {
        
        redirect( site_url() );
    
    }

    public function tu_funcion() {
        
        //escribe tu funcion
    
    }

}
En este caso, yo lo que he hecho, ha sido crear una función (al final del articulo os la he puesto) que asigne de forma automática puntos a todos aquellos usuarios que hayan comprado la mensualidad llamada ‘puntos_automaticos’. Esta mensualidad hace que cada cierto tiempo se le asignen puntos a los usuarios sin necesidad de tener que conseguirlos viendo anuncios. Además, se acumula con otras ofertas.

Por ejemplo si un usuario ha comprado la bonificación de ‘puntos_automaticos’ y además tiene la bonificación de conseguir 16 puntos por anuncio, pues cada vez que se ejecute este método, se le asignaran 16 puntos en lugar de 1.

También comprueba que bonificación es mejor. Ya que en regaloconsolas se pueden obtener bonificaciones por 2 lados, por un lado realizando logros y por otro comprando las bonificaciones. Sin embargo, las bonificaciones compradas y las ganadas por logros no se acumulan. Este método, se encarga de ver que bonificación es mejor, si la de logros o la comprada. Una vez comparadas, ejecuta la mejor.

Una vez terminado nuestro método, debemos ir al programador de tareas > crear nueva tarea > acciones > nueva…
Y debemos configurarlo de la siguiente forma:
En el recuadro rojo, debemos introducir la ruta de nuestro navegador. Mientras que en el recuadro negro, debemos introducir la ruta de nuestro método.

Por ejemplo, la ruta del método que puse al principio seria:
http://127.0.0.1/regaloconsolas/index.php/tareas/tu_funcion

Finalmente, debemos seleccionar los periodos en los que se va a ejecutar este método. Para ello debéis ir a desencadenadores > nuevo… Y elegimos según nuestras necesidades.

Y eso es todo, un saludo.

jueves, 13 de agosto de 2015

'Calculadora' jQuery

Antes de nada vamos a empezar por explicar un poco de que va RegaloConsolas.com, ya que sino no le veréis sentido al programa realizado.

RegaloConsolas es una web en la que el usuario al ver anuncios consigue puntos, dichos puntos son usados en los sorteos. Cuantos más puntos tengas, mayores serán tus posibilidades de ganar el juego que se ofrece en el sorteo.

Otra forma de ganar puntos por ejemplo es mediante la realización de logros o mediante referidos. Sin embargo, los puntos que se consiguen mediante estos métodos se le otorgan al usuario de forma que él los pueda asignar al sorteo que desee.
Pongamos un ejemplo. Paco completa un logro. El logro como premio, otorga 50 puntos. Esos 50 puntos Paco los podrá usar para el sorteo que el desee.

El código que aquí se muestra, le permite a Paco asignar esos puntos de forma cómoda y sencilla.

martes, 11 de agosto de 2015

Crear un referido

Buenas.

Hoy os voy a explicar cómo crear un referido mediante CodeIgniter para la web que estoy haciendo ahora mismo.

La idea de RegaloConsolas.com, es que un usuario consiga puntos cuando ve anuncios. A su vez, este usuario puede tener referidos.
Tener referidos tiene la ventaja de que por cada 25 puntos que consiga tu referido, al usuario original se le dará 1 punto de forma gratuita sin tener que ver anuncios.

El funcionamiento de los referidos es bastante sencillo. Cada usuario posee un link único que puede proporcionar a cualquiera. Si esa persona se registra usando ese link, provocara que sea un referido del usuario original. Ganando así las ventajas que comente anteriormente.

Un usuario puede tener todos los referidos que quiera y en un futuro se implementara un sistema de logros que también tendrá que ver con los referidos.

En este video no explico todo paso a paso. Pero si controláis CodeIgniter imagino que lo podréis seguir perfectamente.

Un saludo.


PD: los primeros 7 minutos del video no se escuchan correctamente.

lunes, 10 de agosto de 2015

Recoger valor de un campo con el atributo disabled="true"

Hace unos días se me presentaba un problema a la hora de recoger un dato de un formulario.

El código del campo es el siguiente:
echo form_input( array(
                        'id'            => 'puntos_totales',
                        'name'          => 'total_de_puntos',
                        'type'          => 'text',
                        'value'         => $fields['points'],
                        'placeholder'   => 'Minimo 100',
                        'disabled'      => true,
                    ) );

Pues nada, me pongo a hacer pruebas y no lograba recoger el valor del campo. Lo intente mediante el típico $_POST[], usando diferentes atajos que te permite code igniter y nada, que no me devolvía el valor.

Total, que me puse a mirar la documentación y resulta que cuando pones el atributo disabled a true, no te permite recoger el valor de dicho campo.

En caso de que os ocurra esto, podéis optar por varias opciones.

Usar el atributo ‘readonly’
echo form_input( array(
                        'id'            => 'puntos_totales',
                        'name'          => 'total_de_puntos',
                        'type'          => 'text',
                        'value'         => $fields['points'],
                        'placeholder'   => 'Minimo 100',
                        //'disabled'      => true,
                        'readOnly'      => "true",
                    ) );
Este atributo hará que el usuario no pueda escribir en el campo al igual que el atributo disabled. Sin embargo, si te permitirá recoger la información del campo. Pero tiene una pega y es que no se aplica el estilo de fondo gris que si se aplica al usar disabled.

Usar jquery

Y claro, a mi es que me gusta el fondo gris y lo quería si o si. Así que aquí tenéis el código Jquery que use para hacer una ‘pequeña trampa‘ y poder usar el atributo disabled y a la vez recoger el dato.

El código es bastante sencillo y lo teneis explicado.

Un saludo.

Presentación

Buenas.

Antes de nada me gustaría hacer una pequeña introducción a lo que voy a ir publicando en este blog.
En principio he creado este blog con el objetivo de tener un “curriculum online”. Algo que demuestre mis conocimientos y que me permita mostrarlos.

La intención es que algún día vaya a entregar mi CV por ahí y me sea de gran utilidad enseñar este blog.
Empezare por una web sencilla, un blog. Ya más adelante, si veo que subo articulos constantemente y que a la gente le gusta, pues me planteare si crear algo más serio. Pero en principio con esto me sobra.

Otra de las razones para crear este blog, es que en mi caso hago muchas cosas y todas distintas. Y al final haces tanto y tan variado que ni recuerdas todo lo que has aprendido, ocasionando muchas veces que ni las menciones. 

Ya he hablado un poco sobre la razón de crear este blog. Así que voy a hablar un poco de mi situación.

Actualmente me encuentro estudiando ingeniería informática en la ULPGC. Este año empiezo el cuarto curso y he dado montón de cosas. Tantos temas y tan diferentes… A veces me gustaría tener un SSD en mi cabeza y poder acceder a todo ese conocimiento, porque no se vosotros, pero a mí lo aprendido si no lo pongo en práctica, a los 3 meses ya se me ha olvidado.

Antes de entrar a la universidad realice un ciclo superior de redes, el cual me gusto tanto que me decidí a estudiar la carrera relacionada con el ciclo, ya que pienso que puedo dar más de mi y el siguiente paso era la universidad.

En mis ratos libres, me dedico a programar. Tengo que darle las gracias en especial a Rubén, que me ha metido en este “mundo” y me ha ayudado a empezar a hacer mis cosillas. 

Ahora mismo me encuentro realizando la parte de programación de servidor de regaloconsolas.com , así que imagino que la mayoría de entradas que vaya publicando tendrán bastante que ver con esa página y su contenido. Esta página se está haciendo con un framework llamado code igniter y gracias a dicho proyecto estoy usando jquery, javascript, php, html etc.

Otra de mis aficiones es montar ordenadores. Hace un par de años me compre mi primer PC por piezas y me encanto montarlo y trastear con él.

Pero bueno, tampoco me voy a enrollar.

Un saludo y espero que disfrutéis de mis futuros post.