Skocz do zawartości

hScuttle - Dodawanie do scuttle [klasa] ;)


nTranslator.net

Rekomendowane odpowiedzi

Witajcie, może Wam się przyda. Możliwe iż, później stanie się ona skryptem.

Changelog:

# 22/09/2009 Wersja 0.1

<?php
/**
*
* @author		Host247.pl <kontakt@host247.pl>
* @copyright		Copyright (c) 2008, @-Satnet.
* @license:  https://creativecommons.org/licenses/by/2.5/pl/
*
*/


class hScuttle {

/**
* Wysyłanie danych curlem
*/


function WyslijDane($url, $dane='', $cookie='') {

	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13");
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_HEADER, 1);
	curl_setopt($ch, CURLOPT_COOKIE, $cookie);

		if(is_array($dane)) {

			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $dane);

		}

	$strona = curl_exec($ch);
	curl_close($ch);

	return $strona;

}

/**
* Zakładanie nowego konta
*
* @param string $login
* @param string $haslo
* @param string $email
* @param string $url
*/


function ZalozKonto($login, $haslo, $email, $url) {

	$url .= $this->Adresy('rejestracja');

	$data = array ('username' => $login, 'password' => $haslo, 'email' => $email, 'entrypass' => $this->SprawdzZabezpieczenie($url), 'submitted' =>  'true');

	$strona = $this -> WyslijDane($url, $data);
}

/**
* Zalogouj się na konto [pobierz cookie]
*
* @param string $login
* @param string $haslo
*/

function ZalogujSie($login, $haslo, $url) {

	$url .= $this->Adresy('logowanie');

	$data = array ('username' => $login, 'password' => $haslo, 'submitted' => 'true');

	$strona = $this -> WyslijDane($url, $data);

	preg_match('/Set-Cookie: (.+?);/', $strona, $cookie);

	return $cookie[1];


}

/**
* Funkcja odpowiedzialna za wyciągnięcie zabezpieczenia "antybotowego" i ominięcie go
*
* @param string $url
*/

function SprawdzZabezpieczenie($url) {

	$strona = $this->WyslijDane($url);

	preg_match('/<label for="entrypass">([0-9]+)(.+?)([0-9])= \?<\/label>/', $strona, $pass);

		if(empty($pass[1])) {

			$wynik = '';

		} else {

			switch ($pass[2]) {

				case '+':
					$wynik = $pass[1] + $pass[3];
					break;

				case '-':
					$wynik = $pass[1] - $pass[3];
					break;

				case '/':
					$wynik = $pass[1] / $pass[3];
					break;
			}
		}

	return $wynik;

}

/**
* Zwróć poszczególne adresy modułów Scuttla
*
* @param string $modul
*/

function Adresy($modul) {

	switch ($modul) {

		case 'rejestracja':
			return 'register.php';
			break;

		case 'logowanie':
			return 'login.php';
			break;

		case 'dodaj':
			return 'bookmarks.php';
			break;
	}

}


/**
* Dodaj do scuttle
*
* @param string $tytul
* @param string $opis
* @param string $tagi
* @param string $adres
* @param string $cookie
* @param string $url
*/

function DodajNowa($tytul, $opis, $tagi, $adres, $cookie, $url) {

	$url .= $this->Adresy('dodaj');

	$data = array ('title' => $tytul, 'description' => $opis, 'tags' => $tagi, 'address' => $adres, 'submitted' => 'true');

	$this -> WyslijDane($url, $data, $cookie);

}
}
?>

Przykładowe użycie klasy.

			$hScutle -> ZalozKonto('login', 'haslo', 'ntranslator@ntranslator.net', 'https://www.nowemiasteczkoonline.info/'); // zarejestruj

		$cookie = $hScutle -> ZalogujSie ('login', 'haslo', 'https://www.nowemiasteczkoonline.info/'); // pobierz cookie

		$hScutle -> DodajNowa('Moja bardzo fajna strona', 'tutaj mój opis', 'i tagi', 'https://www.ntranslator.net', $cookie,  'https://www.nowemiasteczkoonline.info/'); // dodaj

https://api.ntranslator.net/scuttle.php

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności