LesOlivex

Servicios informáticos



Campos de usuarios en drupal

Category : Drupal, php, Programación mar 3rd, 2015

Drupal

Desde nuestro módulo podemos añadir o modificar los campos de un usuario.


//set up the user fields
$fields = array(
'name' => $data['UID'],
'mail' => ( $GLOBALS['anonymous'] ) ? 'test-'.$data['UID'].'@test.com' : $data['Email'],
'pass' => $password,
'status' => ( $data['Locked'] == 0 ) ? 1 : 0 ,
// 'init' => ( $GLOBALS['anonymous'] ) ? 'test-'.$data['UID'].'@test.com' : $data['Email'],
'language' => ( isset($langs[$data['Lang']]) ) ? $langs[$data['Lang']] : $langs['default'] ,
'roles' => array(
DRUPAL_AUTHENTICATED_RID => 'authenticated user',
),

// User custom fields
'ces_firstname' => array(LANGUAGE_NONE => array(array('value' => $data['Firstname']))),
'ces_surname' => array(LANGUAGE_NONE => array(array('value' => $data['Surname']))),
'ces_address' => array(LANGUAGE_NONE => array(array('value' => $data['Address1']."\n".$data['Address2']))),
'ces_town' => array(LANGUAGE_NONE => array(array('value' => $data['Address3']))),
'ces_postcode' => array(LANGUAGE_NONE => array(array('value' => $data['Postcode']))),
'ces_phonemobile' => array(LANGUAGE_NONE => array(array('value' => $data['PhoneM']))),
'ces_phonework' => array(LANGUAGE_NONE => array(array('value' => $data['PhoneW']))),
'ces_phonehome' => array(LANGUAGE_NONE => array(array('value' => $data['PhoneH']))),
'ces_website' => array(LANGUAGE_NONE => array(array('value' => $data['WebSite']))),

);

$user_drupal = user_save('', $fields);

Adaptar copia base de datos mysql para trabajar en local con prestashop

Category : Base de datos, MySql, php, Prestashop, Programación ene 11th, 2015

Actualizar base de datos del servidor a local

Bajar la última copia de seguridad de la base de datos:

mysql -u[usuario] -p [password] [basededatos] < copiabajadadelservidor.sql

Modificar PS_SHOP_DOMAIN despues de bajar base de datos del servidor:

UPDATE ps_configuration SET value = 'localhost' WHERE value = '[tudominio]';

Modificar ps_shop_url:

UPDATE ps_shop_url SET domain = 'localhost', domain_ssl = 'localhost' WHERE domain = '[tudominio]';

Modificamos .htaccess para que redirigirá correctamente:

sed -i 's/[tudominio]/localhost/g' .htaccess

 

Saber si una cadena contiene a otra en php

Category : php, Programación ene 3rd, 2015

Para saber si tenemos una porción de una cadena.

// $cadena = 'pagina.html';
if ( stripos($cadena,'.html') !== FALSE ) {    // Si cadena contiene '.html'
   $titulo=str_replace('.html','',$cadena);      // Eliminamos '.html' de la cadena
   }

Sin diferenciar entre mayúsculas y minúsculas, si se quiere que se tenga en cuenta las mayúsculas y minúsculas hay que utilizar strpos.

Evitar problemas en formularios con las comillas en php y javascript

Category : javascript, php, Programación ene 3rd, 2015

En el caso de un valor que nos viene de la base de datos, desde PHP:

<input type="hidden" name="pLitLink[$i]" id="pLitLink" value="<?php echo htmlentities($vLitLink, ENT_QUOTES, 'UTF-8'); ?>">;

Escapamos las comillas dobles.

Al introducir contenido desde javascript

theFirstTD1.innerHTML = '  <input type=\"hidden\" name=\"pLitLink['+ numLinks +']\" id=\"pLitLink\" value=\"'+ theForm.fLit.value.replace(/"/g, '&quot;') +'\">';

Utilizamos comillas simples para value.

Antes de insertarlos en la base de datos:

if (!get_magic_quotes_gpc()) {
   for ($i=0;$i&lt;count($pURLLink);$i++){
      $pURLLink[$i]=addslashes(trim($pURLLink[$i]));
   }
}

Escapamos variables en caso de que no haga directamente PHP.

Al crear la sql:

$insertItem = "INSERT INTO linksarticles (nIdArticle,vchLitLink,vchURLLink) VALUES ($nIdArticle,'$aLitLinks[$i]','$aURLLinks[$i]') ";

Contabilizar las imágenes de un directorio incluyendo los subdirectorios

Category : php, Programación ene 1st, 2015

Esta función nos devolvera el total de imágenes encontradas de un directorio incluyendo subdirectorios.

/**
 * Contabilizar las imágenes que hay dentro de un directorio
 *
 * Para ello hay que recorrerlos todos recursivamente para obtener
 * el numero
 *
 * @param $directorio    Directorio 
 * @param $numero_actual Número que ya tenemos de imágenes encontradas
 */

function contabilizar_imagenes_directorio($directorio, $numero_actual=0) {

   $extensiones = array("jpg", "jpeg", "JPG", "JPEG", "GIF", "gif", "png", "PNG", "tiff", "TIFF");

   // Añadimos barra en caso de no haberla
   $path = rtrim($directorio,'/').'/';

   $imagenes = glob($path."{*.GIF,*.JPG,*.PNG,*.gif,*.jpg,*.png}", GLOB_BRACE);

   $numero = $numero_actual + sizeof($imagenes);

   $dir = glob($path.'*');

   $tenemos_subdirectorio = FALSE ;
   foreach ( $dir as $item ) {

      if ( is_dir($item) ) {
         contabilizar_imagenes_directorio($item, $numero);
         $tenemos_subdirectorio = TRUE ;
         }
      }

   return $numero;
   }