viernes, 11 de julio de 2014

Piedra, Papel o Tijeras en JAVA

import java.util.Scanner;

public class ppt {
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
String usu,cpu;
String[] opc={"piedra","papel","tijeras"};

        System.out.println("Elige:");
usu=teclado.next();
  int num = (int) Math.floor(Math.random()*(2-0+1)+0);  cpu = opc[num];
switch (usu) {
case "piedra":
switch (cpu){
case "piedra":
System.out.println("CPU elije PIEDRA. EMPATE");
break;
case "papel":
System.out.println("CPU elije PAPEL. Gana CPU");
break;
case "tijeras":
System.out.println("CPU elije TIJERAS. Ganas TU");
break;
}
       break;
   case "papel":
switch (cpu){
case "piedra":
System.out.println("CPU elije PIEDRA. Ganas TU");
break;
case "papel":
System.out.println("CPU elije PAPEL. EMPATE");
break;
case "tijeras":
System.out.println("CPU elije TIJERAS. Gana CPU");
break;
}
       break;
   case "tijeras":
switch (cpu){
case "piedra":
System.out.println("CPU elije PIEDRA. Gana CPU");
break;
case "papel":
System.out.println("CPU elije PAPEL. Ganas TU");
break;
case "tijeras":
System.out.println("CPU elije TIJERAS. EMPATE");
break;
}
       break;
   default:
       System.out.println("Incorrecto");
       break;
}
}
}

martes, 24 de junio de 2014

Script Perl Copias de Seguridad

#!/usr/bin/perl

# Ejecutar perl bk.pl ip_maquina cod_cliente cod_maquina tipo_copia [auto o manual] usuario_ftp pass_ftp

use DBI;
use Net::SFTP::Foreign;

#Datos de la conexión
$db="db_proyectint";
$host="datos.proyectint.org";
$port="3306";
$user="user_proyectint";
$pass="12Proyectint34*";
$connectionInfo="DBI:mysql:database=$db;$host:$port";

# Realizamos la conexión a la base de datos
$db = DBI->connect($connectionInfo,$user,$pass);

# Cogemos fecha desde MySQL
$qu_date="select sysdate()";
$sql_date = $db->prepare($qu_date);
$sql_date->execute();
$date = $sql_date->fetchrow_array();

# Inserto primeros datos de la copia
$query="insert into copias (cod_cliente,cod_maquina,fecha_ini,tipo_copia) values ('@ARGV[1]','@ARGV[2]','$date','@ARGV[3]')";
$sql = $db->prepare($query);
$sql->execute();

# Llamada al script bash SOLUCIONAR!!
`bash bk.sh @ARGV[0] @ARGV[2] @ARGV[1]`;
$n=0;
open (re,"/root/temp") or die "$!n";
while (<re>){
chomp;
@result[$n]=$_;
$n++;
}
close re;

# Actualizo datos de copia en BDD
if (@result[0] eq "OK"){
$up="update copias set fecha_fin = sysdate(), correcta= 'si', nombre_fichero = '@result[1]' where fecha_ini = '$date'";

# Subir a FTP el paquete
$sftp = Net::SFTP::Foreign->new("datos.proyectint.org",user => "@ARGV[4]", password => "@ARGV[5]") or die("No se pudo conectar al servidor: $!");
$sftp->put('/root/bk/'.@ARGV[1].'/'.@ARGV[2].'/'.@result[1]) or die "$!n";

# Elimino paquete
`rm /root/bk/@ARGV[1]/@ARGV[2]/@result[1]`;
print "Copia de seguridad realizada con exito\n";
}else{
$up="update copias set fecha_fin = sysdate(), correcta= 'no' where fecha_ini = '&date'";
print "Copia de seguridad no realizada\n";
}

$sql2 = $db->prepare($up);
$sql2->execute();
$sql_date->finish();

$sql2->finish();
$db->disconnect;

`rm /root/temp`;

Shell Script Copias de Seguridad

#! /bin/bash

# Ejecutar bash bk.sh ip_maquina cod_maquina cod_cliente

