Fix SEO problem in drupal (give 301 to node/xx request)

this was a problem with www.tecnomagazine.it : http://www.tecnomagazine.it/recensioni/casio-exilim_ex-z60/442 could be accessed from /node/442 Solution is to redirect all /node/[0-9]* url to the aliased one … and is very simple in code: includes/path.inc : function drupal_init_path() { if (!empty($_GET[‘q’])) { // add this conditional if(preg_match(‘/node\/[0-9]*$/’,$_GET[‘q’])) { include “includes/common.inc”; $newq = trim(url($_GET[‘q’]),’/’); if($newq!=$_GET[‘q’]) { drupal_goto(trim($_GET[‘q’],’/’),NULL,NULL,301); } } […]

skype for linux 2.1 beta: 64 bit?

http://www.skype.com/download/skype/linux/ released skype for linux 2.1, I followed link and downloaded 64 bit version for ubuntu .. but look at package control: Package: skype Status: install ok installed Priority: extra Section: non-free/net Installed-Size: 25096 Maintainer: Skype Technologies Architecture: amd64 Version: 2.1.0.47-1 Depends: lib32stdc++6 (>= 4.1.1-21), lib32asound2 (>> 1.0.14), ia32-libs (>= 1.6), libc6-i386 (>= 2.7-1), lib32gcc1 […]

innerHTML problem with internet explorer (supposed)

I lost some time to debug this $(“#link”).click(function(){ $(“#target”).load(‘url/to/load’); }); The problem is on Internet Explorer (all version) that refuse to load data in #target, using $.get and innerHTML(data) do not help. The problem is with no well formed html! Internet Explorer refuse to load in dom a malformed html. Thus $(“#link”).click(function(){ $(“#target”).load(‘url/to/load’); window.open(‘url/to/load’); }); […]

Email from your host you are banned (mail php security matter)

I found this in a server: $header = “From: \n”; #… mail($from,$subjet,$message,$header); $_REQUEST[’email’] came from a form input … Here $_REQUEST[’email’] should be, at least, stripped by all \n no matter on how you trust to js code.. $from = $_REQUEST[’email’]; $from = str_replace(“\n”,””,$from); $header = “From: <$from>\n”;

Option List jQuery plugin

A plugin for display list of item to insert. List item are stored in input hidden comma separed, the call is simple Some bug to fix options are target: target div to update with options input: input to update with values items: items list as key:value optional: default to $(“<input>”).attr(“type”,”text”) … you can setup autocomplete […]

SiteMap php class

2 simple class for sitemap: http://www.smartango.com/sites/default/files/sitemap.txt simple use: {syntaxhighlighter brush:php} $root = $_SERVER[‘DOCUMENT_ROOT’]; $sm = new SiteMap($root,’sitemap-1.xml’); $sm->start(); $http = “http://www.example.com”; $sm->addUrl($http.”/file.html”); $sm->end(); {/syntaxhighlighter} …SiteMapIdx similar