Advertisement
Guest User

ddion.php

a guest
Apr 25th, 2013
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 15.18 KB | None | 0 0
  1. <?php
  2. /**
  3.  
  4.  Power Decoder Ioncube-Zend 6.5  
  5.  Member:  vv456  
  6.  Official site:  http://www.waraxe.us/forum-userprofile-8669.html
  7.  
  8.  **/
  9.  
  10. function dineromail_cl( $licensekey, $localkey = "" )
  11. {
  12.     $whmcsurl = "http://clientes.bthost.com.ar/";
  13.     $licensing_secret_key = "DMBASICO-MD5-VALIDATION-PHRASE";
  14.     $check_token = time( ).md5( mt_rand( 1000000000, 1e+010 ).$licensekey );
  15.     $checkdate = date( "Ymd" );
  16.     $usersip = $Tmp_19 ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR'];
  17.     $localkeydays = 15;
  18.     $allowcheckfaildays = 2;
  19.     $localkeyvalid = false;
  20.     if ( $localkey )
  21.     {
  22.         $localkey = str_replace( "\n", "", $localkey );
  23.         $localdata = substr( $localkey, 0, strlen( $localkey ) - 32 );
  24.         $md5hash = substr( $localkey, strlen( $localkey ) - 32 );
  25.         if ( $md5hash == md5( $localdata.$licensing_secret_key ) )
  26.         {
  27.             $localdata = strrev( $localdata );
  28.             $md5hash = substr( $localdata, 0, 32 );
  29.             $localdata = substr( $localdata, 32 );
  30.             $localdata = base64_decode( $localdata );
  31.             $localkeyresults = unserialize( $localdata );
  32.             $originalcheckdate = $localkeyresults['checkdate'];
  33.             if ( $md5hash == md5( $originalcheckdate.$licensing_secret_key ) )
  34.             {
  35.                 $localexpiry = date( "Ymd", mktime( 0, 0, 0, date( "m" ), date( "d" ) - $localkeydays, date( "Y" ) ) );
  36.                 if ( $localexpiry < $originalcheckdate )
  37.                 {
  38.                     $localkeyvalid = true;
  39.                     $results = $localkeyresults;
  40.                     $validdomains = explode( ",", $results['validdomain'] );
  41.                     if ( !in_array( $_SERVER['SERVER_NAME'], $validdomains ) )
  42.                     {
  43.                         $localkeyvalid = false;
  44.                         $localkeyresults['status'] = "Invalid";
  45.                         $results = array( );
  46.                     }
  47.                     $validips = explode( ",", $results['validip'] );
  48.                     if ( !in_array( $usersip, $validips ) )
  49.                     {
  50.                         $localkeyvalid = false;
  51.                         $localkeyresults['status'] = "Invalid";
  52.                         $results = array( );
  53.                     }
  54.                     if ( $results['validdirectory'] != dirname( __FILE__ ) )
  55.                     {
  56.                         $localkeyvalid = false;
  57.                         $localkeyresults['status'] = "Invalid";
  58.                         $results = array( );
  59.                     }
  60.                 }
  61.             }
  62.         }
  63.     }
  64.     if ( !$localkeyvalid )
  65.     {
  66.         $postfields['licensekey'] = $licensekey;
  67.         $postfields['domain'] = $_SERVER['SERVER_NAME'];
  68.         $postfields['ip'] = $usersip;
  69.         $postfields['dir'] = dirname( __FILE__ );
  70.         if ( $check_token )
  71.         {
  72.             $postfields['check_token'] = $check_token;
  73.         }
  74.         if ( function_exists( "curl_exec" ) )
  75.         {
  76.             $ch = curl_init( );
  77.             curl_setopt( $ch, CURLOPT_URL, $whmcsurl."modules/servers/licensing/verify.php" );
  78.             curl_setopt( $ch, CURLOPT_POST, 1 );
  79.             curl_setopt( $ch, CURLOPT_POSTFIELDS, $postfields );
  80.             curl_setopt( $ch, CURLOPT_TIMEOUT, 30 );
  81.             curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
  82.             $data = curl_exec( $ch );
  83.             curl_close( $ch );
  84.         }
  85.         else
  86.         {
  87.             $fp = fsockopen( $whmcsurl, 80, $errno, $errstr, 5 );
  88.             if ( $fp )
  89.             {
  90.                 $querystring = "";
  91.                 foreach ( $postfields as $k => $v )
  92.                 {
  93.                     $querystring .= "{$k}=".urlencode( $v )."&";
  94.                 }
  95.                 $header = "POST ".$whmcsurl."modules/servers/licensing/verify.php HTTP/1.0\r\n";
  96.                 $header .= "Host: ".$whmcsurl."\r\n";
  97.                 $header .= "Content-type: application/x-www-form-urlencoded\r\n";
  98.                 $header .= "Content-length: ".@strlen( @$querystring )."\r\n";
  99.                 $header .= "Connection: close\r\n\r\n";
  100.                 $header .= $querystring;
  101.                 $data = "";
  102.                 @stream_set_timeout( @$fp, 20 );
  103.                 @fputs( @$fp, @$header );
  104.                 $status = @socket_get_status( @$fp );
  105.                 while ( !feof( @$fp ) && $status )
  106.                 {
  107.                     $data .= @fgets( @$fp, 1024 );
  108.                     $status = @socket_get_status( @$fp );
  109.                 }
  110.                 @fclose( @$fp );
  111.             }
  112.         }
  113.         if ( !$data )
  114.         {
  115.             $localexpiry = date( "Ymd", mktime( 0, 0, 0, date( "m" ), date( "d" ) - ( $localkeydays + $allowcheckfaildays ), date( "Y" ) ) );
  116.             if ( $localexpiry < $originalcheckdate )
  117.             {
  118.                 $results = $localkeyresults;
  119.             }
  120.             else
  121.             {
  122.                 $results['status'] = "Invalid";
  123.                 $results['description'] = "Remote Check Failed";
  124.                 return $results;
  125.             }
  126.         }
  127.         preg_match_all( "/<(.*?)>([^<]+)<\\/\\1>/i", $data, $matches );
  128.         $results = array( );
  129.         foreach ( $matches[1] as $k => $v )
  130.         {
  131.             $results[$v] = $matches[2][$k];
  132.         }
  133.         if ( $results['md5hash'] && $results['md5hash'] != md5( $licensing_secret_key.$check_token ) )
  134.         {
  135.             $results['status'] = "Invalid";
  136.             $results['description'] = "MD5 Checksum Verification Failed";
  137.             return $results;
  138.         }
  139.         if ( $results['status'] == "Active" )
  140.         {
  141.             $results['checkdate'] = $checkdate;
  142.             $data_encoded = serialize( $results );
  143.             $data_encoded = base64_encode( $data_encoded );
  144.             $data_encoded = md5( $checkdate.$licensing_secret_key ).$data_encoded;
  145.             $data_encoded = strrev( $data_encoded );
  146.             $data_encoded = $data_encoded.md5( $data_encoded.$licensing_secret_key );
  147.             $data_encoded = wordwrap( $data_encoded, 80, "\n", true );
  148.             $results['localkey'] = $data_encoded;
  149.         }
  150.         $results['remotecheck'] = true;
  151.     }
  152.     unset( $postfields );
  153.     unset( $data );
  154.     unset( $matches );
  155.     unset( $whmcsurl );
  156.     unset( $licensing_secret_key );
  157.     unset( $checkdate );
  158.     unset( $usersip );
  159.     unset( $localkeydays );
  160.     unset( $allowcheckfaildays );
  161.     unset( $md5hash );
  162.     return $results;
  163. }
  164.  
  165. function dineromail_getCurrencies( )
  166. {
  167.     $currencies = mysql_query( "SELECT id, code, rate FROM tblcurrencies ORDER BY id ASC" );
  168.     $currenciesCount = mysql_num_rows( $currencies );
  169.     $currenciesLegend = "";
  170.     $currenciesOptions = "";
  171.     $i = 1;
  172.     while ( $i <= $currenciesCount )
  173.     {
  174.         $currRow = mysql_fetch_array( $currencies );
  175.         $currenciesLegend .= $currRow['id'].": ".$currRow['code'];
  176.         $currenciesLegend .= $i != $currenciesCount ? ", " : "";
  177.         $currenciesOptions .= $currRow['id'].( $i != $currenciesCount ? "," : "" );
  178.         ++$i;
  179.     }
  180.     return array( "currenciesLegend" => $currenciesLegend, "currenciesOptions" => $currenciesOptions );
  181. }
  182.  
  183. function dineromail_config( )
  184. {
  185.     $currencies = dineromail_getcurrencies( );
  186.     $currenciesLegend = $currencies['currenciesLegend'];
  187.     $currenciesOptions = $currencies['currenciesOptions'];
  188.     $configarray = array( "FriendlyName" => array( "Type" => "System", "Value" => "DineroMail" ), "dm_name" => array( "FriendlyName" => "Vendedor", "Type" => "text", "Size" => "35", "Description" => "Nombre que deseas que aparezca en DineroMail como vendedor" ), "dm_nrocta" => array( "FriendlyName" => "N&uacute;mero de Cuenta", "Type" => "text", "Size" => "7", "Description" => "Ejemplo: <strong>1234567</strong>/8 (Lo que est&aacute; en negrita)" ), "dm_ipn" => array( "FriendlyName" => "Contrase&ntilde;a IPN", "Type" => "text", "Size" => "20", "Description" => "Contrase&ntilde;a de la IPN de la cuenta" ), "dm_pais" => array( "FriendlyName" => "Pa&iacute;s", "Type" => "dropdown", "Options" => "1,2,3,4", "Description" => "1: Argentina, 2: Brasil, 3: Chile, 4: M&eacute;xico" ), "dm_moneda" => array( "FriendlyName" => "Moneda", "Type" => "dropdown", "Options" => "ars,mxn,clp,usd,brl", "Description" => "Moneda que utilizar&aacute; DineroMail" ), "dm_medios" => array( "FriendlyName" => "Medios de Pago", "Type" => "text", "Description" => "Ejemplo: ar_pagofacil;ar_visa;ar_dm; (dejalo en blanco para habilitar todos, o visita la tabla de medios de pagos)" ), "dm_nombre_item" => array( "FriendlyName" => "Nombre del Item", "Type" => "text", "Description" => "Ejemplo: Factura #" ), "dm_logo" => array( "FriendlyName" => "URL del Logo", "Type" => "text", "Size" => "50", "Description" => "Ej. https://www.dominio.com/logo.jpg" ), "dm_boton" => array( "FriendlyName" => "URL del Bot&oacute;n", "Type" => "text", "Size" => "50", "Description" => "Ej. https://www.dominio.com/botondepago.jpg" ), "dm_url_exito" => array( "FriendlyName" => "URL de Compra Exitosa", "Type" => "text", "Size" => "50", "Description" => "Ej. https://www.dominio.com/exito.html. Dejalo en blanco para que vuelva a la factura." ), "dm_url_fracaso" => array( "FriendlyName" => "URL de Compra Fracasada", "Type" => "text", "Size" => "50", "Description" => "Ej. https://www.dominio.com/fracaso.html. Dejalo en blanco para que vuelva a la factura." ), "dm_url_pendiente" => array( "FriendlyName" => "URL de Compra Pendiente", "Type" => "text", "Size" => "50", "Description" => "Ej. https://www.dominio.com/pendiente.html. Dejalo en blanco para que vuelva a la factura." ), "dm_mensaje" => array( "FriendlyName" => "Mensaje", "Type" => "yesno", "Description" => "&iquest;Desea que el comprador pueda dejar un mensaje?" ), "dm_lang" => array( "FriendlyName" => "Idioma", "Type" => "dropdown", "Options" => "es,pt,en", "Description" => "Idioma de la p&aacute;gina de DineroMail. es: Espa&ntilde;ol, pt: Portugu&eacute;s, en: English" ), "dm_license" => array( "FriendlyName" => "Licencia", "Type" => "text", "Size" => "20", "Description" => "Licencia otorgada por BTHost.com.ar - Internet Solutions" ), "dm_cbmoneda" => array( "FriendlyName" => "!Callback currency", "Type" => "dropdown", "Options" => $currencies['currenciesOptions'], "Description" => "<b>CAMPO REQUERIDO!</b> Elija la moneda de su sistema que coincida con la moneda local de tu cuenta de Dineromail.<br>Monedas configuradas en su sistema: (".$currencies['currenciesLegend'].").<br>Monedas locales de Dineromail: (Argentina: ARS, Brasil: BRL, Chile: CLP, Mexico: MXN)." ) );
  189.     return $configarray;
  190. }
  191.  
  192. function dineromail_link( $params )
  193. {
  194.     $gtwLicense = $params['dm_license'];
  195.     $gtwName = $params['dm_name'];
  196.     $gtwCta = $params['dm_nrocta'];
  197.     $gtwIPN = $params['dm_ipn'];
  198.     $gtwPais = $params['dm_pais'];
  199.     $gtwCurr = $params['dm_moneda'];
  200.     $gtwMedios = empty( $params['dm_medios'] ) ? "all" : $params['dm_medios'];
  201.     $gtwLogo = $params['dm_logo'];
  202.     $gtwBoton = $params['dm_boton'];
  203.     $gtwLang = $params['dm_lang'];
  204.     $gtwUrlOk = empty( $params['dm_url_exito'] ) ? $params['returnurl'] : $params['dm_url_exito'];
  205.     $gtwUrlFail = empty( $params['dm_url_fracaso'] ) ? $params['returnurl'] : $params['dm_url_fracaso'];
  206.     $gtwUrlPending = empty( $params['dm_url_pendiente'] ) ? $params['returnurl'] : $params['dm_url_pendiente'];
  207.     $gtwItemName = $params['dm_nombre_item'];
  208.     $gtwMsg = $params['dm_mensaje'] == "on" ? 1 : 0;
  209.     $gtwEnv = $params['dm_envio'] == "on" ? 1 : 0;
  210.     $invoiceid = $params['invoiceid'];
  211.     $description = $params['description'];
  212.     $amount = $params['amount'];
  213.     $currency = $params['currency'];
  214.     $city = $params['clientdetails']['city'];
  215.     $state = $params['clientdetails']['state'];
  216.     $email = $params['clientdetails']['email'];
  217.     $phone = $params['clientdetails']['phonenumber'];
  218.     $b = array( "á", "é", "í", "ó", "ú", "ä", "ë", "ï", "ö", "ü", "à", "è", "ì", "ò", "ù", "ñ", " ", ",", ".", ";", ":", "¡", "!", "¿", "?", "\"" );
  219.     $c = array( "a", "e", "i", "o", "u", "a", "e", "i", "o", "u", "a", "e", "i", "o", "u", "n", "", "", "", "", "", "", "", "", "", "" );
  220.     $lastname = utf8_decode( $params['clientdetails']['lastname'] );
  221.     $lastname = strtolower( $lastname );
  222.     $lastname = ucfirst( str_replace( $b, $c, $lastname ) );
  223.     $address1 = $params['clientdetails']['address1'];
  224.     $postcode = $params['clientdetails']['postcode'];
  225.     $firstname = $params['clientdetails']['firstname'];
  226.     $companyname = $params['companyname'];
  227.     $systemurl = $params['systemurl'];
  228.     $currency = $params['currency'];
  229.     $results = dineromail_cl( $gtwLicense );
  230.     if ( $results['status'] != "Active" )
  231.     {
  232.         $code = "Licencia Invalida";
  233.     }
  234.     else
  235.     {
  236.         $code = "<form method=\"post\" action=\"https://checkout.dineromail.com/CheckOut\" target=\"_blank\">\r\n\t<p><input type=\"image\" border=\"0\" name=\"submit\" src=\"".$Var_4392."\" /></p>\r\n\t<input type=\"hidden\" name=\"tool\" value=\"button\" />\r\n\t<input type=\"hidden\" name=\"country_id\" value=\"".$gtwPais."\" />\r\n\t<input type=\"hidden\" name=\"currency\" value=\"".$gtwCurr."\" />\r\n\t<input type=\"hidden\" name=\"merchant\" value=\"".$gtwCta."\" />\r\n\t<input type=\"hidden\" name=\"seller_name\" value=\"".$gtwName."\" />\r\n\t<input type=\"hidden\" name=\"ok_url\" value=\"".$gtwUrlOk."\" />\r\n\t<input type=\"hidden\" name=\"error_url\" value=\"".$gtwUrlFail."\" />\r\n\t<input type=\"hidden\" name=\"pending_url\" value=\"".$gtwUrlPending."\" />\r\n\t<input type=\"hidden\" name=\"display_shipping\" value=\"0\" />\r\n        <input type=\"hidden\" name=\"change_quantity\" value=\"0\" />\r\n        <input type=\"hidden\" name=\"buyer_message\" value=\"".$gtwMsg."\" />\r\n        <input type=\"hidden\" name=\"language\" value=\"".$gtwLang."\" />\r\n        \r\n\t<input type=\"hidden\" name=\"transaction_id\" value=\"".$invoiceid."\" />\r\n        \r\n\t<input type=\"hidden\" name=\"payment_method_available\" value=\"".$gtwMedios."\" />\r\n        \r\n        <input type=\"hidden\" name=\"item_name_1\" value=\"".$gtwItemName.$invoiceid."\" />\r\n        <input type=\"hidden\" name=\"item_code_1\" value=\"".$invoiceid."\" />\r\n        <input type=\"hidden\" name=\"item_quantity_1\" value=\"1\" />\r\n        <input type=\"hidden\" name=\"item_ammount_1\" value=\"".$amount."\" />\r\n        <input type=\"hidden\" name=\"item_currency_1\" value=\"".$gtwCurr."\" />\r\n        \r\n        <input type=\"hidden\" name=\"buyer_name\" value=\"".$firstname."\" />\r\n        <input type=\"hidden\" name=\"buyer_lastname\" value=\"".$lastname."\" />\r\n        <input type=\"hidden\" name=\"buyer_email\" value=\"".$email."\" />\r\n        <input type=\"hidden\" name=\"buyer_phone\" value=\"".$phone."\" />\r\n        <input type=\"hidden\" name=\"buyer_zip_code\" value=\"".$postcode."\" />\r\n        <input type=\"hidden\" name=\"buyer_street\" value=\"".$address1."\" />\r\n        <input type=\"hidden\" name=\"buyer_city\" value=\"".$city."\" />\r\n        <input type=\"hidden\" name=\"buyer_state\" value=\"".$state."\" />\r\n        \r\n\t<input type=\"hidden\" name=\"header_image\" value=\"".$gtwLogo."\" />\r\n        <input type=\"hidden\" name=\"header_width\" value=\"1\" />\r\n\t</form>";
  237.     }
  238.     return $code;
  239. }
  240.  
  241. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement