How to create handy URL for Drupal videos
This piece of code snipped is to provide bunch of info to create video node url's like you-tube videos. In you-tube they have http://www.youtube.com/watch?v=0Od1LfPMZis kind of handy URL, lets take a look at how to create that kind of handy URL. There are several advantages using this kind of url and disadvantages too. Cause this URL is not SEO friendly url.
Required Module : Video, Pathauto, Custom Token.
Step 1 : Install above modules on your Drupal site
Step 2 : Go to sitebuiding->Tokens->Create
and add below details.
Add token ID : token_custom_video
Add description : Custom handy URL for videos
Select the type as node Paste the below code to the text area and save it.
<?php
$in = $node->changed;
$to_num = false;
$pad_up = false;
$passKey = null;
$index = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if ($passKey !== null) {
// Although this function's purpose is to just make the
// ID short - and not so much secure,
// with this patch by Simon Franz (<a href="http://blog.snaky.org/" title="http://blog.snaky.org/">http://blog.snaky.org/</a>)
// you can optionally supply a password to make it harder
// to calculate the corresponding numeric ID
for ($n = 0; $n<strlen($index); $n++) {
$i[] = substr( $index,$n ,1);
}
$passhash = hash('sha256',$passKey);
$passhash = (strlen($passhash) < strlen($index))
? hash('sha512',$passKey)
: $passhash;
for ($n=0; $n < strlen($index); $n++) {
$p[] = substr($passhash, $n ,1);
}
array_multisort($p, SORT_DESC, $i);
$index = implode($i);
}
$base = strlen($index);
if ($to_num) {
// Digital number <<-- alphabet letter code
$in = strrev($in);
$out = 0;
$len = strlen($in) - 1;
for ($t = 0; $t <= $len; $t++) {
$bcpow = bcpow($base, $len - $t);
$out = $out + strpos($index, substr($in, $t, 1)) * $bcpow;
}
if (is_numeric($pad_up)) {
$pad_up--;
if ($pad_up > 0) {
$out -= pow($base, $pad_up);
}
}
$out = sprintf('%F', $out);
$out = substr($out, 0, strpos($out, '.'));
} else {
// Digital number -->> alphabet letter code
if (is_numeric($pad_up)) {
$pad_up--;
if ($pad_up > 0) {
$in += pow($base, $pad_up);
}
}
$out = "";
for ($t = floor(log($in, $base)); $t >= 0; $t--) {
$bcp = bcpow($base, $t);
$a = floor($in / $bcp) % $base;
$out = $out . substr($index, $a, 1);
$in = $in - ($a * $bcp);
}
$out = strrev($out); // reverse
}
return $out;
?>
Now you have creatd a custom token to create automatic URL for nodes.
Step 3 : Now go to site building->urlalies->automatic
path settings. Select the video node and add video/[token_custom_video]
. enjoy with your new custom URL for your videos.
🍪 This site does not track you.