Revisión actual |
Tu texto |
Línea 1: |
Línea 1: |
| == Descripción == | | == Descripción == |
− | La clase online lo que hace es crear un registro del tiempo de conexión para usuario logeado, para esto vamos asumir que ya tenemos nuestra tabla usuarios más una tabla de perfiles "roles", Tambien la forma de obtener los id de usuarios conectados, habra que crear una variable de session con la class Session y poder almacenar los valores en la tabla logs. | + | La clase online lo que hace es crear un registro del tiempo de conección para usuario logeado, para esto vamos asumir que ya tenemos nuestra tabla usuarios más una tabla de perfiles "roles", Tambien la forma de obtener los id de usuarios conectados, habra que crear una variable de session con la class Session y poder almacenar los valores en la tabla logs. |
| | | |
| === Tablas === | | === Tablas === |
Línea 27: |
Línea 27: |
| static function setUser(){ | | static function setUser(){ |
| Load::model('logs'); | | Load::model('logs'); |
− | $last_id = Session::get('logs_id'); | + | $last_id = Load::model('sesiones')->getData('logs_id'); |
| $rec = new Logs(); | | $rec = new Logs(); |
| $rec->find($last_id); | | $rec->find($last_id); |
Línea 34: |
Línea 34: |
| $rec->ip = $_SERVER['REMOTE_ADDR']; | | $rec->ip = $_SERVER['REMOTE_ADDR']; |
| $rec->save(); | | $rec->save(); |
− | if($rec->id!=0) | + | if(ActiveRecord::static_select_one("LAST_INSERT_ID()")!=0) |
− | Session::set('logs_id', $rec->id); | + | Session::set('logs_id', ActiveRecord::static_select_one("LAST_INSERT_ID()")); |
| } | | } |
| } | | } |
| </source> | | </source> |
| | | |
− | === Forma de uso === | + | === Como utilizarla === |
| | | |
| Con esto ya estamos listo para que nuestra app comienze almacenar datos en la base. Entonces el primer paso es crear las dos varianles de sesion "usuarios_id" y "perfiles_id", para esto la mejor forma es cuando el usuario se autentifique en el sistema "LOGIN" la creamos, | | Con esto ya estamos listo para que nuestra app comienze almacenar datos en la base. Entonces el primer paso es crear las dos varianles de sesion "usuarios_id" y "perfiles_id", para esto la mejor forma es cuando el usuario se autentifique en el sistema "LOGIN" la creamos, |
Línea 61: |
Línea 61: |
| } | | } |
| </source> | | </source> |
− |
| |
− | === Mostrar los datos ===
| |
− |
| |
− | En esta parte cada programador puede mostrar los datos como quiera. solo deben hacer una consulta y recorrer el modelo con un foreach para poder crear una tabla. Yo lo haré con el [[JQuery_UI_en_Kumbiaphp_Spirit_beta2_calendar]]
| |
− |
| |
− | '''controlador
| |
− | utils_controller.php
| |
− |
| |
− | *Kumbiaphp 1.0 Beta1
| |
− |
| |
− | <source lang=php>
| |
− | public function logs(){
| |
− | Flash::notice('Logs del sistema. Fecha hora: ' . date("d-m-Y H:m:s"));
| |
− | $this->fecha = date('d-m-Y');
| |
− | $this->items = array();
| |
− | if($this->has_post('fecha')){
| |
− | $this->fecha = $this->post('fecha');
| |
− | $this->items = Load::model('logs')->getLogs($this->fecha);
| |
− | }
| |
− | }
| |
− | </source>
| |
− |
| |
− | *Kumbiaphp 1.0 Beta2
| |
− |
| |
− | <source lang=php>
| |
− | public function logs(){
| |
− | Flash::info('Logs del sistema. Fecha hora: ' . date("d-m-Y H:m:s"));
| |
− | $this->fecha = date('d-m-Y');
| |
− | $this->items = array();
| |
− | if(Input::hasPost('fecha')){
| |
− | $this->fecha = Input::post('fecha');
| |
− | $this->items = Load::model('logs')->getLogs($this->fecha);
| |
− | }
| |
− | }
| |
− | </source>
| |
− |
| |
− |
| |
− | '''Vista
| |
− |
| |
− | *Kumbiaphp 1.0 Beta1
| |
− |
| |
− | <source lang=php>
| |
− | <?php View::content(); ?>
| |
− | <?php echo form_tag($controller_name . '/' . $action_name); ?>
| |
− | <div align="center">
| |
− | <?php echo date_field_tag('fecha','size: 10'); ?>
| |
− | <?php echo submit_tag('Ir')?>
| |
− | </div>
| |
− | <?php echo end_form_tag() ?>
| |
− | <table class='table_grilla'>
| |
− | <tr>
| |
− | <th>NONBRES</th>
| |
− | <th>APELLIDOS</th>
| |
− | <th>PERFIL</th>
| |
− | <th>IP</th>
| |
− | <th>FECHA INI</th>
| |
− | <th>HORA INI</th>
| |
− | <th>FECHA FIN</th>
| |
− | <th>HORA FIN</th>
| |
− | <th>DURACION</th>
| |
− | </tr>
| |
− | <?php foreach($items as $item): ?>
| |
− | <tr>
| |
− | <td><?php echo $item->nombres ?></td>
| |
− | <td><?php echo $item->apellidos ?></td>
| |
− | <td><?php echo $item->perfil ?></td>
| |
− | <td><?php echo $item->ip ?></td>
| |
− | <td><?php echo $item->fecha_ini ?></td>
| |
− | <td><?php echo $item->hora_ini ?></td>
| |
− | <td><?php echo $item->fecha_fin ?></td>
| |
− | <td><?php echo $item->hora_fin ?></td>
| |
− | <td><?php echo $item->duracion ?></td>
| |
− | </tr>
| |
− | <?php endforeach; ?>
| |
− | </table>
| |
− | </source>
| |
− |
| |
− |
| |
− | *Kumbiaphp 1.0 Beta2
| |
− |
| |
− | <source lang=php>
| |
− | <?php View::content(); ?>
| |
− | <?php echo Form::open() ?>
| |
− | <div align="center">
| |
− | <?php echo Calendar::text('fecha','size=10'); ?>
| |
− | <?php echo Form::submit('Ir', array('class' => 'boton'))?>
| |
− | </div>
| |
− | <?php echo Form::close() ?>
| |
− | <table class='table_grilla'>
| |
− | <tr>
| |
− | <th>NONBRES</th>
| |
− | <th>APELLIDOS</th>
| |
− | <th>PERFIL</th>
| |
− | <th>IP</th>
| |
− | <th>FECHA INI</th>
| |
− | <th>HORA INI</th>
| |
− | <th>FECHA FIN</th>
| |
− | <th>HORA FIN</th>
| |
− | <th>DURACION</th>
| |
− | </tr>
| |
− | <?php foreach($items as $item): ?>
| |
− | <tr>
| |
− | <td><?php echo $item->nombres ?></td>
| |
− | <td><?php echo $item->apellidos ?></td>
| |
− | <td><?php echo $item->perfil ?></td>
| |
− | <td><?php echo $item->ip ?></td>
| |
− | <td><?php echo $item->fecha_ini ?></td>
| |
− | <td><?php echo $item->hora_ini ?></td>
| |
− | <td><?php echo $item->fecha_fin ?></td>
| |
− | <td><?php echo $item->hora_fin ?></td>
| |
− | <td><?php echo $item->duracion ?></td>
| |
− | </tr>
| |
− | <?php endforeach; ?>
| |
− | </table>
| |
− | </source>
| |
− |
| |
− | '''Modelo
| |
− |
| |
− | <source lang=php>
| |
− | class Logs extends ActiveRecord{
| |
− | public function getLogs($fecha){
| |
− | Load::lib('date');
| |
− | $fecha = fentrada($fecha);
| |
− | $sql = "SELECT usuarios.id AS id,
| |
− | usuarios.nombres AS nombres,
| |
− | usuarios.apellidos AS apellidos,
| |
− | perfiles.nombre AS perfil,
| |
− | logs.ip AS ip,
| |
− | DATE_FORMAT(logs.fecha_at, '%d-%m-%Y') AS fecha_ini,
| |
− | DATE_FORMAT(logs.fecha_at, '%H:%i:%s') as hora_ini,
| |
− | DATE_FORMAT(logs.fecha_in, '%d-%m-%Y') AS fecha_fin,
| |
− | DATE_FORMAT(logs.fecha_in, '%H:%i:%s') as hora_fin,
| |
− | SUBTIME(DATE_FORMAT(logs.fecha_in, '%H:%i:%s'),
| |
− | DATE_FORMAT(logs.fecha_at, '%H:%i:%s')) as duracion from logs
| |
− | inner join usuarios on usuarios.id = logs.usuarios_id
| |
− | inner join perfiles on perfiles.id = usuarios.perfiles_id
| |
− | where
| |
− | logs.fecha_in > '$fecha 00:00' and logs.fecha_in < '$fecha 23:59'
| |
− | ";
| |
− | return $this->find_all_by_sql($sql);
| |
− | }
| |
− | }
| |
− | </source>
| |
− |
| |
− | [[Categoría:Tutoriales KumbiaPHP]]
| |