Página 1 de 1

Mi grano de arena...

Publicado: 08 Abr 2011, 10:20
por SergioZgz
Buenas, llego desde elotrolado ... saltando enlace en enlace al final he terminado aqui ... ni conocia que hubiese una comunidad de gente interesada en media centers jaja, deberia haberlo buscado antes...

Bueno os comento, monte un media center en el salon algo normal y corriente, la placa mas cutre que encontre con salida HDMI y una caja un poco maja (no se si se pueden poner nombres o marcas en el foro) bueno la cosa es que mi novia no se aclara mucho con los ordenadores asi que decidi montarle algo para solucionarle la vida... algun dia os contare todos los pasos que segui en su dia pero bueno... el resumen es un "crawler" de seriesyonkis y una clase de control de megaupload (para el uso de ambos necesitas una cuenta premium de megaupload), lo que conseguimos es tener todas las series de seriesyonkis sin publicidad y que podemos verlas directamente por streaming sin tener que descargar nada a nuestro pc... por cierto si se que el codigo de la parte de seriesyonkis apesta muchisimo... pero lo hice en un rato una tarde de sabado que podeis esperar xD...

Joder da demasiado asco el codigo de lo de seriesyonkis... lo quito, voy a arreglarlo un poco y os lo subo de nuevo

Código: Seleccionar todo

<?
class Megaupload
//Desarrollado por SergioZgz
{
	protected $_cookieTemp;
	protected $_linkOk;
	function Megaupload($user, $password)
	{
		$this->_linkOk = 'http://www.megaupload.com/?c=filemanager&ajax=1&r=1301512126377&nu=500&ty=1&pa=1&so=date&di=desc';
		$this->_cookieTemp = $this->login($user, $password);
	}

	function delete($megaId)
	{
		$query= "action=delete&delids=file_".$megaId;
		return  $this->makePost($query);
	}

	function createFolder($folderName)
	{
		$query= "action=createfolder&name=".$folderName;

		$data1 = $this->makePost($query);

		if (preg_match('/\?f=(?<newfolderid>(.)*?<)/', $data1, $matches)) 
		{
			$newFolderId = $matches['newfolderid'];
			$newFolderId= substr($newFolderId,0,-1);
			return $newFolderId;
		}else{
			return "";
		}
	}

	function copyToFolder($megaIdsArray, $folderId)
	{
		$megaIdsText = $this->megaIdArrayToString($megaIdsArray);
		$query= "action=copy&copyids=".$megaIdsText."&folderid=".$folderId;
		
		return  $this->makePost($query);
	}

	function edit($megaId,$name,$description)
	{
		$query= "action=edit&id=".$megaId."&name=".$name."&description=".$description."&password=";
		return  $this->makePost($query);
		
	}
	
	function getRootFolderFiles()
	{
		$data =  $this->makePost($query);
		
		if (preg_match_all('/"id":"(?<megaid>(.)*?"),"description":"((.)*?"),"type":"(?<type>(.)*?")/', $data, $matches)) 
		{
			foreach($matches['type'] as $key => $megalinktype)
			{
				if ($megalinktype == 'file"')
				{
					$megaid = substr($matches['megaid'][$key],0,-1);
					
					//TODO Do anything with this ... maybe ... add to array or something like that.
				}
			}
		}
	}
	
	
	function getRootFolderFisrtFile()
	{
		$data =  $this->makePost($query);
		
		if (preg_match('/"id":"(?<megaid>(.)*?"),"description":"((.)*?"),"type":"(?<type>(.)*?")/', $data, $matches)) 
		{
			if ($matches['type'] == 'file"')
			{
				$megaid = substr($matches['megaid'],0,-1);
				return $megaid;
			}		
		}
	}
	
	function import($megaid)
	{
		$ch = curl_init ();
		curl_setopt($ch, CURLOPT_URL,'http://www.megaupload.com/?d='.$megaid.'&import=1');
		curl_setopt($ch, CURLOPT_COOKIEFILE, $this->_cookieTemp); 
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
		$output = curl_exec ($ch);
	}
	
	/******************************************************************/
	/********************PRIVATE FUNCTIONS*****************************/
	/******************************************************************/
	private function login($user, $password)
	{
		$ckfile = tempnam ("/tmp", "CURLCOOKIETEMP");
		$query = "login=1&redir=1&username=".$user."&password=".$password;
		$ch = curl_init();
		curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); 
		curl_setopt($ch, CURLOPT_URL,"http://www.megaupload.com/");
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS,$query);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
		$data = curl_exec($ch);
		curl_close($ch);
		return $ckfile;
	}

	private function makePost($query)
	{
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_COOKIEFILE, $this->_cookieTemp); 
		curl_setopt($ch, CURLOPT_URL,$this->_linkOk);
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS,$query);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
		$data1 = curl_exec($ch);
		curl_close($ch);
		return $data1;
	}

	private function megaIdArrayToString($megaIdArray) {
		$response = "";
		foreach ($megaIdArray as $key => $value) { $response .= "file_".$value.";"; };
		return $response;
	} 

}
?>

Re: Mi grano de arena...

Publicado: 08 Abr 2011, 22:08
por jesus
Puede que no haya entendido bien pero ¿no conoces xbmc y pelisalacarta?

¿No es lo mismo?

http://blog.tvalacarta.info/plugin-xbmc/pelisalacarta

Re: Mi grano de arena...

Publicado: 09 Abr 2011, 21:03
por SergioZgz
Yo creo que si, pero puede que pueda ayudarte a mejorar algun aspecto.

Las cosas como son lo tuyo es muchisimo mas completo y con muchas mas opciones (yo nada mas lo hice para seriesyonkis y tumejortv) tampoco lo he podido probar mas que nada por falta de tiempo pero a ver si mañana saco un ratin y lo pruebo :)

En mi caso por ejemplo la el script esta pensado para que funcione en un server, es el server quien se autentica contra megaupload con tu cuenta y quien obtiene el enlace premium al fichero de video (sea de megavideo o de megaupload) y se lo devuelve al usuario en la pagina generada, por lo que el usuario (en mi caso yo y algun amigo al que le doy acceso) no tiene por que tener cuenta premium, y para megaupload la cuenta premium solo se esta usando desde la ip del servidor (hasta la fecha no he tenido problemas).

Por resumir, simplemente queria decirte un "aqui estoy para lo que necesites" llevo media vida desarrollando software y obteniendo datos de webs de terceros (viva las expresiones regulares xD) asi que si necesitas un colaborador para lo que sea y que ya ha hecho cosas similares por aqui andare :)

Un saludete

Re: Mi grano de arena...

Publicado: 10 Abr 2011, 00:17
por jesus
Ahora la batalla es hacer que pelisalacarta funcione en todas las plataformas posibles.

Si te apuntas, bienvenido. Será divertido :)