Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Missing argument 1 for javascript_validation() in /catalog/includes/classes/payment.php


mreigle

Recommended Posts

Posted

Help! My customers can't check out. I'm installing the credit class / gift voucher contribution, and it's big. I've weeded through all the problems I can, but I'm getting this error:

 

Warning: Missing argument 1 for javascript_validation() in /home/precious/public_html/includes/classes/payment.php on line 84

 

 

I'm not sure why it says that the argument is missing. Here's my payment.php

<?php
/*
 $Id: payment.php,v 1.37.3 2004/01/01 22:26:32 Strider Exp $
 $Id: payment.php,v 1.37 2003/06/09 22:26:32 hpdl Exp $
 $Id: payment.php,v 1.3.2.1 2003/05/03 23:41:23 wilt Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 class payment {
var $modules, $selected_module;

// class constructor
function payment($module = '') {
  global $payment, $language, $PHP_SELF;

  if (defined('MODULE_PAYMENT_INSTALLED') && tep_not_null(MODULE_PAYMENT_INSTALLED)) {
	$this->modules = explode(';', MODULE_PAYMENT_INSTALLED);

	$include_modules = array();

	if ( (tep_not_null($module)) && (in_array($module . '.' . substr($PHP_SELF, (strrpos($PHP_SELF, '.')+1)), $this->modules)) ) {
	  $this->selected_module = $module;

	  $include_modules[] = array('class' => $module, 'file' => $module . '.php');
	} else {
	  reset($this->modules);
	  while (list(, $value) = each($this->modules)) {
		$class = substr($value, 0, strrpos($value, '.'));
		$include_modules[] = array('class' => $class, 'file' => $value);
	  }
	}

	for ($i=0, $n=sizeof($include_modules); $i<$n; $i++) {
	  include(DIR_WS_LANGUAGES . $language . '/modules/payment/' . $include_modules[$i]['file']);
	  include(DIR_WS_MODULES . 'payment/' . $include_modules[$i]['file']);

	  $GLOBALS[$include_modules[$i]['class']] = new $include_modules[$i]['class'];
	}

// if there is only one payment method, select it as default because in
// checkout_confirmation.php the $payment variable is being assigned the
// $HTTP_POST_VARS['payment'] value which will be empty (no radio button selection possible)
	if ( (tep_count_payment_modules() == 1) && (!isset($GLOBALS[$payment]) || (isset($GLOBALS[$payment]) && !is_object($GLOBALS[$payment]))) ) {
	  $payment = $include_modules[0]['class'];
	}

	if ( (tep_not_null($module)) && (in_array($module, $this->modules)) && (isset($GLOBALS[$module]->form_action_url)) ) {
	  $this->form_action_url = $GLOBALS[$module]->form_action_url;
	}
  }
}

// class methods
/* The following method is needed in the checkout_confirmation.php page
  due to a chicken and egg problem with the payment class and order class.
  The payment modules needs the order destination data for the dynamic status
  feature, and the order class needs the payment module title.
  The following method is a work-around to implementing the method in all
  payment modules available which would break the modules in the contributions
  section. This should be looked into again post 2.2.
*/
function update_status() {
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module])) {
	  if (function_exists('method_exists')) {
		if (method_exists($GLOBALS[$this->selected_module], 'update_status')) {
		  $GLOBALS[$this->selected_module]->update_status();
		}
	  } else { // PHP3 compatibility
		   @call_user_method('update_status', $GLOBALS[$this->selected_module]);
	  }
	}
  }
}

// #################### Begin Added CGV JONYO ######################
//	function javascript_validation() {
 function javascript_validation($coversAll) {
//added the $coversAll to be able to pass whether or not the voucher will cover the whole
//price or not.  If it does, then let checkout proceed when just it is passed.
  $js = '';
  if (is_array($this->modules)) {
if ($coversAll) {
  $addThis='if (document.checkout_payment.cot_gv.checked) {
  payment_value=cot_gv;  alert (\'hey yo\');
  } else ';
  } else {
$addThis='';
  }
	$js = '<script language="javascript"><!-- ' . "\n" .
		  'function check_form() {' . "\n" .
		  '  var error = 0;' . "\n" .
		  '  var error_message = "' . JS_ERROR . '";' . "\n" .
		  '  var payment_value = null;' . "\n" .$addThis . //added by jonyo, yo
		  '  if (document.checkout_payment.payment.length) {' . "\n" .
		  '	for (var i=0; i<document.checkout_payment.payment.length; i++) {' . "\n" .
		  '	  if (document.checkout_payment.payment[i].checked) {' . "\n" .
		  '		payment_value = document.checkout_payment.payment[i].value;' . "\n" .
		  '	  }' . "\n" .
		  '	}' . "\n" .
		  '  } else if (document.checkout_payment.payment.checked) {' . "\n" .
		  '	payment_value = document.checkout_payment.payment.value;' . "\n" .
		  '  } else if (document.checkout_payment.payment.value) {' . "\n" .
		  '	payment_value = document.checkout_payment.payment.value;' . "\n" .
		  '  }' . "\n\n";

	reset($this->modules);
	while (list(, $value) = each($this->modules)) {
	  $class = substr($value, 0, strrpos($value, '.'));
	  if ($GLOBALS[$class]->enabled) {
		$js .= $GLOBALS[$class]->javascript_validation();
	  }
	}

// ############ Added CCGV Contribution ##########
//		$js .= "\n" . '  if (payment_value == null) {' . "\n" .
	$js .= "\n" . '  if (payment_value == null && submitter != 1) {' . "\n" . // CCGV Contribution
// ############ End Added CCGV Contribution ##########
		   '	error_message = error_message + "' . JS_ERROR_NO_PAYMENT_MODULE_SELECTED . '";' . "\n" .
		   '	error = 1;' . "\n" .
		   '  }' . "\n\n" .
// ############ Added CCGV Contribution ##########
//  ICW CREDIT CLASS Gift Voucher System Line below amended
//			   '  if (error == 1) {' . "\n" .
		   '  if (error == 1 && submitter != 1) {' . "\n" .
// ############ End Added CCGV Contribution ##########
		   '	alert(error_message);' . "\n" .
		   '	return false;' . "\n" .
		   '  } else {' . "\n" .
		   '	return true;' . "\n" .
		   '  }' . "\n" .
		   '}' . "\n" .
		   '//--></script>' . "\n";
  }

  return $js;
}
// #################### End Added CGV JONYO ######################

