Orkut Shortcuts

By ravish Last update Feb 19, 2008 — Installed 129 times.
// ==UserScript==
// @name           Orkut Shortcuts
// @namespace      http://orkutsharing.blogspot.com
// @description    It adds links of scrapbooks[S], photo albums[A] and compose message[M] under every user's photo in your friends list.  
// @include        http://www.orkut.com/*
// @include        http://orkut.com/*
// ==/UserScript==
//--------- List of the link colors:
var preto         = "black";  
var azul          = "blue";    
var azulmarinho   = "#800080"; //purple
var verdeescuro   = "#f2984c" //orange
var vermelho      = "red";
var roxoescuro    = "#1B703A"; //dark green
var pink          = "#FF00FF"; //violet
var marrom        = "#A34567"; //maroon


//--------Start User Configuration --------

//########## Change the number to (1) = yes / (0) = no 

	var fs_show_link_textos = 0 ;  // show link to scrapbook.
	var fs_link_album = 1 	;  //  show link to photo album.
	var fs_link_mensagem = 1 	;  // show link to compose message.
	var fs_links_minusculas = 0 ;  // change case of link [S][A][M] --> [s][a][m]
	

// colors of the links (see above list)

	var fs_cor_scrap = verdeescuro ; // scrapbook link 
	var fs_cor_album = roxoescuro ;  // photo album link
	var fs_cor_mensagem = azulmarinho ; //compose message link

//--------End User Configuration -----------




//-------- Start Script ---------------------

 
function addFastScrapLinks() {

if(document.getElementById('fs_adicionou')) return;

var pg_recados = location.href.toLowerCase().indexOf("scrapbook.aspx") > -1;
var pg_home =  location.href.toLowerCase().indexOf("home.aspx") > -1;
var pg_comuna =  location.href.toLowerCase().indexOf("community.aspx") > -1 ;
var pg_comunas =  location.href.toLowerCase().indexOf("communities.aspx") > -1 ;
var pg_alltopics =  location.href.toLowerCase().indexOf("topics.aspx") > -1 ;
var pg_forum =  location.href.toLowerCase().indexOf("msgs.aspx") > -1 ;
var pg_perfil =  location.href.toLowerCase().indexOf("profile.aspx") > -1 ;
var pg_amigos =  location.href.toLowerCase().indexOf("friends.aspx") > -1 ;
var pg_list_amigos =  location.href.toLowerCase().indexOf("friendslist.aspx") > -1 ;



var tb_proib = -1, i=document.getElementsByTagName('a');

if( pg_recados) tb_proib = 2;
else if( pg_home || pg_list_amigos) tb_proib = 3;
else if( pg_perfil) tb_proib = 4;

for (var j=i.length -1; j>0; j--) {

 var linkdata = i[j].getAttribute("href");

 if(linkdata != null){

	var linkparts = linkdata.split("?");

    if ( linkdata.toLowerCase().match(/profile\.aspx\?uid/) != null) {
  	var s = i[j].innerHTML.toUpperCase();
	if( s.match(/NP\S\w?\w?\w?\.GIF/) == null && ( (s.indexOf("IMG") == -1 && ( !( pg_amigos || pg_recados || (pg_forum && fs_show_link_textos == 0)) || 
			(pg_forum && fs_show_link_textos != 0) || pg_home || pg_comuna)) || 
			(s.indexOf("IMG") > -1 && ! ( pg_comuna || pg_perfil || pg_home || (pg_forum && fs_show_link_textos != 0) ) ) ) &&
		 	!daFamilia(i[j], new Array( tb_proib, -1))){

	
	  var scrapviewlink = document.createElement("a");
    	  scrapviewlink.href="http://www.orkut.com/ScrapBook.aspx?" + linkparts[1];
    	  scrapviewlink.title="Scrapbook";
	  scrapviewlink.style.textDecoration = "none";
	  scrapviewlink.style.color = fs_cor_scrap;

		  if ( navigator.language.indexOf("pt") > -1)
		        scrapviewlink.appendChild(document.createTextNode( fs_links_minusculas == 0 ? " [R]" :  " [r]" ));
		  else
        		scrapviewlink.appendChild(document.createTextNode( fs_links_minusculas == 0 ? " [S]" :  " [s]" ));

		  if( fs_link_mensagem == 1){
		var msglink = document.createElement("a");
	        msglink.href="http://www.orkut.com/Messages.aspx?a=Compose&" + linkparts[1];
		msglink.title="Send Message";
		msglink.style.textDecoration = "none";
		msglink.style.color = fs_cor_mensagem;
        	msglink.appendChild(document.createTextNode( fs_links_minusculas == 0 ? "[M]" :  "[m]" ));
	        i[j].parentNode.insertBefore( msglink ,i[j].nextSibling);
		  }

		  if( fs_link_album == 1){
        	var albumlink = document.createElement("a");
	        albumlink.href="http://www.orkut.com/AlbumView.aspx?" + linkparts[1];
	        albumlink.title="Album";
		albumlink.style.textDecoration = "none";
		albumlink.style.color = fs_cor_album;
		if( fs_links_minusculas == 0)
			albumlink.appendChild( document.createTextNode( fs_link_mensagem == 1 ? "[A]" : "[A] " ));
		else
			albumlink.appendChild( document.createTextNode( fs_link_mensagem == 1 ? "[a]" : "[a] " ));
		
	        i[j].parentNode.insertBefore( albumlink ,i[j].nextSibling);
		  }

        	i[j].parentNode.insertBefore( scrapviewlink ,i[j].nextSibling);

		  if( pg_forum) i[j].parentNode.insertBefore( document.createElement("br") ,i[j].nextSibling);
	  } 
	} 
      } 
    } 
 	
 var fs_adicionou = document.createElement("div");
 fs_adicionou.id = "fs_adicionou";


}


