Buddypress – Automatizar creacion de grupos

Author: Adrià Cidre  |  Category: MiniCodes, PHP

Con esta función podemos crear desde PHP nuestros grupos en PHP.

function create_a_group() {

  $new_group = new custom_group;

      $new_group->creator_id = 1;
      $new_group->name = ‘test’;
      $new_group->slug = ‘test’;
      $new_group->description = ‘nothing’;
      $new_group->news = ‘whatever’;
      $new_group->status = ‘public’;
      $new_group->is_invitation_only = 1;
      $new_group->enable_wire = 1;
      $new_group->enable_forum = 1;
      $new_group->enable_photos = 1;
      $new_group->photos_admin_only = 1;
      $new_group->date_created = current_time(‘mysql’);
      $new_group->total_member_count = 1;
      $new_group->avatar_thumb = ’some kind of path’;
      $new_group->avatar_full = ’some kind of path’;

  $new_group -> save();

  groups_update_groupmeta( $id, ‘total_member_count’, 1 );
  groups_update_groupmeta( $id, ‘last_activity’, time() );
  groups_update_groupmeta( $id, ‘theme’, ‘buddypress’ );
  groups_update_groupmeta( $id, ’stylesheet’, ‘buddypress’ );

}

Javascript – Validar telefono

Author: Adrià Cidre  |  Category: Java Script, MiniCodes

Función JavaScript para validar el número de telefono.

function isValidPhoneNumber(ph) {
	if (ph == null) {
		return false;
	}
	var stripped = ph.replace(/[\s()+-]|ext\.?/gi, "");
	return ((/\d{10,}/i).test(stripped));
}

Javascript – Validar Email

Author: Adrià Cidre  |  Category: Java Script, MiniCodes

Función JavaScript para validar email.

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

PHP: Contraseña aleatoria

Author: Adrià Cidre  |  Category: MiniCodes, PHP

Cuando damos de alta usuarios de forma automática a menudo necesitamos poner una contraseña por defecto. Este script PHP nos devuelve una contraseña aleatoria de la longitud en caracteres que le pasemos


function getRandomPWD($length = 10){
  $password = "";
  $possible = "0123456789bcdfghjkmnpqrstvwxyz";
  $i = 0; 

  while ($i < $length) {
    $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);

    if (!strstr($password, $char)) {
      $password .= $char;
      $i++;
    }
  }
  return $password;
}

Código original

PHP – Diferencia entre dos fechas

Author: Adrià Cidre  |  Category: MiniCodes, PHP

Bueno pues igual que en javascript, aquí tenéis la función PHP para calcular los días/noches de diferencia entre dos fechas.


function dateDifference($d1, $d2){
	$v1 = explode("-", $d1);
  $date1 = mktime(0, 0, 0, intval($v1[1]), intval($v1[0]), intval($v1[2]));

	$v2 = explode("-", $d2);
  $date2 = mktime(0, 0, 0, intval($v2[1]), intval($v2[0]), intval($v2[2]));

  $dateDiff = $date2 - $date1;

  return floor($dateDiff/(60*60*24));
}

Javascript – Diferencia entre dos fechas

Author: Adrià Cidre  |  Category: Java Script, MiniCodes

Ahora mismo estoy desarrollando una aplicación para un hotel en la que el usuario tiene que seleccionar dos fechas, y hay que calcular la diferencia entre las dos para obtener el número de noches que se va a alojar.

Solo tenéis que utilizar esta función javascript, que os devolverá un entero con el numero de noches.

function getNumeroDeNits(){
	var d1 = $('#datepicker1').val().split("-");
	var dat1 = new Date(d1[2], parseFloat(d1[1])-1, parseFloat(d1[0]));
	var d2 = $('#datepicker2').val().split("-");
	var dat2 = new Date(d2[2], parseFloat(d2[1])-1, parseFloat(d2[0]));

	var fin = dat2.getTime() - dat1.getTime();
	var dias = Math.floor(fin / (1000 * 60 * 60 * 24))  

	return dias;
}

Esta claro que en html deberíais tener dos campos llamados datepicker1 y datepicker2, con el formato de fecha dd-mm-aaaa.

JQUERY – Scroll top

Author: Adrià Cidre  |  Category: Java Script, MiniCodes

Bueno después de un tiempo sin publicar a ver si nos ponemos las pilas de nuevo :-) .

Cuando desarrollas webs de una sola pagina en las que muestras un contenido u otro en javascript, a menudo queda un poco tosca la transición entre un contenido y otro, lo mejor es hacer un scroll hasta arriba de la pagina y no hay manera más estética de hacerlo que mediante este trozo de código en jquery.

$('html, body').animate({scrollTop:0}, 'slow')

Espero que os guste y os sirva.

JQuery – Reset de un formulario

Author: Adrià Cidre  |  Category: Java Script, MiniCodes

A continuación se muestra como extender el núcleo de JQuery para poder hacer uso de la función reset() de un formulario en JQuery

	$.fn.extend({
		reset: function() {
	   	return this.each(function() {
				$(this).is('form') && this.reset();
	   	});
		}
	});

PHP – BBentities

Author: Adrià Cidre  |  Category: MiniCodes, PHP, Programación

Con esta función podemos convertir todas las entidades BB de una cadena en sus correspondientes HTML.
Se basa en expresiones regulares para descodificar una cadena codificada con el leguaje BBCode.

function bbentities($string)
{
    $string = strip_tags($string);

    $patterns = array(
        "bold" => "#\[b\](.*?)\[/b\]#is",
        "italics" => "#\[i\](.*?)\[/i\]#is",
        "underline" => "#\[u\](.*?)\[/u\]#is",
        "link_title" => "#\[url=(.*?)](.*?)\[/url\]#i",
        "link_basic" => "#\[url](.*?)\[/url\]#i",
        "color" => "#\[color=(.*?)\](.*?)\[/color\]#is"
    );

    $replacements = array(
        "bold" => "$1",
        "italics" => "$1",
        "underline" => "$1",
        "link_title" => "$2",
        "link_basic" => "$1",
        "color" => "$2"
    );

    return preg_replace($patterns, $replacements, $string);
}

Espero que os sirva :-)

PHP – recorrer parámetros POST

Author: Adrià Cidre  |  Category: MiniCodes

Bucle en PHP que recorre todos los elementos enviados por post, dándonos acceso tanto al nombre de las variables, como al valor de las mismas


while (list($key, $value) = each($_POST)){
	echo "\n$key => $value 
"; }