رفتن به مطلب

مسعود معمار

عضو تالار جوملا
  • تعداد ارسال ها

    23
  • تاریخ عضویت در سایت

  • آخرین بازدید

پست ها ارسال شده توسط مسعود معمار


  1. بر 8/10/2018 at 04:32 , majidk گفت:

    باسلام

    بلاخره مشکلش یافتم می بایست افزونه VP Advanced User آپدیت یا غیرفعالش کرد تا منو باز کنه همین

    هرکس افزونه VP Advanced User داره بذاره

     

    بدرود

    متشکرم ، دقیقا مشکل من همین بود ، ممنون که راه حل رو اینجا نوشتی!


  2. توی این مسیر برید :

    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(); }
            }
            
            
            
            
            
            
            ?>


  3. 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();


    -------------------------------------------------------------------------------------------------------


  4. سلام وقت بخیر

    آخرین نسخه افزونه فروش فایل جومینا رو نصب کردم ، اما یه مشکل اساسی دارم ، فایل هایی که دارای مبلغ هستن مشکلی ندارن و پس از پرداخت دانلود میشن

    اما مشکل اینجاست که ، فایل هایی که مبلغشون صفر هست رو پس از کلیک بر روی کلید پرداخت و دانلود فایل ، هیچ لینکی برای دانلود نمایش نمیده و اینکه در حسابداری هم نشون نمیده که یک عملیات موفق انجام شده ، در واقع انگار اتفاقی نیوفتاده .


  5. سلام
    درخواست درگاه بانک ملت برای ویرچومارت 3 و جوملا 3 رو دارم !
    از وب سایت جومینا این (لینک زیر) این بسته رو نصب کردم اما پیام :

    لینک دانلود درگاه بانک ملت برای ویرچومارت

    هشدار
    JInstaller: :نصب: فایل نصب XML جوملا یافت نشد
    خطا
    ناتوان در یافتن بسته نسبی

     

    نمایش داده میشه !

     

    مستقیم هم توی پوشه TMP کپی و اکسترک کردم اما فایده ای نداشت !

     


  6. سلام ه من این کامپوننت و تمام فایل های همراهشونصب کردم اما ابرادی که پیدا کردم اینه که وقتی در قسمت فایل ها ، جدید رو کلیک میکنم

    تنها چیزی که توی صفحه به من نشون میده کپی رایت جومینا هستش

    لطفا کمک کنید مشکل رفه بشه !

    آقای قاسمی عزیز و آقای تهرانی عزیز !


  7. آی پی جدی هم روی درگاه ست شد ، اما همچنان توی صفحه انتقال به بانک میمونه و هیچ اتفاقی نمیوفته
     کاش یکی پیدا میشد کمک میکرد ، مدیران و اساتید محترم ، کــــــــــــــــــــــــــمـــــــــــــــــــــــــــــــــــک لــــطفا !

     

    :

    www.testhost.ir


  8. سلام ، کلیه تنظیمات مربوط به افزونه فروش فایل رو طبق فیلم آموزشی که قرار داده بودید وارد کردم ، اما پس از اقدام به خرید
    نوشته در حال انتقال به بانک ظاهر میشه و همون جا میمونه و هیچ اتفاقی نمیوفته ، مشکل از کجاست ؟
    http://www.testhost.ir/index.php/fileshop

    لطفا راهنمایی کنید ، در ضمن از صحت اطلاعات درگاه مطمئن هستم ، فقط اینکه این اطلاعات درگاه مربوط به یکی از سایت های دیگه من هستش ، آیا میشه برای دو سایت از یک کد درگاه استفاده کرد؟


  9. سلام
    از همین افزونه ای که در کنار سایت جومنا هست و شبکه های اجتماعی رو لینک میکنه استفاده کردم
    الان گزینه ی جدید رو اضافه کردم ،ولی نمیدونم چظور میشه آیکون اون مورد جدید رو بهش اضافه کرد
    لطفا دوستان کمک کنند
    ممنونم


  10. من قالب رو دارم تغييراتي روش ميدم ميخوام اين قالب رو رنگهاش رو عوض کنم مثلا نارنجي کنم کسي ميدونه چيکار بايد بکنم attachicon.giflink4.JPGattachicon.giflink3.JPG لطفا راهنمائي بفرمائيد.

     

    با سلام

    اکثر تغییرات رو شما باید توسط فوتوشاپ و روی فایل های تصویری در پوشه ی image قالب انجام بدید و بقیه ی تغیرات رو باید از طریق فایل CSS.template انجام بدهید.

     

    ----

    تبلیغات ممنوع

    ----


  11. دوست عزیز من چنتا ملک ثبت کردم اما لیست قیمت در جستجو تغییری نکرد
    لطفا راهنمایی کنید این گزینه رو چطور میتونم حذف کنم!!!  از کجا
    در ضمن اگر همچیم چیزی رو مشابه ش رو در مورد املاک دارید بهم معرفی کنید


  12. با سلام

    من بسته نصبی املاک رو استفاده کردم و فقط یه اشکالی داره که شهر های دیگه رو نمیتونم اضافه کنم



    و اینکه قسمت جستجو ، مبلغ جستجو خیلی پایین هستش



    لطفا اگر امکان داره منو راهنمایی کنید تا درستش کنم



    سفارش گرفتم موندم چکارش کنم



    ممنون

    60745646568783452298.jpg

    --------------------------------------------------------------------------------------------------------------------------

    لینک
×
×
  • افزودن...