function daFamilia( filho, pais){
 if( pais.length < 1) return false;
 var efilho = false;
 var temp_filho = filho;

 for(var k=0; k < pais.length; k++){

	while( filho != null){ 
		filho = filho.parentNode; 
		if( filho && pais[k] > -1 && filho == document.getElementsByTagName("table")[pais[k]]){ efilho = true; break;}
	   }

	if( efilho) break;
	else filho = temp_filho;
 }
 filho = temp_filho;

 return efilho;
}
if(!document.getElementById('fs_adicionou')) addFastS



/* -------------- ChangeLog ------------------
 *
 * Aperfei�oamento na filtragem dos links
 * Corre��o de bug no perfil professional, obrigado pelo toque, Paulo !
 * Op��o de min�sculas
 * 1� Anti boicote: O orkut mudou o link para envio de mensagem, que culminou na mudan�a do script :)
 * Corre��o na p�gina FriendsList.aspx (retirado links desnecess�rios no menu da esquerda)
 * Corre��es extendidas � p�gina dos "amigos".
 * Explicado em detalhes a origem desse script.
 * Cor marrom para mensagem, default 3 links por saber que boa parte nunca vai editar isso...
 * Corre��o do excesso (foto/texto) dos links na pg do perfil.
 * Melhoria no Estilo (sem sublinhado, colorido, etc...)
 * Corre��o do problema na exibi��o da p�gina de Perfis de terceiros.
 * Otimiza��es na exibi��o dos links (textos ou figuras dependendo da pg)
 * Foi corrigida a duplicidade dos links nos posts dos f�runs e na p�gina de recados.
 * Adicionados alguns preventivos para a multiplica��o dos links em geral (em teste). Se ocorrer, tecle F5.
 * Suporte bil�ng�e: [R] de Recados para portugu�s e [S] de Scrap para os demais idiomas.
 *
 * http://sitedosergio.sitesbr.net/
 *
 */crapLinks();