function selection() {

  $selection_array = array();

  if (is_array($this->modules)) {
	reset($this->modules);
	while (list(, $value) = each($this->modules)) {
	  $class = substr($value, 0, strrpos($value, '.'));
	  if ($GLOBALS[$class]->enabled) {
		$selection = $GLOBALS[$class]->selection();
		if (is_array($selection)) $selection_array[] = $selection;
	  }
	}
  }

  return $selection_array;
}
// ############ Added CCGV Contribution ##########
// check credit covers was setup to test whether credit covers is set in other parts of the code
function check_credit_covers() {
global $credit_covers;

return $credit_covers;
}
// ############ End Added CCGV Contribution ##########
function pre_confirmation_check() {
// ############ Added CCGV Contribution ##########
  global $credit_covers, $payment_modules; 
// ############ End Added CCGV Contribution ##########
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module]) && ($GLOBALS[$this->selected_module]->enabled) ) {
// ############ Added CCGV Contribution ##########
	  if ($credit_covers) { //  ICW CREDIT CLASS Gift Voucher System
		$GLOBALS[$this->selected_module]->enabled = false; //ICW CREDIT CLASS Gift Voucher System
		$GLOBALS[$this->selected_module] = NULL; //ICW CREDIT CLASS Gift Voucher System
		$payment_modules = ''; //ICW CREDIT CLASS Gift Voucher System
	  } else { //ICW CREDIT CLASS Gift Voucher System
// ############ End Added CCGV Contribution ##########
	  $GLOBALS[$this->selected_module]->pre_confirmation_check();
// ############ Added CCGV Contribution ##########
	  }
// ############ End Added CCGV Contribution ##########
	}
  }
}

function confirmation() {
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module]) && ($GLOBALS[$this->selected_module]->enabled) ) {
	  return $GLOBALS[$this->selected_module]->confirmation();
	}
  }
}

function process_button() {
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module]) && ($GLOBALS[$this->selected_module]->enabled) ) {
	  return $GLOBALS[$this->selected_module]->process_button();
	}
  }
}

function before_process() {
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module]) && ($GLOBALS[$this->selected_module]->enabled) ) {
	  return $GLOBALS[$this->selected_module]->before_process();
	}
  }
}

function after_process() {
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module]) && ($GLOBALS[$this->selected_module]->enabled) ) {
	  return $GLOBALS[$this->selected_module]->after_process();
	}
  }
}

function get_error() {
  if (is_array($this->modules)) {
	if (is_object($GLOBALS[$this->selected_module]) && ($GLOBALS[$this->selected_module]->enabled) ) {
	  return $GLOBALS[$this->selected_module]->get_error();
	}
  }
}
 }
?>

Posted

The problem is in the file that is calling the class - what page are you viewing when the error occurs? - look for installation errors there :)

 

Matti

  • 7 months later...
Posted

hello

i have the same problem wuth the payment module:

 

Warning: Missing argument 1 for javascript_validation() in /mounted-storage/home17a/sub002/sc19012-MBZA/www/catalog/includes/classes/payment.php on line 98

 

at thei line a have:

 

// #################### Begin Added CGV JONYO ######################

// function javascript_validation() { <--- line 98

function javascript_validation($coversAll) {

//added the $coversAll to be able to pass whether or not the voucher will cover the whole

//price or not. If it does, then let checkout proceed when just it is passed.

$js = '';

if (is_array($this->modules)) {

if ($coversAll) {

$addThis='if (document.checkout_payment.cot_gv.checked) {

payment_value=cot_gv; alert (\'hey yo\');

} else ';

} else {

$addThis='';

}

// #################### End Added CGV JONYO ######################

 

this message come just before i woul'd like to confirm a payement at the page payement information.

 

please help me, and please i'm frech .

 

thank

Posted

hi agian

 

i just check some file like checkout-payment and i see tha some line are missing.

 

just check all file from CCGV contribution.

thx

 

angel

  • 5 years later...
Posted

Hello All

 

 

I used CCGV Credit Class Gift Voucher 6.0 for 2.3.1 v10.3 on my 2.3.1 Oscommerce shopping store. the error is

 

Warning: Missing argument 1 for payment::javascript_validation(), called in D:\www\my_store\checkout_payment.php on line 200 and defined inD:\www\my_store\includes\classes\payment.php on line 84

 

any one Help me about this problem

 

 

 

Thanks in Advance.

Faisal Mughal.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...