DATE=$(date "+%d%h%Y%H%M")
TO="/root/bk/$3/$2/rsync"
FROM="root@$1:/root/copias/$2/"

if test ! -d /root/bk/$3
then
mkdir /root/bk/$3
fi

if test ! -d /root/bk/$3/$2
then
mkdir /root/bk/$3/$2
fi

if test ! -d /root/bk/$3/$2/rsync
then
mkdir /root/bk/$3/$2/rsync
fi

if rsync --delete -avb $FROM $TO
then
cd /root/bk/$3/$2/rsync/
PAQ="BACKUP-$2-$DATE.tar"
tar cf ../$PAQ *
echo "OK" > /root/temp
echo $PAQ >> /root/temp
else
echo "no" > /root/temp
fi

martes, 17 de junio de 2014

PrestaShop: Cambiar todos los productos de una categoría

UPDATE `ps_product` SET `id_category_default`= [Nueva Categoria] WHERE `id_category_default`= [Antigua Categoria]

UPDATE ps_product_shop s, ps_product p SET s.id_category_default = p.id_category_default WHERE s.id_product = p.id_product

lunes, 2 de junio de 2014

Insertar Imagen en Página Principal de Moodle

Para insertar una imagen cualquiera en la Página Principal de Moodle debemos hacer cambios en el código del tema activo. Nos vamos al archivo PHP que se encarga del layout en nuestro tema (por ejemplo, en el tema afterburner es /theme/afterburner/layout/default.php) y Tras el siguiente código que aparece en el fichero:

<!-- END OF CUSTOMMENU AND NAVBAR -->
    <div id="page-content">
       <div id="region-main-box">
           <div id="region-pre-box">
               <div id="region-main">

Insertamos este código (cambiando el nombre de la web, el nombre y el tamaño de la imagen que queramos insertar):

<?php
$host3 = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host3 == 'midominio.es/') 
{
    echo '<p><img src="http://midominio.es/pix/cursos.jpg" width="705" height="386"></p>';
}
?>




jueves, 29 de mayo de 2014

Ver la posición de los módulos en Joomla!

Para ver la posición de los módulos existentes en una página basta con añadir en la barra de direcciones (luego de la dirección del sitio) ?tp=1. Por ejemplo:


http://www.misitio.org/index.php?tp=1



martes, 20 de mayo de 2014

Integrar Blog WordPress con Tienda Prestashop

Si tenemos una tienda online montada con Prestashop y queremos tener un blog corporativo que posea el mismo estilo que la tienda, tenemos dos opciones, complicarnos la vida intentando hacerlo con el mismo Prestashop o bien instalar un Wordpress en una ruta como esta: tudominio.com/blog/ e integrarlo Prestashop.

La integración no es muy complicada, tan solo tenemos que modificar dos archivos del tema que tenemos activo, header.php y footer.php.

El archivo de cabecera de nuestro blog a editar se encuentra en “wp-content\themes\nombre_tema\header.php“.
En dicho archivo header.php, borramos todo el contenido y lo sustituimos por el siguiente código:

<?php
require_once(dirname(__FILE__).'/../../../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../../../header.php');
?>


Recuerdo que esta ruta es válida si nuestro blog está ubicado en tudominio.com/blog/.
A continuación procedemos a hacer lo mismo con el archivo footer.php remplazando su contenido por este código:

<?php
require_once(dirname(__FILE__).'/../../../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../../../footer.php');
?>

Además si queremos aplicar el estilo de nuestro blog a la página, modificamos el archivo header.tpl de nuestra tienda Prestashop alojado en /themes/nombre_plantilla/header.tpl. Buscamos estas líneas:

    {$HOOK_HEADER}
</head>

Y Añadimos la llamada al css de nuestro blog de la siguiente manera:

{if (is_callable('bloginfo'))}
   <link href="../../../blog/wp-content/themes/twentytwelve/style.css" rel="stylesheet" type="text/css" media="all" />
{/if}
        {$HOOK_HEADER}
    </head>