Ir para o conteúdo

Marco Paris

Cadastrado: 01 Out 2010
Offline Última atividade: Out 02 2010 01:11
-----

Códigos que criei

Lendo scraps recebidos no Orkut por Ruby

02 outubro 2010 - 01:09

Uma vez conectado ao Orkut, já postei este código aqui, abaixo você pode ver um código criado pelo Thiago Bueno que lê os scraps recebidos.

require 'mechanize'
require 'hpricot'

class Orkut

  def initialize(email, pass)
    @agent = WWW::Mechanize.new
    @email = email
    @pass = pass
  end

  def print_scraps
    page = scrap_page
    scraps = page.search "div[@class='mblock']/div"
    scraps.each do |l|
      parts = Hpricot(l).inner_html.split("\n")
      puts "Name: #{parts[1]}"
      puts "Date: #{parts[3]}"
      puts "Message: "
      parts[4..parts.size-2].each {|line| puts line}
      puts "-" * 50
   end
  end

  private

  def scrap_page
    log_in
    #Call home page to get the temporary URL that google generates
    page = @agent.get "http://m.orkut.com/Home"
    #Try to access the temporary URL to pass the authentication token
    page = @agent.get page.meta[0].uri.to_s
    #Now, with authentication ready we can access the content
    page = @agent.get "http://m.orkut.com/Scrapbook"
  end

  def log_in
    page = @agent.get "https://www.google.com/accounts/ServiceLogin?service=orkut&hl=en-US&rm=false&continue=http%3A%2F%2Fm.orkut.com%2FRedirLogin%3Fmsg%3D0%26page%3Dhttp%253A%252F%252Fm.orkut.com%252FHome&cd=US&nui=5&btmpl=mobile&ltmpl=mobile&passive=true&skipvpage=true&sendvemail=false"

    form = page.forms.first
    form.Email = @email
    form.Passwd = @pass
    page = @agent.submit form
  end
end

o = Orkut.new('your_email@gmail.com', 'your_pass')
o.print_scraps

Conectar ao Orkut com um pequeno script Ruby

02 outubro 2010 - 01:04

O Wagner Andrade publicou no iMasters um excelente código para conectarmos facilmente ao Orkut. O código está abaixo. Quem quiser ver o artigo na íntegra onde o Wagner apresenta e excplica o código, clique aqui.

require 'net/http'
require 'net/https'
 
@user = 'user@email.com'
@pass = 'password'
 
@google = Net::HTTP.new 'www.google.com', 443
@google.use_ssl = true
@google.verify_mode = OpenSSL::SSL::VERIFY_NONE
auth = @google.get("/accounts/ClientLogin?Email=#{@user}&Passwd=#{@pass}&service=orkut").body.split("\n")[2].gsub('Auth', 'auth')
 
@orkut = Net::HTTP.new 'www.orkut.com'
cookie_parts = @orkut.get("/RedirLogin.aspx?msg=0&#{auth}")['set-cookie'].split(';')
@cookie = "#{cookie_parts[0]};#{cookie_parts[3]};"
 
resp = @orkut.get('/Home.aspx', 'Cookie' => @cookie).body
 
File.open('resp.html', 'w') { |file| file << resp }

Adicionando um texto qualquer que some ao clicar no campo

02 outubro 2010 - 00:48

Usando o código abaixo podemos adicionar um texto simples como "buscar..." dentro de um campo de busca que, ao clicar, o texto desaparecerá.

No exemplo abaixo o código funciona no campo de busca do tema. Mas você pode usar em qualquer outra campo substituindo o "#edit-search-theme-form-1" pelo id do campo desejado.

Crie um arquivo javascript, insira no arquivo seu_tema.info e digite no arquivo:

$(function(){

$('#edit-search-theme-form-1').attr('value','pesquisar...');
  $('#edit-search-theme-form-1').click(function(){
    $(this).attr('value','');
  });


});

ID único nos menus em blocos

02 outubro 2010 - 00:41

Todos os créditos são Marcus da Drupal Brasil. Foi muito útil pra mim e trago pra cá.

Normalmente, quando se cria um menu no Drupal ele também tem a possibilidade de ser exibido como um bloco. Porém, os itens deste menu não possuem ID's únicos, o que limita algumas possibilidades de formatação ou de manipulação através de javascript.

O código abaixo deve ser colocado no template.php do seu tema, e resolve este problema. Recomenda-se que você limpe o cache após implementá-lo.

Observe que dependendo do starter theme que você utilizar, talvez esta função nem seja necessária...

Não é necessário incluir as tags PHP no código abaixo.


<?php
/**
* coloca classes e ids em itens do menu em um bloco
*/

function phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
$class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf'));

if (!empty($extra_class)) {
$class .= ' '. $extra_class;
}
if ($in_active_trail) {
$class .= ' active-trail';
}
static $contador = 0;
$contador +=1;

$id .= 'item-' . $contador;

return '<li id="'.$id.'" class="'. $class .'">'. $link . $menu ."</li>\n";
}
?>

Exibir formulário de contato

02 outubro 2010 - 00:33

Código simples que exibe o formulário de contato em qualquer página, com Drupal 6.

<?php
require_once drupal_get_path('module', 'contact') .'/contact.pages.inc';
print drupal_get_form('contact_mail_page');
?>

O Drupal Brasil recomenda que você ative o módulo PHP Filter e coloque o código abaixo em um bloco, assim você pode colocar o formulário de contato em qualquer lugar da página.