ARisan

کاربران
  • تعداد ارسال ها

    8
  • تاریخ عضویت

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

اعتبار در انجمن

0 عادی

درباره ARisan

  • درجه
    تازه وارد
  • تاریخ تولد
  1. سلام کاملا درست میفرمایید ، بنده کد رو اشتباه فرستادم که در لینک زیر کامل توضیح دادم درموردش ،‌لطفا روی این کد راهنمایی کنید . با تشکر
  2. سلام در فایل php برای rsform میخوام زمانی که این دستور اجرا شد و _STATUS برابر با 1 شد طبق تغییرات کد زیر در همان ستون FieldName دیتابیس جلوی payment عدد 3 اضافه بشه ولی نمیدونم در بین این کد چه دستور ی را باید اضافه کنم ، در صورت امکان راهنمایی کنید . $db->setQuery("UPDATE #__rsform_submission_values sv LEFT JOIN #__rsform_submissions s ON s.SubmissionId = sv.SubmissionId SET sv.FieldValue=1 WHERE sv.FieldName='_STATUS' AND sv.FormId='".$formId."' AND MD5(CONCAT(s.SubmissionId,s.DateSubmitted)) = '".$code."'"); با تشکر
  3. سلام ،‌ یه راهنمایی میخواستم از دوستان من یه پلاگین پرداخت بانک ملت برای rsform نصب کردم که زمانی پرداخت با موفقیت انجام میشه متاسفانه شماره ارجاع بانک در سیستم ذخیره نمیشه . که طبق عکس میخواستم داخل table جلوی گزینه payment ثبت بشه . لطفا راهنمایی کنید در این فایل کد نویسی شده php به شرح زیر چه تغییری انجام بدم . باتشکر <?php /*------------------------------------------------------------------------ # Hikashop - Mellat Payment Plugin # ------------------------------------------------------------------------ # author P30template.com - Develop department # copyright Copyright (C) 2012 P30template.com. All Rights Reserved. # @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL # Websites: https://P30template.com # Technical Support: https://p30template.com/client-area/support/dashboard.html -------------------------------------------------------------------------*/ defined('_JEXEC') or die('Restricted access'); class plgHikashoppaymentMellat extends JPlugin { var $debugData = array(); function onPaymentDisplay(&$order,&$methods,&$usable_methods){ if(!empty($methods)){ foreach($methods as $method){ if($method->payment_type!='mellat' || !$method->enabled){ continue; } if(!empty($method->payment_zone_namekey)){ $zoneClass=hikashop_get('class.zone'); $zones = $zoneClass->getOrderZones($order); if(!in_array($method->payment_zone_namekey,$zones)){ return true; } } $usable_methods[$method->ordering]=$method; } } return true; } function onPaymentSave(&$cart,&$rates,&$payment_id){ $usable = array(); $this->onPaymentDisplay($cart,$rates,$usable); $payment_id = (int) $payment_id; foreach($usable as $usable_method){ if($usable_method->payment_id==$payment_id){ return $usable_method; } } return false; } function getVars($order,$methods,$method_id) { $method =& $methods[$method_id]; $currencyClass = hikashop_get('class.currency'); $currencies=null; $currencies = $currencyClass->getCurrencies($order->order_currency_id,$currencies); $currency=$currencies[$order->order_currency_id]; $user = hikashop_loadUser(true); $lang = &JFactory::getLanguage(); $locale=strtolower(substr($lang->get('tag'),0,2)); global $Itemid; $url_itemid=''; if(!empty($Itemid)){ $url_itemid='&Itemid='.$Itemid; } $callback_url = HIKASHOP_LIVE.'index.php?option=com_content&view=article&id=93'; $accept_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id='.$order->order_id.$url_itemid; $decline_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=order&task=cancel_order&order_id='.$order->order_id.$url_itemid; if($method->payment_params->addfee == 1) { $addfee = 1; } else { $addfee = 0; } require_once (JPATH_ROOT .'/plugins/hikashoppayment/mellat/bank/nusoap.php'); $terminalId = $method->payment_params->terminalid; $userName = $method->payment_params->username; $userPassword = $method->payment_params->userpassword; $ircurrency = $method->payment_params->ircurrency; $client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/'; $orderId = $order->order_id; $amount = $order->order_full_price; if($ircurrency=='toman')$amount=$amount*10; $localDate = date("Ymd"); $localTime = date("His"); $additionalData = ''; $callBackUrl = $callback_url; $payerId = 0; $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; return; } $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'amount' => $amount, 'localDate' => $localDate, 'localTime' => $localTime, 'additionalData' => $additionalData, 'callBackUrl' => $callBackUrl, 'payerId' => $payerId); $result = $client->call('bpPayRequest', $parameters, $namespace); if ($client->fault) { echo '<h2>اشكال در پرداخت </h2><pre>'; print_r($result); echo '</pre>'; return; } else { $err = $client->getError(); if ($err) { echo '<h2>خطايي رخ داده </h2><pre>' . $err . '</pre>'; return; } else { $res = explode (',',$result); $ResCode = $res[0]; if ($ResCode == "0") { $vars = array( "TerminalId" => $terminalId, "UserName" => $userName , "UserPassword" => $userPassword, "PayDate" => $localDate, "PayTime" => $localTime, "PayAmount" => $amount, "PayOrderId" => $orderId, "PayAdditionalData" => $additionalData, "PayCallBackUrl" => $callBackUrl , "PayPayerId" => $payerId , "RefId" => $res[1] ); } else { echo '<h2>خطا در اتصال به درگاه بانك </h2>ResCode='.$ResCode.'<br>'; echo $this->CheckStatus ($ResCode); print_r($parameters); return; } } } return $vars; } function onAfterOrderConfirm(&$order,&$methods,$method_id){ $method =& $methods[$method_id]; $tax_total = ''; $discount_total = ''; $vars = $this->getVars($order, $methods, $method_id); if(!HIKASHOP_J30) JHTML::_('behavior.mootools'); else JHTML::_('behavior.framework'); $app =& JFactory::getApplication(); $name = $method->payment_type.'_end.php'; $path = JPATH_THEMES.DS.$app->getTemplate().DS.'hikashoppayment'.DS.$name; if(!file_exists($path)){ if(version_compare(JVERSION,'1.6','<')){ $path = JPATH_PLUGINS .DS.'hikashoppayment'.DS.$name; }else{ $path = JPATH_PLUGINS .DS.'hikashoppayment'.DS.$method->payment_type.DS.$name; } if(!file_exists($path)){ return true; } } require($path); return true; } function onPaymentNotification(&$statuses){ $orderid = JRequest::getVar('orderid'); $pluginsClass = hikashop_get('class.plugins'); $elements = $pluginsClass->getMethods('payment','mellat'); if(empty($elements)) return false; $element = reset($elements); $terminalId = $element->payment_params->terminalid; $userName = $element->payment_params->username; $userPassword = $element->payment_params->userpassword; $telegram_send = $element->payment_params->telegram_send; $telegram_channel = $element->payment_params->telegram_channel; $telegram_token = $element->payment_params->telegram_token; $telegram_text = $element->payment_params->telegram_text; $orderClass = hikashop_get('class.order'); $dbOrder = $orderClass->get((int)@$orderid); if(empty($dbOrder)){ echo "فاکتور مورد تائید نمیباشد ".@$orderid; return false; } $refid = JRequest::getVar('RefId'); $rescode = JRequest::getVar('ResCode'); $verifySaleOrderId = JRequest::getVar('SaleOrderId'); $verifySaleReferenceId = JRequest::getVar('SaleReferenceId'); if ($rescode == '0' ){ include_once (JPATH_ROOT .'/plugins/hikashoppayment/mellat/bank/nusoap.php'); $client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/'; $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; return; } $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $verifySaleOrderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId); $result = $client->call('bpVerifyRequest', $parameters, $namespace); $resultSettle = $client->call('bpSettleRequest', $parameters, $namespace); if ($result==415 or $result==51 or $result==55 or $result == 43 ) { return false; } if (strlen($result)==0 or strlen($resultSettle)==0 or is_null($result) or is_null($resultSettle) ) { return false; } if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; return false; } else { foreach ($result as $arr){ $resultStr = $arr; } $err = $client->getError(); if ($err) { echo '<h2>Error</h2><pre>' . $err . '</pre>'; return false; } else { $dateformat = JText::_('DATE_FORMAT_LC4'); $date = JHTML::_('date',date('Y-m-d H:i:s'),$dateformat); $telegram_text = str_replace('[orderid]',$verifySaleOrderId,$telegram_text); $telegram_text = str_replace('[transaction]',$verifySaleReferenceId,$telegram_text); $telegram_text = str_replace('[date]',$date,$telegram_text); ////////////////////////////////////////// ////////////////////////////////////////// $order = new stdClass(); $order->order_id = $dbOrder->order_id; $order->old_status->order_status=$dbOrder->order_status; $url = HIKASHOP_LIVE.'administrator/index.php?option=com_hikashop&ctrl=order&task=edit&order_id='.$order->order_id; $order_text = "\r\n".JText::sprintf('NOTIFICATION_OF_ORDER_ON_WEBSITE',$dbOrder->order_number,HIKASHOP_LIVE); $order_text .= "\r\n".str_replace('<br/>',"\r\n",JText::sprintf('ACCESS_ORDER_WITH_LINK',$url)); $mailer = JFactory::getMailer(); $config =& hikashop_config(); $sender = array( $config->get('from_email'), $config->get('from_name') ); $mailer->setSender($sender); $mailer->addRecipient(explode(',',$config->get('payment_notification_email'))); $order->order_status = 'confirmed'; $order->history->history_reason = JText::_('PAYMENT_ORDER_CONFIRMED'); $order->history->history_notified=1; $order->history->history_payment_id = $element->payment_id; $order->history->history_payment_method =$element->payment_type; $order->history->history_data = $verifySaleReferenceId; $order->history->history_type = 'payment'; $order->mail_status=$statuses[$order->order_status]; $mailer->setSubject(JText::sprintf('PAYMENT_NOTIFICATION_FOR_ORDER','ملت',$order->mail_status,$dbOrder->order_number)); $body = str_replace('<br/>',"\r\n",JText::sprintf('PAYMENT_NOTIFICATION_STATUS','ملت',$order->mail_status)).' '.JText::sprintf('ORDER_STATUS_CHANGED',$order->mail_status)."\r\n\r\n".$order_text; $mailer->setBody($body); $mailer->Send(); $orderClass->save($order); /////////////////////////////////// Redirect /////////////////////////////////// Redirect /////////////////////////////////// Redirect $app =& JFactory::getApplication(); $httpsHikashop = HIKASHOP_LIVE; global $Itemid; $url_itemid = ''; if (!empty($Itemid)) { $url_itemid = '&Itemid=' . $Itemid; } $return_url = $httpsHikashop.'index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id='.$orderid.$url_itemid; $app->enqueueMessage($telegram_text); if($telegram_send==1) { $this->sendTelegramChannel($telegram_channel,$telegram_token,$telegram_text); $this->sendTelegramToUser($telegram_token,$telegram_text); } $app->redirect($return_url); return true; ////////////////////////////////////////// ////////////////////////////////////////// ////////////////////////////////////////// } } }else { return false; } } function onPaymentConfiguration(&$element){ $this->mellat = JRequest::getCmd('name','mellat'); if(empty($element)){ $element = new stdClass(); $element->payment_name='mellat'; $element->payment_description='پرداخت آنلاین بانک ملت'; $element->payment_images='mellat'; $element->payment_type=$this->mellat; $element->payment_params->windowstate = 2; $element->payment_params= new stdClass(); $element->payment_params->notification=1; $list=null; $element->payment_params->windowstate=2; $element->payment_params->md5mode=1; $element->payment_params->instantcapture=2; $element->payment_params->splitpayment=2; $element->payment_params->addfee=2; $element->payment_params->invalid_status='cancelled'; $element->payment_params->pending_status='created'; $element->payment_params->verified_status='confirmed'; $element = array($element); } $this->toolbar = array( 'save', 'apply', 'cancel', '|', array('name' => 'pophelp', 'target' =>'payment-mellat-form') ); hikashop_setTitle('پرداخت بانک ملت','plugin','plugins&plugin_type=payment&task=edit&name='.$this->mellat); $app = JFactory::getApplication(); $app->setUserState( HIKASHOP_COMPONENT.'.payment_plugin_type', $this->mellat); $this->address = hikashop_get('type.address'); $this->category = hikashop_get('type.categorysub'); $this->category->type = 'status'; } function getTelegramUser() { $user = JFactory::getUser(); if($user->id>0) { $db =& JFactory::getDBO(); $sql = "SELECT * FROM #__botmanager_users WHERE cmsuserid ='{$user->id}' "; $db->setQuery($sql); return $db->loadAssoc(); } return false; } function sendTelegramChannel($telegram_channel,$telegram_token,$telegram_text) { $url = 'https://api.telegram.org/bot'.$telegram_token.'/sendMessage?chat_id='.$telegram_channel.'&parse_mode=HTML&text='.$telegram_text; file_get_contents($url) ; } function sendTelegramToUser($telegram_token,$telegram_text) { $userinfo = $this->getTelegramUser(); if(count($userinfo)) { $userid = $userinfo['userid']; $url = 'https://api.telegram.org/bot'.$telegram_token.'/sendMessage?chat_id='.$userid.'&parse_mode=HTML&text='.$telegram_text; file_get_contents($url) ; } } function CheckStatus($ecode) { $tmess="شرح خطا:"; switch ($ecode) { case 0: $tmess="تراکنش با موفقيت انجام شد"; break; case 11: $tmess="شماره کارت معتبر نيست"; break; case 12: $tmess= "موجودي کافي نيست"; break; case 13: $tmess= "رمز دوم شما صحيح نيست"; break; case 14: $tmess= "دفعات مجاز ورود رمز بيش از حد است"; break; case 15: $tmess= "کارت معتبر نيست"; break; case 16: $tmess= "دفعات برداشت وجه بيش از حد مجاز است"; break; case 17: $tmess= "کاربر از انجام تراکنش منصرف شده است"; break; case 18: $tmess= "تاريخ انقضاي کارت گذشته است"; break; case 19: $tmess= "مبلغ برداشت وجه بيش از حد مجاز است"; break; case 111: $tmess= "صادر کننده کارت نامعتبر است"; break; case 112: $tmess= "خطاي سوييچ صادر کننده کارت"; break; case 113: $tmess= "پاسخي از صادر کننده کارت دريافت نشد"; break; case 114: $tmess= "دارنده کارت مجاز به انجام اين تراکنش نمي باشد"; break; case 21: $tmess= "پذيرنده معتبر نيست"; break; case 23: $tmess= "خطاي امنيتي رخ داده است"; break; case 24: $tmess= "اطلاعات کاربري پذيرنده معتبر نيست"; break; case 25: $tmess= "مبلغ نامعتبر است"; break; case 31: $tmess= "پاسخ نامعتبر است"; break; case 32: $tmess= "فرمت اطلاعات وارد شده صحيح نيست"; break; case 33: $tmess="حساب نامعتبر است"; break; case 34: $tmess= "خطاي سيستمي"; break; case 35: $tmess= "تاريخ نامعتبر است"; break; case 41: $tmess= "شماره درخواست تکراري است"; break; case 42: $tmess= "تراکنش Sale يافت نشد"; break; case 43: $tmess= "قبلا درخواست Verify داده شده است"; break; case 44: $tmess= "درخواست Verify يافت نشد"; break; case 45: $tmess= "تراکنش Settle شده است"; break; case 46: $tmess= "تراکنش Settle نشده است"; break; case 47: $tmess= "تراکنش Settle يافت نشد"; break; case 48: $tmess= "تراکنش Reverse شده است"; break; case 49: $tmess= "تراکنش Refund يافت نشد"; break; case 412: $tmess= "شناسه قبض نادرست است"; break; case 413: $tmess= "شناسه پرداخت نادرست است"; break; case 414: $tmess= "سازمان صادر کننده قبض معتبر نيست"; break; case 415: $tmess= "زمان جلسه کاري به پايان رسيده است"; break; case 416: $tmess= "خطا در ثبت اطلاعات"; break; case 417: $tmess= "شناسه پرداخت کننده نامعتبر است"; break; case 418: $tmess= "اشکال در تعريف اطلاعات مشتري"; break; case 419: $tmess= "تعداد دفعات ورود اطلاعات بيش از حد مجاز است"; break; case 421: $tmess= "IP معتبر نيست"; break; case 51: $tmess= "تراکنش تکراري است"; break; case 54: $tmess= "تراکنش مرجع موجود نيست"; break; case 55: $tmess= "تراکنش نامعتبر است"; break; case 61: $tmess= "خطا در واريز"; break; } return $tmess; } }
  4.  سلام ،‌ یه راهنمایی میخواستم از شما

    من یه پلاگین پرداخت بانک ملت برای  rsform نصب کردم که زمانی پرداخت با موفقیت انجام میشه متاسفانه شماره ارجاع بانک در سیستم ذخیره نمیشه که طبق عکس میخواستم داخل table جلوی گزینه payment ثبت بشه . لطفا راهنمایی کنید در این فایل کد نویسی شده php که برای شما ارسال میکنم چه تغییری انجام بدم . باتشکر

    table.zip

    1. pourdaryaei

      pourdaryaei

      سلام

      لطفا مشکلاتتون رو توی انجمن بنویسید.

      متاسفانه بنده آشنایی با RSForms و همینطور درگاه های پرداخت ندارم.

    2. ARisan

      ARisan

      اوکی ممنون

  5. با سلام از دوستان سوالی دارم که آیا راهی است تا موقع ثبت نام کاربر ، نام کاربری را محدود کنیم و فقط بگیم حتما باید نام کاربری (شامل عدد و حتما 11 رقم باشد ) مثل شماره موبایل ؟ چون رمز را میتوان محدود کرد در ادمین جوملا ولی نام کاربری را پیدا نمیکنم ، لطفا راهنمایی فرمایید . با تشکر
  6. من تمام فایل های فولدر CSS رو به حالت بک اپ در اوردم اما تغییری حاصل نشد
  7. سلام متاسفانه فایل بک آپ این فایلو را جایگزاری کردم ولی تغییری نکرد. میتونید از لینک زیر فایل رو ببینید : http://www.riboon.com/media/jui/css/chosen.css
  8. با سلام ، کش مرور گر خالی شد ولی درست نشد http://www.riboon.com/index.php?option=com_hikashop&ctrl=user&task=form در این لینک چون از منوی کرکره ای "نحوه آشنایی" استفاده شده در پایین از عرض صفحه طولانی شده و همچنین وقتی با وب ویندوز روی فیلدهای نحوه آشنایی کلیک میکنم صفحه به سمت چپ کشیده میشه حتی در لینک زیر هم که فیلد"انتخاب سایز " رو کلیک میکنم همین طور میشه http://www.riboon.com/index.php?option=com_hikashop&ctrl=product&task=show&cid=614&name=اسکیت-کافی-متغییر-تیغه-فلز-kafi-r21&Itemid=382
  9. با سلام خدمت دوستان بنده پس از آپدیت جوملا خود به 3.9.5 متوجه شدم که زمانی که در بخش های مختلف سایت "کاربر" فیلدهای کرکره ای موجود است صفحه از عرض بیشتر شده و قتی میخواهد یک فیلد را انتخاب کند ، به یکباره عرض سایت بیشتر شده و منو کرکره ای به یکبار به سمت چپ سایت هدایت شده و به قسمتی که سایت تماما سفید است منتقل میشود ولی است سایت که در قسمت راست است کنار میرود و احساس میکنم صفحه آرایی سایت بهم میخورد . البته این موضوع در هنگام استفاده سایت از طریق تلفن همراه صدق نمیکند. لازم به توضیح است بنده از جوملای خود از برنامه هیکاشاپ استفاده میکنم . لطفا راهنمایی کنید . متشکرم