コード例 #1
0
ファイル: djcfBankTransfer.php プロジェクト: kidaa30/lojinha
 function process($id)
 {
     $db = JFactory::getDBO();
     $app = JFactory::getApplication();
     $Itemid = JRequest::getInt("Itemid", '0');
     $par = JComponentHelper::getParams('com_djclassifieds');
     $user = JFactory::getUser();
     $config = JFactory::getConfig();
     $ptype = JRequest::getVar('ptype');
     $type = JRequest::getVar('type', '');
     $row = JTable::getInstance('Payments', 'DJClassifiedsTable');
     if ($type == 'prom_top') {
         $query = "SELECT i.* FROM #__djcf_items i " . "WHERE i.id=" . $id . " LIMIT 1";
         $db->setQuery($query);
         $item = $db->loadObject();
         if (!isset($item)) {
             $message = JText::_('COM_DJCLASSIFIEDS_WRONG_AD');
             $redirect = "index.php?option=com_djclassifieds&view=items&cid=0";
         }
         $row->item_id = $id;
         $row->user_id = $user->id;
         $row->method = $ptype;
         $row->status = 'Start';
         $row->ip_address = $_SERVER['REMOTE_ADDR'];
         $row->price = $par->get('promotion_move_top_price', 0);
         $row->type = 2;
         $row->store();
         $amount = $par->get('promotion_move_top_price', 0);
         $itemname = $item->name;
         $item_id = $row->id;
         $item_cid = '&cid=' . $item->cat_id;
     } else {
         if ($type == 'points') {
             $query = "SELECT p.* FROM #__djcf_points p " . "WHERE p.id=" . $id . " LIMIT 1";
             $db->setQuery($query);
             $points = $db->loadObject();
             if (!isset($item)) {
                 $message = JText::_('COM_DJCLASSIFIEDS_WRONG_POINTS_PACKAGE');
                 $redirect = "index.php?option=com_djclassifieds&view=items&cid=0";
             }
             $row->item_id = $id;
             $row->user_id = $user->id;
             $row->method = $ptype;
             $row->status = 'Start';
             $row->ip_address = $_SERVER['REMOTE_ADDR'];
             $row->price = $points->price;
             $row->type = 1;
             $row->store();
             $amount = $points->price;
             $itemname = $points->name;
             $item_id = $row->id;
             $item_cid = '';
         } else {
             if ($type == 'plan') {
                 $query = "SELECT p.* FROM #__djcf_plans p " . "WHERE p.id=" . $id . " LIMIT 1";
                 $db->setQuery($query);
                 $plan = $db->loadObject();
                 if (!isset($plan)) {
                     $message = JText::_('COM_DJCLASSIFIEDS_SUBSCRIPTION_PLAN');
                     $redirect = "index.php?option=com_djclassifieds&view=plans";
                 }
                 $row->item_id = $id;
                 $row->user_id = $user->id;
                 $row->method = $ptype;
                 $row->status = 'Start';
                 $row->ip_address = $_SERVER['REMOTE_ADDR'];
                 $row->price = $plan->price;
                 $row->type = 3;
                 $row->store();
                 $amount = $plan->price;
                 $itemname = $plan->name;
                 $item_id = $row->id;
                 $item_cid = '';
             } else {
                 $query = "SELECT i.*, c.price as c_price, c.alias as c_alias FROM #__djcf_items i " . "LEFT JOIN #__djcf_categories c ON c.id=i.cat_id " . "WHERE i.id=" . $id . " LIMIT 1";
                 $db->setQuery($query);
                 $item = $db->loadObject();
                 if (!isset($item)) {
                     $message = JText::_('COM_DJCLASSIFIEDS_WRONG_AD');
                     $redirect = "index.php?option=com_djclassifieds&view=items&cid=0";
                 }
                 $amount = 0;
                 if (strstr($item->pay_type, 'cat')) {
                     $amount += $item->c_price / 100;
                 }
                 $query = "SELECT * FROM #__djcf_days d " . "WHERE d.days=" . $item->exp_days . " LIMIT 1";
                 $db->setQuery($query);
                 $day = $db->loadObject();
                 if (strstr($item->pay_type, 'duration_renew')) {
                     $amount += $day->price_renew;
                 } else {
                     if (strstr($item->pay_type, 'duration')) {
                         $amount += $day->price;
                     }
                 }
                 if (strstr($item->pay_type, 'extra_img_renew')) {
                     if ($day->img_price_default) {
                         $amount += $par->get('img_price_renew', '0') * $item->extra_images_to_pay;
                     } else {
                         $amount += $day->img_price_renew * $item->extra_images_to_pay;
                     }
                 } else {
                     if (strstr($item->pay_type, 'extra_img')) {
                         if ($day->img_price_default) {
                             $amount += $par->get('img_price', '0') * $item->extra_images_to_pay;
                         } else {
                             $amount += $day->img_price * $item->extra_images_to_pay;
                         }
                     }
                 }
                 if (strstr($item->pay_type, 'extra_chars_renew')) {
                     if ($day->char_price_default) {
                         $amount += $par->get('desc_char_price_renew', '0') * $item->extra_chars_to_pay;
                     } else {
                         $amount += $day->char_price_renew * $item->extra_chars_to_pay;
                     }
                 } else {
                     if (strstr($item->pay_type, 'extra_chars')) {
                         if ($day->char_price_default) {
                             $amount += $par->get('desc_char_price', '0') * $item->extra_chars_to_pay;
                         } else {
                             $amount += $day->char_price * $item->extra_chars_to_pay;
                         }
                     }
                 }
                 $query = "SELECT p.* FROM #__djcf_promotions p " . "WHERE p.published=1 ORDER BY p.id ";
                 $db->setQuery($query);
                 $promotions = $db->loadObjectList();
                 foreach ($promotions as $prom) {
                     if (strstr($item->pay_type, $prom->name)) {
                         $amount += $prom->price;
                     }
                 }
                 /*$query = 'DELETE FROM #__djcf_payments WHERE item_id= "'.$id.'" ';
                 		$db->setQuery($query);
                 		$db->query();
                 		
                 		
                 		$query = 'INSERT INTO #__djcf_payments ( item_id,user_id,method,  status)' .
                 				' VALUES ( "'.$id.'" ,"'.$user->id.'","'.$ptype.'" ,"Start" )'
                 				;
                 		$db->setQuery($query);
                 		$db->query();*/
                 $row->item_id = $id;
                 $row->user_id = $user->id;
                 $row->method = $ptype;
                 $row->status = 'Start';
                 $row->ip_address = $_SERVER['REMOTE_ADDR'];
                 $row->price = $amount;
                 $row->type = 0;
                 $row->store();
                 $itemname = $item->name;
                 $item_id = $row->id;
                 $item_cid = '&cid=' . $item->cat_id;
                 $item_slug = $item->id . ':' . $item->alias;
                 $cat_slug = $item->cat_id . ':' . $item->c_alias;
             }
         }
     }
     /*
     		$query ="SELECT i.*, c.price as c_price, c.alias as c_alias FROM #__djcf_items i "
        ."LEFT JOIN #__djcf_categories c ON c.id=i.cat_id "
        ."WHERE i.id=".$id." LIMIT 1";
     		$db->setQuery($query);
     		$item = $db->loadObject();
     		if(!isset($item)){
     $message = JText::_('COM_DJCLASSIFIEDS_WRONG_AD');
     $redirect="index.php?option=com_djclassifieds&view=items&cid=0";
     		}
     		
     $query = 'DELETE FROM #__djcf_payments WHERE item_id= "'.$id.'" ';
     $db->setQuery($query);
     $db->query();
     
     
     $query = 'INSERT INTO #__djcf_payments ( item_id,user_id,method,  status)' .
     		' VALUES ( "'.$id.'" ,"'.$user->id.'","'.$ptype.'" ,"Start" )'
     		;
     $db->setQuery($query);
     $db->query();
     
     		
     		$amount = 0;
     
     if(strstr($item->pay_type, 'cat')){			
     	$amount += $item->c_price/100; 
     }
     if(strstr($item->pay_type, 'duration_renew')){			
     	$query = "SELECT d.price_renew FROM #__djcf_days d "
     	."WHERE d.days=".$item->exp_days;
     	$db->setQuery($query);
     	$amount += $db->loadResult();
     }else if(strstr($item->pay_type, 'duration')){			
     	$query = "SELECT d.price FROM #__djcf_days d "
     	."WHERE d.days=".$item->exp_days;
     	$db->setQuery($query);
     	$amount += $db->loadResult();
     }
     
     $query = "SELECT p.* FROM #__djcf_promotions p "
     	."WHERE p.published=1 ORDER BY p.id ";
     $db->setQuery($query);
     $promotions=$db->loadObjectList();
     foreach($promotions as $prom){
     	if(strstr($item->pay_type, $prom->name)){	
     		$amount += $prom->price; 
     	}	
     }	
     */
     if ($user->id) {
         /*$mailto = $user->email;			
         				$mailfrom = $app->getCfg( 'mailfrom' );			    
         				$fromname=$config->get('config.sitename').' - '.str_ireplace('administrator/', '', JURI::base());
         	
         				$subject = JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_INFRORMATIONS').' '.$config->get('config.sitename');
         				$m_message = JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_INFRORMATIONS').' '.$config->get('config.sitename')."<br /><br />";
         				
         				if($type=='points'){
         					$m_message .= JText::_('PLG_DJCFBANKTRANSFER_POINTS_PACKAGE').': '.$itemname."<br /><br />";
         				}else{
         					$m_message .= JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_AD_NAME').': '.$itemname."<br /><br />";	
         				}
         				
         				$m_message .= JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_PRICE_TO_PAY').': '.$amount.' '.$par->get('unit_price','')."<br /><br />";
         				$m_message .= JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_PAY_INFORMATION').': <br /><br />'.JHTML::_('content.prepare',nl2br($this->params["pay_info"]))."<br /><br />";
         				
         				if($type==''){
         					$u = JURI::getInstance( JURI::base() );
         					$link=  $u->getHost().JRoute::_(DJClassifiedsSEO::getItemRoute($item_slug,$cat_slug));						
         					$m_message .=JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_AD_LINK').': <a href="'.$link.'">'.$link.'</a><br /><br />';
         					$m_message .=JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_AD_ID').': '.$id.'<br /><br />';				
         				}
         				$m_message .=JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_ID').': '.$item_id;
         				
         				$mailer = JFactory::getMailer();
         				$mailer->sendMail($mailfrom, $fromname, $mailto, $subject, $m_message,$mode=1);*/
         $payment_info = array();
         $payment_info['id'] = $item_id;
         $payment_info['itemname'] = $itemname;
         $payment_info['amount'] = DJClassifiedsTheme::priceFormat($amount, $par->get('unit_price', ''));
         $payment_info['info'] = $this->params["pay_info"];
         DJClassifiedsNotify::notifyUserPayment($type, $id, $payment_info);
     }
     echo '<div id="dj-classifieds" class="clearfix">';
     echo '<table width="98%" cellspacing="0" cellpadding="0" border="0" class="paymentdetails first">';
     echo '<tr><td class="td_title"><h2>' . $this->params["payment_method"] . '</h2></td></tr>';
     echo '<tr><td class="td_pdetails">';
     echo '<div class="pd_row">';
     if ($type == 'points') {
         echo '<span class="djcfpay_label">' . JText::_('PLG_DJCFBANKTRANSFER_POINTS_PACKAGE') . ':</span>';
     } else {
         echo '<span class="djcfpay_label">' . JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_AD_NAME') . ':</span>';
     }
     echo '<span class="djcfpay_value">' . $itemname . '</span>';
     echo '</div>';
     echo '<div class="pd_row">';
     echo '<span class="djcfpay_label">' . JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_PRICE_TO_PAY') . ':</span>';
     echo '<span class="djcfpay_value">' . $amount . ' ' . $par->get('unit_price', '') . '</span>';
     echo '</div>';
     echo '<div class="pd_row">';
     if ($type == 'points') {
         echo '<span class="djcfpay_label">' . JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_POINTS_ID') . ':</span>';
     } else {
         echo '<span class="djcfpay_label">' . JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_AD_ID') . ':</span>';
     }
     echo '<span class="djcfpay_value">' . $id . '</span>';
     echo '</div>';
     echo '<div class="pd_row">';
     echo '<span class="djcfpay_label">' . JText::_('PLG_DJCFBANKTRANSFER_PAYMENT_PAY_INFORMATION') . ': </span><br /><br />';
     echo '<span class="djcfpay_value">' . JHTML::_('content.prepare', nl2br($this->params["pay_info"])) . '</span>';
     echo '</div>';
     echo '</td></tr>';
     echo '</table>';
     echo '</div>';
 }