مسعود معمار 1 ارسال شده در خرداد 96 سلام وقت بخیر آخرین نسخه افزونه فروش فایل جومینا رو نصب کردم ، اما یه مشکل اساسی دارم ، فایل هایی که دارای مبلغ هستن مشکلی ندارن و پس از پرداخت دانلود میشن اما مشکل اینجاست که ، فایل هایی که مبلغشون صفر هست رو پس از کلیک بر روی کلید پرداخت و دانلود فایل ، هیچ لینکی برای دانلود نمایش نمیده و اینکه در حسابداری هم نشون نمیده که یک عملیات موفق انجام شده ، در واقع انگار اتفاقی نیوفتاده . نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
مسعود معمار 1 ارسال شده در خرداد 96 43 minutes قبل , مسعود معمار گفت: سلام وقت بخیر آخرین نسخه افزونه فروش فایل جومینا رو نصب کردم ، اما یه مشکل اساسی دارم ، فایل هایی که دارای مبلغ هستن مشکلی ندارن و پس از پرداخت دانلود میشن اما مشکل اینجاست که ، فایل هایی که مبلغشون صفر هست رو پس از کلیک بر روی کلید پرداخت و دانلود فایل ، هیچ لینکی برای دانلود نمایش نمیده و اینکه در حسابداری هم نشون نمیده که یک عملیات موفق انجام شده ، در واقع انگار اتفاقی نیوفتاده . گزارش خطا رو هم روی حداکثر قرار دادم ازین دو خط ایراد میگرفت : ------------------------------------------------------------------------------------------------------- Strict Standards: Only variables should be assigned by reference in .../components/com_joominaflileselling/views/verify/tmpl/default.php on line 7 : $session =& JFactory::getSession(); ------------------------------------------------------------------------------------------------------- Strict Standards: Only variables should be assigned by reference in.../components/com_joominaflileselling/views/verify/tmpl/default.php on line 25 : $date =& JFactory::getDate(); ------------------------------------------------------------------------------------------------------- طراحی سایت نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
gilangraphic 93 ارسال شده در خرداد 96 البته این ارورها نباید ربطی به این مشکل داشته باشه ولی بنده هم دقیقا همین مشکل و دارم وقتی که فایل هدیه تو جومینا فایل میزارم وقتی که کاربر روی خرید کلیک می کنه نه لینکی نشون میده و نه ایمیل می کنه / دوستان اگر کسی می تونه کمک کنه لطفا نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
مسعود معمار 1 ارسال شده در خرداد 96 توی این مسیر برید : public_html/components/com_joominaflileselling/views/verify/tmpl/default.php و فایل default.php رو باز کنید و محتویاتش رو کلا پاک کنید و محتویات فایلی که پیوست کردم روکاملا جایگزین فایل های قبلی کنید ، مشکل 100% حل میشه : -----------------------------------------------------/////////////////-------------------------------------- <?php defined('_JEXEC') || die('=;)'); $document = JFactory::getDocument(); $url = JURI::base().'components/com_joominaflileselling/assets/css/default.css'; $document->addStyleSheet($url); // get session $session =& JFactory::getSession(); $price = $session->get( 'price'); $id = $session->get( 'id'); $useremail = $session->get( 'useremail'); //get config $db = JFactory::getDBO(); $query = "SELECT * FROM `#__filesellconfig`"; $db->setQuery($query); $config = $db->loadObject(); //get file $db = JFactory::getDBO(); $query = "SELECT * FROM `#__joominaflileselling` WHERE `id`='". $id ."' "; $db->setQuery($query); $file = $db->loadObject(); //making hashfile $filenamehash = md5($file->name); $date =& JFactory::getDate(); $date = explode(' ' , $date); $date= $date[0]; $datehash =md5($date); //factornumber function randomfactornomber($length=10) { $string = ''; $characters = "23456789ABCDEFHJKLMNPRTVWXYZabcdefghijklmnopqrstuvwxyz"; for ($p = 0; $p < $length; $p++) { $string .= $characters[mt_rand(0, strlen($characters)-1)]; } return $string; } $factornumber =randomfactornomber(5); $hash= $filenamehash.$factornumber.$datehash; // file was free $zeroprice = $file->price; if ($zeroprice == '0'){ $payverify = 1; $useremail=$_POST['costomeremail']; if($payverify = 1){?> <div class="successfullpay"> <h2>کاربر گرامی ، لینک دانلود شما با شماره فاکتور اختصاصی ایجاد گردید. <?php echo $factornumber ?></h2> <div class="joominafactornumber"> <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p> </div> <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p> <?php if($config->emaillink == '1'){?> <p style="background:#FFF ; padding:10 0"> جهت دانلود فایل مورد نظر ، با استفاده از شماره فاکتور اختصاصی شما روی لینک دانلود کلیک نمایید:<a href="http://pnegah.ir">دانلود فایل</a> </p> <?php } ?> <p>در صورتی که در حال دانلود فایل هایی هستید که مرورگر ان ها را باز میکند همانند فایل های تصویری میتوانید از ادرس بار بالا لینک مستیقیم فایل را کپی نموده و در دانلود منیجر قرار دهید</p> </div> <?php //-- No direct access defined('_JEXEC') || die('=;)'); $document = JFactory::getDocument(); $url = JURI::base().'components/com_joominaflileselling/assets/css/default.css'; $document->addStyleSheet($url); // get session $session =& JFactory::getSession(); $id = $session->get( 'id'); $hash = $session->get( 'hash'); $factornumber = $session->get( 'factornumber' ); //get config $db = JFactory::getDBO(); $query = "SELECT * FROM `#__filesellconfig`"; $db->setQuery($query); $config = $db->loadObject(); //get file $db = JFactory::getDBO(); $query = "SELECT * FROM `#__joominaflileselling` WHERE `id`='". $id ."' "; $db->setQuery($query); $file = $db->loadObject(); //get file download order $db = JFactory::getDBO(); $query = "SELECT * FROM `#__joominafileseldownload` WHERE `factornumber`='". $factornumber ."' "; $db->setQuery($query); $fileorder = $db->loadObject(); //get date //today date $date =& JFactory::getDate(); $date = explode(' ' , $date); $todaydate= $date[0]; $today_time = strtotime($todaydate); //expire date $dateorder = $fileorder->date; //2016-03-11 $datexpire = $config->downloaddate; $datexpire = $datexpire+1; $datexpire = (1)*$datexpire; $datee = new DateTime($dateorder); $datee->modify('+'.$datexpire.' day'); $datexpire =$datee->format('Y-m-d') . "\n"; $datexpire = strtotime($datexpire); if ($datexpire > $today_time ) { // if directlink was not enter if (!$file->directdownloadlink){ //prepare file for download $filename = JPATH_SITE.'/joominaupload/'.$file->hostdownloadlink; $only_filename = basename($filename); //define mimtype $mimedevide = explode('.' ,$only_filename); $mim = end($mimedevide); switch ($mim) { case "ez": $mime="application/andrew-inset"; break; case "hqx": $mime="application/mac-binhex40"; break; case "cpt": $mime="application/mac-compactpro"; break; case "doc": $mime="application/msword"; break; case "docx": $mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; case "bin": $mime="application/octet-stream"; break; case "dms": $mime="application/octet-stream"; break; case "lha": $mime="application/octet-stream"; break; case "lzh": $mime="application/octet-stream"; break; case "exe": $mime="application/octet-stream"; break; case "class": $mime="application/octet-stream"; break; case "dll": $mime="application/octet-stream"; break; case "oda": $mime="application/oda"; break; case "pdf": $mime="application/pdf"; break; case "ai": $mime="application/postscript"; break; case "eps": $mime="application/postscript"; break; case "ps": $mime="application/postscript"; break; case "xls": $mime="application/vnd.ms-excel"; break; case "xml": $mime="application/xml"; break; case "xlsx": $mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; case "ppt": $mime="application/vnd.ms-powerpoint"; break; case "pptx": $mime="application/vnd.openxmlformats-officedocument.presentationml.presentation"; break; case "wbxml": $mime="application/vnd.wap.wbxml"; break; case "wmlc": $mime="application/vnd.wap.wmlc"; break; case "wmlsc": $mime="application/vnd.wap.wmlscriptc"; break; case "vcd": $mime="application/x-cdlink"; break; case "pgn": $mime="application/x-chess-pgn"; break; case "csh": $mime="application/x-csh"; break; case "dvi": $mime="application/x-dvi"; break; case "spl": $mime="application/x-futuresplash"; break; case "gtar": $mime="application/x-gtar"; break; case "hdf": $mime="application/x-hdf"; break; case "js": $mime="application/x-javascript"; break; case "nc": $mime="application/x-netcdf"; break; case "cdf": $mime="application/x-netcdf"; break; case "swf": $mime="application/x-shockwave-flash"; break; case "tar": $mime="application/x-tar"; break; case "tcl": $mime="application/x-tcl"; break; case "tex": $mime="application/x-tex"; break; case "texinfo": $mime="application/x-texinfo"; break; case "texi": $mime="application/x-texinfo"; break; case "t": $mime="application/x-troff"; break; case "tr": $mime="application/x-troff"; break; case "roff": $mime="application/x-troff"; break; case "man": $mime="application/x-troff-man"; break; case "me": $mime="application/x-troff-me"; break; case "ms": $mime="application/x-troff-ms"; break; case "ustar": $mime="application/x-ustar"; break; case "src": $mime="application/x-wais-source"; break; case "zip": $mime="application/x-zip"; break; case "au": $mime="audio/basic"; break; case "snd": $mime="audio/basic"; break; case "mid": $mime="audio/midi"; break; case "midi": $mime="audio/midi"; break; case "kar": $mime="audio/midi"; break; case "mpga": $mime="audio/mpeg"; break; case "mp2": $mime="audio/mpeg"; break; case "mp3": $mime="audio/mpeg"; break; case "mp4": $mime="video/mp4"; break; case "aif": $mime="audio/x-aiff"; break; case "aiff": $mime="audio/x-aiff"; break; case "aifc": $mime="audio/x-aiff"; break; case "m3u": $mime="audio/x-mpegurl"; break; case "ram": $mime="audio/x-pn-realaudio"; break; case "rm": $mime="audio/x-pn-realaudio"; break; case "rpm": $mime="audio/x-pn-realaudio-plugin"; break; case "ra": $mime="audio/x-realaudio"; break; case "wav": $mime="audio/x-wav"; break; case "pdb": $mime="chemical/x-pdb"; break; case "xyz": $mime="chemical/x-xyz"; break; case "bmp": $mime="image/bmp"; break; case "gif": $mime="image/gif"; break; case "ief": $mime="image/ief"; break; case "jpeg": $mime="image/jpeg"; break; case "jpg": $mime="image/jpeg"; break; case "jpe": $mime="image/jpeg"; break; case "png": $mime="image/png"; break; case "tiff": $mime="image/tiff"; break; case "tif": $mime="image/tiff"; break; case "wbmp": $mime="image/vnd.wap.wbmp"; break; case "ras": $mime="image/x-cmu-raster"; break; case "pnm": $mime="image/x-portable-anymap"; break; case "pbm": $mime="image/x-portable-bitmap"; break; case "pgm": $mime="image/x-portable-graymap"; break; case "ppm": $mime="image/x-portable-pixmap"; break; case "rgb": $mime="image/x-rgb"; break; case "xbm": $mime="image/x-xbitmap"; break; case "xpm": $mime="image/x-xpixmap"; break; case "xwd": $mime="image/x-xwindowdump"; break; case "msh": $mime="model/mesh"; break; case "mesh": $mime="model/mesh"; break; case "silo": $mime="model/mesh"; break; case "wrl": $mime="model/vrml"; break; case "vrml": $mime="model/vrml"; break; case "css": $mime="text/css"; break; case "asc": $mime="text/plain"; break; case "txt": $mime="text/plain"; break; case "gpg": $mime="text/plain"; break; case "rtx": $mime="text/richtext"; break; case "rtf": $mime="text/rtf"; break; case "wml": $mime="text/vnd.wap.wml"; break; case "wmls": $mime="text/vnd.wap.wmlscript"; break; case "etx": $mime="text/x-setext"; break; case "xsl": $mime="text/xml"; break; case "flv": $mime="video/x-flv"; break; case "mpeg": $mime="video/mpeg"; break; case "mpg": $mime="video/mpeg"; break; case "mpe": $mime="video/mpeg"; break; case "qt": $mime="video/quicktime"; break; case "mov": $mime="video/quicktime"; break; case "mxu": $mime="video/vnd.mpegurl"; break; case "avi": $mime="video/x-msvideo"; break; case "movie": $mime="video/x-sgi-movie"; break; case "asf": $mime="video/x-ms-asf"; break; case "asx": $mime="video/x-ms-asf"; break; case "wm": $mime="video/x-ms-wm"; break; case "wmv": $mime="video/x-ms-wmv"; break; case "wvx": $mime="video/x-ms-wvx"; break; case "ice": $mime="x-conference/x-cooltalk"; break; case "rar": $mime="application/x-rar"; break; default: $mime="application/octet-stream"; break; } $mime_type = $mime; //get file size $size = filesize($filename); // set download speed $transfer_speed = 20000000000; //downloadfile $content_params = JComponentHelper::getParams( 'com_joominaflileselling' ); $filesize = $content_params->get( 'filesize' ); function toNumber($val) { if (is_numeric($val)) { $int = (int)$val; $float = (float)$val; $val = ($int == $float) ? $int : $float; return $val; } else { trigger_error("Cannot cast $val to a number", E_USER_WARNING); return null; } } $filesize = $filesize*1000000; $filesize = toNumber($filesize); if ($size < $filesize){ $download_class_file = JPATH_SITE.'/components/com_joominaflileselling/downloader.php'; if (file_exists($download_class_file)){ require_once ($download_class_file); $object = new downloader; $object->set_byfile($filename); // Type: Download from a file $object->set_filename($only_filename); // Set the file basename $object->set_filesize($size); // Set the file basename $object->set_mime($mime_type); // Set the mime type $object->set_speed($transfer_speed); // Set download speed $object->use_resume = true; // Set the value for using Resume Mode $object->open_in_browser = $open_in_browser; // Set whether the file shall be opened in browser window $object->use_autoexit = true; // Set the value for auto exit ('false' worked not really with extern file?) $session =& JFactory::getSession(); $session->clear('id'); $session->clear('hash'); $session->clear('factornumber'); $object->download(); // Run the download exit; } else { $msg =JText::_('فایل یافت نشد').': '.$filename; echo $msg; } } if ($size > $filesize) { jimport('joomla.filesystem.folder'); $filefolder = JPATH_ROOT.'/'.'joominauploadtmp'; function creat($name,$file) { $fp = fopen($name,"w") or $error=1; fputs($fp,$file); fclose($fp) or $error=1; if($error){$status= '0';}else{ $status= '1';} return ($status); } if (!JFolder::exists($filefolder)){ JFolder::create(JPATH_ROOT.'/'.'joominauploadtemp'); $insideindex = 'do not allow download file'; creat(JPATH_ROOT.'/'.'joominauploadtemp/'.'index.html', $insideindex); }; $destination = JPATH_SITE.'/joominauploadtemp/'. $hash.'.'.$mim; if(!file_exists ( $destination )){ copy( $filename ,$destination ); } $dest = JURI::base().'joominauploadtemp/'. $hash.'.'.$mim; $session =& JFactory::getSession(); $session->clear('id'); $session->clear('hash'); $session->clear('factornumber'); ?> <a id="link" href="<?php echo $dest?>">لینک دانلود</a> <script type="text/javascript"> $(function(){ window.location.href = $('#link').attr('href'); }); </script> <?php }; ?> <?php } //if direct link else { $dest = $file->directdownloadlink; $session =& JFactory::getSession(); $session->clear('id'); $session->clear('hash'); $session->clear('factornumber'); ?> <a id="link" href="<?php echo $dest?>">لینک دانلود</a> <script type="text/javascript"> $(function(){ window.location.href = $('#link').attr('href'); }); </script> <?php } }//expiretime else { //else expiretime ?> <div class="emaillink"> اعتبار لینک دانلود شما برای مدت <?php echo $config->downloaddate ?> روز از زمان خرید بوده است و خرید شما در تاریخ <?php echo JHTML::_('date',$fileorder->date,"D d M Y") ?> به انجام رسیده است . لذا دانلود این فایل دیگر برای شما مقدور نیست </div> <?php }?> <?php echo $config->downloaddate; } else { $payverify = 0; } //zarinpal was active if ($config->bank == '1') { require_once('lib/zarinpal/nusoap.php'); $MerchantID = $config->zarinpalid; $Amount = $price; //Amount will be based on Toman $Authority = $_GET['Authority']; if($_GET['Status'] == 'OK'){ // URL also Can be https://ir.zarinpal.com/pg/services/WebGate/wsdl $client = new nusoap_client('https://de.zarinpal.com/pg/services/WebGate/wsdl', 'wsdl'); $client->soap_defencoding = 'UTF-8'; $result = $client->call('PaymentVerification', array( array( 'MerchantID' => $MerchantID, 'Authority' => $Authority, 'Amount' => $Amount ) ) ); if($result['Status'] == 100){?> <div class="successfullpay"> <h2>کاربر گرامی ، خرید شما با موفقیت انجام شد </h2> <div class="refrenceidjoomina"> <p>شماره تراکنش شما <?php echo $result['RefID'] ; $shomareerja= $result['RefID']; ?> میباشد</p> </div> <div class="joominafactornumber"> <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p> </div> <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p> <?php if($config->emaillink == '1'){?> <p style="background:#FFF ; padding:10 0"> همچنین لینک دانلود و شماره فاکتور برای شما ایمیل شد </p> <?php } ?> <p>در صورتی که در حال دانلود فایل هایی هستید که مرورگر ان ها را باز میکند همانند فایل های تصویری میتوانید از ادرس بار بالا لینک مستیقیم فایل را کپی نموده و در دانلود منیجر قرار دهید</p> </div> <div class="emaillink"> <p style="text-align:center">مدت اعتبار لینک دانلود شما به مدت <?php echo $config->downloaddate ?> روز میباشد<p> </div> <?php $payverify = 1; } else { echo 'تراکنش با شکست روبرو شد کد خطا:'. $result['Status']; $payverify = 0; } } else { echo 'عملیات پرداخت توسط شما لغو شده است'; $payverify = 0; } } //payline was actice if ($config->bank == '2') { $api = $config->paylineapi; $Amount = $price*10; $Amount = intval($Amount); $trans_id = $_POST['trans_id']; $id_get = $_POST['id_get']; $url = 'http://payline.ir/payment/gateway-result-second'; ////////////////////////////////////////// function get($url,$api,$trans_id,$id_get){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POSTFIELDS,"api=$api&id_get=$id_get&trans_id=$trans_id"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); $res = curl_exec($ch); curl_close($ch); return $res; } $result = get($url,$api,$trans_id,$id_get); // check payline verify /// if successfull if ($result == '1'){ $payverify = 1; ?> <div class="successfullpay"> <h2>کاربر گرامی ، خرید شما با موفقیت انجام شد </h2> <div class="refrenceidjoomina"> <p>شماره تراکنش شما <?php echo $trans_id ; $shomareerja= $trans_id; ?> میباشد</p> </div> <div class="joominafactornumber"> <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p> </div> <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p> <?php if($config->emaillink == '1'){?> <p style="background:#FFF ; padding:10 0"> همچنین لینک دانلود و شماره فاکتور برای شما ایمیل شد </p> <?php } ?> <p>در صورتی که در حال دانلود فایل هایی هستید که مرورگر ان ها را باز میکند همانند فایل های تصویری میتوانید از ادرس بار بالا لینک مستیقیم فایل را کپی نموده و در دانلود منیجر قرار دهید</p> </div> <div class="emaillink"> <p style="text-align:center">مدت اعتبار لینک دانلود شما به مدت <?php echo $config->downloaddate ?> روز میباشد<p> </div> <?php } if ($result == '-1'){$payverify = 0; echo 'api ارسالی با درگاه پی لاین سازگار نیست';} if ($result == '-2'){$payverify = 0; echo 'trans_id رسالی معتبر نیست';} if ($result == '-3'){$payverify = 0;echo 'id_get رسالی معتبر نیست';} if ($result == '-4'){$payverify = 0;echo 'چنین تراکنشی در سیستم وجود ندارد و یا موفقیت آمیز نیوده است';} }//if payline was active //mellat bank was active if ($config->bank == '3') { include_once('lib/mellat/nusoap.php'); $client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/'; $res = $_POST[ResCode]; $tar= $_POST['SaleReferenceId']; //start verify if ($res == '0') { ///////VERIFY METHOD $terminalId = $config->mellatpayaneh;; $userName = $config->mellatusername; $userPassword = $config->mellatpass; $orderId = $_POST['SaleOrderId']; $verifySaleOrderId = $_POST['SaleOrderId']; $verifySaleReferenceId = $_POST['SaleReferenceId']; // Check for an error $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; //die(); } $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId); // Call the SOAP method $result = $client->call('bpVerifyRequest', $parameters, $namespace); // Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; //die(); } else { $resultStr = $result; $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; ///die(); } else { // Display the result // Update Table, Save Verify Status // Note: Successful Verify means complete successful sale was done. }// end Display the result }// end Check for errors ////////END OF VERYFY ///SETTELE START $terminalId = $config->mellatpayaneh;; $userName = $config->mellatusername; $userPassword = $config->mellatpass; $orderId = $_POST['SaleOrderId']; $settleSaleOrderId = $_POST['SaleOrderId']; $settleSaleReferenceId = $_POST['SaleReferenceId']; // Check for an error $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; //die(); } $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $settleSaleOrderId, 'saleReferenceId' => $settleSaleReferenceId); // Call the SOAP method $result = $client->call('bpSettleRequest', $parameters, $namespace); // Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; $payverify = 0; //die(); } else { $resultStr = $result; $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; $payverify = 0; //die(); } else { // Update Table, Save Settle Status // Note: Successful Settle means that sale is settled. $payverify = 1; $price=($price/10);?> <h2>کاربر گرامی ، خرید شما با موفقیت انجام شد </h2> <div class="refrenceidjoomina"> <p>شماره تراکنش شما <?php echo $settleSaleReferenceId ; $shomareerja= $settleSaleReferenceId; ?> میباشد</p> </div> <div class="joominafactornumber"> <p>شماره فاکتور شما <?php echo $factornumber ?> میباشد</p> </div> <p style="padding-right:10px">لطفا در نگه داری شماره فاکتور خود دقت فرمایید</p> <?php if($config->emaillink == '1'){?> <p style="background:#FFF ; padding:10 0"> همچنین لینک دانلود و شماره فاکتور برای شما ایمیل شد </p> <?php } ?> <p>در صورتی که در حال دانلود فایل هایی هستید که مرورگر ان ها را باز میکند همانند فایل های تصویری میتوانید از ادرس بار بالا لینک مستیقیم فایل را کپی نموده و در دانلود منیجر قرار دهید</p> </div> <div class="emaillink"> <p style="text-align:center">مدت اعتبار لینک دانلود شما به مدت <?php echo $config->downloaddate ?> روز میباشد<p> </div><?php }// end Display the result }// end Check for errors } }//mellat was active // end of else file free //zarinpal was active if ($config->bank == '6') { $db = JFactory::getDBO(); $query = "SELECT * FROM `#__joominaflileselling` WHERE `id`='". $id ."' "; $db->setQuery($query); $trans = $db->loadObject(); if (($trans->disount > '0') and ($config->alldiscount == '0')){ $Amount = ($trans->price) - ($trans->disount) ; }else { $dicsountall = $config->alldiscount; $dicsountall = ($trans->price)*$dicsountall; $dicsountall = $dicsountall/100; $Amount = ($trans->price)-($dicsountall);} $Amount=$Amount*10; $amount = $Amount; if ($_POST['RESCODE'] == '00') { require_once('lib/mabnacard/nusoap.php'); $client = new nusoap_client("https://mabna.shaparak.ir/TransactionReference/TransactionReference?wsdl", 'wsdl'); $params = JComponentHelper::getParams('com_joominaflileselling'); $__CRN = !empty($_POST['CRN']) ? $_POST['CRN'] : ''; $__MID = trim($params->get('mid')); $terminal = trim($params->get('tid')); $pub_key = ' -----BEGIN PUBLIC KEY----- ' . trim($params->get('publickey')) . ' -----END PUBLIC KEY-----'; $key_resource = openssl_get_publickey($pub_key); openssl_public_encrypt($_POST["TRN"], $crypttext, $key_resource); $TRN = base64_encode($crypttext); openssl_public_encrypt($__CRN, $crypttext, $key_resource); $CRN = base64_encode($crypttext); openssl_public_encrypt($__MID, $crypttext, $key_resource); $MID = base64_encode($crypttext); $source = $__MID . $_POST["TRN"] . $__CRN; $key = trim($params->get('privatekey')); if (strpos($key, '-----BEGIN PRIVATE KEY-----') === false) $key = "-----BEGIN PRIVATE KEY-----\n" . $key; if (strpos($key, '-----END PRIVATE KEY-----') === false) $key .= "\n-----END PRIVATE KEY-----"; $priv_key = openssl_pkey_get_private($key); $signature = ''; openssl_sign($source, $signature, $priv_key, OPENSSL_ALGO_SHA1); $inputArray = array( "SaleConf_req" => array( "MID" => $MID, "CRN" => $CRN, "TRN" => $TRN, "SIGNATURE" => base64_encode($signature) ) ); $WSResult = $client->call("sendConfirmation", $inputArray); $error = $client->getError(); $ret = var_export($WSResult,true); $signature = base64_decode($WSResult["return"]["SIGNATURE"]); $data = $WSResult["return"]["RESCODE"].$WSResult["return"]["REPETETIVE"].$WSResult["return"]["AMOUNT"].$WSResult["return"]["DATE"].$WSResult["return"]["TIME"].$WSResult["return"]["TRN"].$WSResult["return"]["STAN"]; $ok = openssl_verify($data, $signature, $key_resource); if ($ok == 1) { if (($WSResult['return']['RESCODE'] == '00') && ($WSResult['return']['successful'] == true)) { if (floatval($WSResult["return"]["AMOUNT"]) == floatval($amount)) { $html = '<div class="successpay"> <h3>پرداخت شما با موفقیت انجام شد .</h3> <p>شماره تراکنش پرداخت شما : <span class="btn btn-success">'. $WSResult['return']['TRN'].'</span></p> <p>شماره کد رهگیری در سایت : <span class="btn btn-info">'.$factornumber.'</span></p> <p>لطفا در حفظ و نگه داری اطلاعات این صفحه دقت بفرمایید</p> </div>'; echo $html; $payverify = '1'; } } else { echo $msg = '<font color="red" ><b>پرداخت ناموفق</b></font><br/> <br/>'; ; } }else { echo $msg = '<font color="red" ><b>پرداخت ناموفق</b></font><br/>خطا در وریفای اطلاعات <br/>'; } } elseif ($_POST['RESCODE']=='200') { $ret = var_export($_POST,true); echo $msg = "پرداخت موفق آمیز نبود ، خطای 200"; echo '<br/>'."کاربر از پرداخت انصراف داد" ; } } //if payverify was successfull -> go if ($payverify == '1') { //store if data base $db = JFactory::getDBO(); $query = "INSERT INTO `#__joominafileseldownload` (`id`, `fileid`, `date`, `factornumber`, `downloadnomber`, `hashcode`, `email`, `price`) VALUES (NULL, '". $id ."', '".$date ."', '". $factornumber ."', '" . $shomareerja ."', '". $hash. "', '." . $useremail ."', '" . $price. "') "; $db->setQuery($query); $result = $db->query(); ////if user //// $user = JFactory::getUser(); if (!$user->guest) { $db = JFactory::getDBO(); $query = "INSERT INTO `#__joominafileseldownloaduser` (`id`, `fileid`, `date`, `factornumber`, `downloadnomber`, `hashcode`, `email`, `price` , `userid`) VALUES (NULL, '". $id ."', '".$date ."', '". $factornumber ."', '" . $shomareerja ."', '". $hash. "', '." . $useremail ."', '" . $price. "','".$user->id."') "; $db->setQuery($query); $result = $db->query(); } /// end of if user //// //sending email if($config->emaillink == '1'){ $mailer = JFactory::getMailer(); $actionform =JURI::root().'?option=com_joominaflileselling&view=factor&factor='.$factornumber; $body = "<div style='text-align:ritgh; direction:rtl; font-family:tahoma;line-height:23px; font-size:12px'>کاربر محترم <br />ضمن تشکر از خرید شما، </br> فایل خریداری شده،".$file->name." میباشد <br>"." همچنین شماره فاکتور شما عبارت است از : <b>". $factornumber . "</b> <br /> لطفا در حفظ و نگهداری این شماره فاکتور دقت بفرمایید" . "<br/> مدت اعتبار لینک دانلود شما <b>" . $config->downloaddate. "</b> روز میباشد". "<br /><br /><br /><a target='_blank' href='$actionform' style='background: #d93434; background-image: -webkit-linear-gradient(top, #d93434, #b82b2b); background-image: -moz-linear-gradient(top, #d93434, #b82b2b); background-image: -ms-linear-gradient(top, #d93434, #b82b2b); background-image: -o-linear-gradient(top, #d93434, #b82b2b); background-image: linear-gradient(to bottom, #d93434, #b82b2b); -webkit-border-radius: 4; -moz-border-radius: 4; border-radius: 4px; font-family: tahoma; color: #ffffff; font-size: 14px; padding: 10px 20px 10px 20px; text-decoration: none; font-weight:normal'>دانلود فایل</a><br /> <div style='font-size:10px'>اجرا شده بوسیله <a href='http://Pnegah.ir' target='_blank'>پویا نگاه</a></div> </div> "; $to = $useremail; $configsite = JFactory::getConfig(); $sitename= $configsite->get( 'sitename' ); $mailfrom = $configsite->get( 'mailfrom' ); $fromname = $configsite->get( 'fromname' ); $mailer->setSender($mailfrom,$fromname); $subject =$sitename .' - '. 'فایل خریداری شده '. $file->name ; # Invoke JMail Class # Add a recipient -- this can be a single address (string) or an array of addresses $mailer->addRecipient($to); $mailer->setSubject($subject); $mailer->setBody($body); # If you would like to send as HTML, include this line; otherwise, leave it out $mailer->isHTML(true); # Send once you have set all of your options $mailer->send(); } // make download botton $urlgo = JURI::base().'?option=com_joominaflileselling&view=download'; $session = & JFactory::getSession(); $session->clear('price'); $session->clear('id'); $session->clear('useremail'); $session->set( 'id', $id ); $session->set( 'hash', $hash ); $session->set( 'factornumber', $factornumber ); ?> <form method="post" action="<?php echo $urlgo ?>"> <input name="submitemail" class="joominapaybottom" type="submit" value="دانلود فایل" /> </form> <?php } if ($payverify != '1') { $db = JFactory::getDBO(); $query = "INSERT INTO `#__joominafileseldownload` (`id`, `fileid`, `date`, `factornumber`, `downloadnomber`, `hashcode`, `email`, `price`) VALUES (NULL, '". $id ."', '".$date ."', '". $factornumber ."', 'ناموفق', '". $hash. "', '." . $useremail ."', '" . $price. "') "; $db->setQuery($query); $result = $db->query(); } } ?> نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
gilangraphic 93 ارسال شده در خرداد 96 سلام / ممنون / ولی یه مشکل به مشکل قبلی اضافه شد / وقتی ایمیل و وارد می کنی و رو دانلود کلیک می کنی این ارورو میده / عکس ارور پیوست می باشد نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
مسعود معمار 1 ارسال شده در خرداد 96 برای من مشکلی نداشت ، اجازه بده بررسی کنم اگر مشکل حل شد مجدد پیام میدم نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
gilangraphic 93 ارسال شده در خرداد 96 ممنون / این کدی که شما لطف کردید فرستادید دستکاری شده است یه نفر اومد کدو دستکاری کرده که زمانی رو لینک دانلود کلیک میشه همزمان با اون سایت طرف باز بشه / همین دستکاری ها فکر کنم کارو خراب کرده/ کد اصلی رو اگر دارید لطف کنید برام بفرستید. ممنون نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر