} echo vmCommonHTML::scriptTag('', 'var ctThemeXPBase = "' . $js_src . '/ThemeXP/";'); if ($jscook_type == "tree") { if ($jscookTree_style == "ThemeXP") { $jscook_tree = "ctThemeXP1"; } if ($jscookTree_style == "ThemeNavy") { $jscook_tree = "ctThemeNavy"; } echo vmCommonHTML::scriptTag($js_src . '/JSCookTree.js'); echo vmCommonHTML::linkTag($js_src . "/{$jscookTree_style}/theme.css"); echo vmCommonHTML::scriptTag($js_src . "/{$jscookTree_style}/theme.js"); $vm_jscook = new vmCategoryTree(); } else { echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/JSCookMenu.js'); echo vmCommonHTML::linkTag($mosConfig_live_site . "/includes/js/{$jscookMenu_style}/theme.css"); echo vmCommonHTML::scriptTag($mosConfig_live_site . "/includes/js/{$jscookMenu_style}/theme.js"); $vm_jscook = new vmCategoryMenu(); } // create a unique tree identifier, in case multiple trees are used // (max one per module) $varname = "JSCook_" . uniqid($jscook_type . "_"); $menu_htmlcode = "<div align=\"left\" class=\"mainlevel\" id=\"div_{$varname}\"></div>\r\n<script type=\"text/javascript\"><!--\r\nvar {$varname} = \r\n[\r\n"; $vm_jscook->traverse_tree_down($menu_htmlcode); $menu_htmlcode .= "];\r\n"; if ($jscook_type == "tree") { $menu_htmlcode .= "var treeindex = ctDraw ('div_{$varname}', {$varname}, {$jscook_tree}, '{$jscookTree_style}', 0, 0);"; } else { $menu_htmlcode .= "cmDraw ('div_{$varname}', {$varname}, '{$menu_orientation}', cm{$jscookMenu_style}, '{$jscookMenu_style}');"; } $menu_htmlcode .= "\r\n--></script>\n";
$formObj->startForm(); $discount_id = vmGet($_REQUEST, 'discount_id', null); $option = empty($option) ? vmGet($_REQUEST, 'option', 'com_virtuemart') : $option; if (!empty($discount_id)) { $q = "SELECT * FROM #__{vm}_product_discount WHERE discount_id='{$discount_id}'"; $db->query($q); $db->next_record(); } echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/calendar/calendar.js'); if (class_exists('JConfig')) { // in Joomla 1.5, the name of calendar lang file is changed... echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/calendar/lang/calendar-en-GB.js'); } else { echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/calendar/lang/calendar-en.js'); } echo vmCommonHTML::linkTag($mosConfig_live_site . '/includes/js/calendar/calendar-mos.css'); ?> <table class="adminform"> <tr> <td colspan="2"> </td> </tr> <tr> <td width="24%"><div align="right"><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_DISCOUNT_AMOUNT'); ?> :</div></td> <td width="76%"> <input type="text" class="inputbox" name="amount" value="<?php $db->sp("amount");
/** * This allows us to print the user fields on * the various sections of the shop * * @param array $rowFields An array returned from ps_database::loadObjectlist * @param array $skipFields A one-dimensional array holding the names of fields that should NOT be displayed * @param ps_DB $db A ps_DB object holding ovalues for the fields * @param boolean $startform If true, print the starting <form...> tag */ function listUserFields($rowFields, $skipFields = array(), $db = null, $startForm = true) { global $mm_action_url, $ps_html, $VM_LANG, $my, $default, $mainframe, $vm_mainframe, $vendor_country_3_code, $mosConfig_live_site, $mosConfig_absolute_path, $page; $dbf = new ps_DB(); if ($db === null) { $db = new ps_DB(); } $default['country'] = $vendor_country_3_code; $missing = vmGet($_REQUEST, 'missing', ''); // collect all required fields $required_fields = array(); foreach ($rowFields as $field) { if ($field->required == 1) { $required_fields[$field->name] = $field->type; } $allfields[$field->name] = $field->name; } foreach ($skipFields as $skip) { unset($required_fields[$skip]); } // Form validation function if (!vmIsAdminMode()) { ps_userfield::printJS_formvalidation($required_fields, $rowFields); } else { echo vmCommonHTML::scriptTag('', 'function submitregistration() { return true }'); } if (file_exists($mosConfig_absolute_path . '/includes/js/mambojavascript.js')) { $vm_mainframe->addScript('includes/js/mambojavascript.js'); } if ($startForm) { echo '<form action="' . $mm_action_url . basename($_SERVER['PHP_SELF']) . '" method="post" name="adminForm">'; } echo ' <div style="width:90%;">'; if (!empty($required_fields)) { echo '<div style="padding:5px;text-align:center;"><strong>(* = ' . $VM_LANG->_('CMN_REQUIRED') . ')</strong></div>'; } $delimiter = 0; foreach ($rowFields as $field) { if (!isset($default[$field->name])) { $default[$field->name] = $field->default; } $readonly = $field->readonly ? ' readonly="readonly"' : ''; if (in_array($field->name, $skipFields)) { continue; } // Title handling. $key = $field->title; if ($key[0] == '_') { $key = substr($key, 1, strlen($key) - 1); } if ($VM_LANG->exists($key)) { $field->title = $VM_LANG->_($key); } if ($field->name == 'agreed') { $field->title = '<script type="text/javascript">//<![CDATA[ document.write(\'<label for="agreed_field">' . str_replace("'", "\\'", $VM_LANG->_('PHPSHOP_I_AGREE_TO_TOS')) . '</label><a href="javascript:void window.open(\\\'' . $mosConfig_live_site . '/index2.php?option=com_virtuemart&page=shop.tos&pop=1\\\', \\\'win2\\\', \\\'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no\\\');">\'); document.write(\' (' . $VM_LANG->_('PHPSHOP_STORE_FORM_TOS') . ')</a>\'); //]]></script> <noscript> <label for="agreed_field">' . $VM_LANG->_('PHPSHOP_I_AGREE_TO_TOS') . '</label> <a target="_blank" href="' . $mosConfig_live_site . '/index.php?option=com_virtuemart&page=shop.tos" title="' . $VM_LANG->_('PHPSHOP_I_AGREE_TO_TOS') . '"> (' . $VM_LANG->_('PHPSHOP_STORE_FORM_TOS') . ') </a></noscript>'; } if ($field->name == 'username' && VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION') { echo '<div class="formLabel"> <input type="checkbox" id="register_account" name="register_account" value="1" class="inputbox" onchange="showFields( this.checked, new Array(\'username\', \'password\', \'password2\') );if( this.checked ) { document.adminForm.remember.value=\'yes\'; } else { document.adminForm.remember.value=\'yes\'; }" checked="checked" /> </div> <div class="formField"> <label for="register_account">' . $VM_LANG->_('VM_REGISTER_ACCOUNT') . '</label> </div> '; } elseif ($field->name == 'username') { echo '<input type="hidden" id="register_account" name="register_account" value="1" />'; } // a delimiter marks the beginning of a new fieldset and // the end of a previous fieldset if ($field->type == 'delimiter') { if ($delimiter > 0) { echo "</fieldset>\n"; } if (VM_REGISTRATION_TYPE == 'SILENT_REGISTRATION' && $field->title == $VM_LANG->_('PHPSHOP_ORDER_PRINT_CUST_INFO_LBL') && $page == 'checkout.index') { continue; } echo '<fieldset> <legend class="sectiontableheader">' . $field->title . '</legend> '; $delimiter++; continue; } echo '<div id="' . $field->name . '_div" class="formLabel '; if (stristr($missing, $field->name)) { echo 'missing'; } echo '">'; echo '<label for="' . $field->name . '_field">' . $field->title . '</label>'; if (isset($required_fields[$field->name])) { echo '<strong>* </strong>'; } echo ' </div> <div class="formField" id="' . $field->name . '_input">' . "\n"; /** * This is the most important part of this file * Here we print the field & its contents! */ switch ($field->name) { case 'title': $ps_html->list_user_title($db->sf('title'), "id=\"title_field\""); break; case 'country': if (in_array('state', $allfields)) { $onchange = "onchange=\"changeStateList();\""; } else { $onchange = ""; } $ps_html->list_country("country", $db->sf('country'), "id=\"country_field\" {$onchange}"); break; case 'state': echo $ps_html->dynamic_state_lists("country", "state", $db->sf('country'), $db->sf('state')); echo "<noscript>\n"; $ps_html->list_states("state", $db->sf('state'), "", "id=\"state_field\""); echo "</noscript>\n"; break; case 'agreed': echo '<input type="checkbox" id="agreed_field" name="agreed" value="1" class="inputbox" />'; break; case 'password': case 'password2': echo '<input type="password" id="' . $field->name . '_field" name="' . $field->name . '" size="30" class="inputbox" />' . "\n"; break; default: switch ($field->type) { case 'date': echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/calendar/calendar.js'); if (vmIsJoomla('1.5', '>=')) { // in Joomla 1.5, the name of calendar lang file is changed... echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/calendar/lang/calendar-en-GB.js'); } else { echo vmCommonHTML::scriptTag($mosConfig_live_site . '/includes/js/calendar/lang/calendar-en.js'); } echo vmCommonHTML::linkTag($mosConfig_live_site . '/includes/js/calendar/calendar-mos.css'); $maxlength = $field->maxlength ? 'maxlength="' . $field->maxlength . '"' : ''; echo '<input type="text" id="' . $field->name . '_field" name="' . $field->name . '" size="' . $field->size . '" value="' . ($db->sf($field->name) ? $db->sf($field->name) : '') . '" class="inputbox" ' . $maxlength . $readonly . ' />' . "\n"; echo '<input name="reset" type="reset" class="button" onclick="return showCalendar(\'' . $field->name . '_field\', \'y-mm-dd\');" value="..." />'; break; case 'text': case 'emailaddress': case 'webaddress': case 'euvatid': $maxlength = $field->maxlength ? 'maxlength="' . $field->maxlength . '"' : ''; echo '<input type="text" id="' . $field->name . '_field" name="' . $field->name . '" size="' . $field->size . '" value="' . ($db->sf($field->name) ? $db->sf($field->name) : '') . '" class="inputbox" ' . $maxlength . $readonly . ' />' . "\n"; break; case 'textarea': echo '<textarea name="' . $field->name . '" id="' . $field->name . '_field" cols="' . $field->cols . '" rows="' . $field->rows . '" ' . $readonly . '>' . $db->sf($field->name) . '</textarea>'; break; case 'editorta': editorArea($field->name, $db->sf($field->name), $field->name, '300', '150', $field->cols, $field->rows); break; case 'checkbox': echo '<input type="checkbox" name="' . $field->name . '" id="' . $field->name . '_field" value="1" ' . ($db->sf($field->name) ? 'checked="checked"' : '') . '/>'; break; case 'age_verification': $year = vmRequest::getInt('birthday_selector_year', date('Y')); if ($db->f($field->name)) { $birthday = $db->f($field->name); $date_array = explode('-', $birthday); $year = $date_array[0]; $month = $date_array[1]; $day = $date_array[2]; } ps_html::list_days('birthday_selector_day', vmRequest::getInt('birthday_selector_day', @$day)); ps_html::list_month('birthday_selector_month', vmRequest::getInt('birthday_selector_month', @$month)); ps_html::list_year('birthday_selector_year', $year, $year - 100, $year); break; case 'captcha': if (file_exists($mosConfig_absolute_path . '/administrator/components/com_securityimages/client.php')) { include $mosConfig_absolute_path . '/administrator/components/com_securityimages/client.php'; // Note that this package name must be used on the validation side too! If both are not equal, validation will fail $packageName = 'securityVMRegistrationCheck'; echo insertSecurityImage($packageName); echo getSecurityImageText($packageName); } else { if (file_exists($mosConfig_absolute_path . '/plugins/system/securityimages.php')) { echo "<script type=\"text/javascript\" src=\"" . JURI::root() . "/components/com_securityimages/js/securityImages.js\"></script>"; echo "<img id='captchaSecurityImages' name='captchaSecurityImages' src=\"" . JURI::root() . "/index.php?option=com_securityimages&task=displayCaptcha\" />"; echo "<a href=\"javascript:askNewSecurityImages('captchaSecurityImages');\">"; echo "<img src=\"" . JURI::root() . "/components/com_securityimages/buttons/reload.gif\" id=\"securityImagesContactCaptchaReload\" name=\"securityImagesContactCaptchaReload\" border=\"0\">"; echo "</a>"; echo "<input type=\"text\" name=\"securityVMRegistrationCheck_try\" />"; } } break; // Begin of a fallthrough // Begin of a fallthrough case 'multicheckbox': case 'select': case 'multiselect': case 'radio': $k = $db->f($field->name); $dbf->setQuery("SELECT fieldtitle,fieldvalue FROM #__{vm}_userfield_values" . "\n WHERE fieldid = " . $field->fieldid . "\n ORDER BY ordering"); $Values = $dbf->loadObjectList(); $multi = ""; $rowFieldValues['lst_' . $field->name] = ''; if ($field->type == 'multiselect') { $multi = "multiple='multiple'"; } if (count($Values) > 0) { if ($field->type == 'radio') { $rowFieldValues['lst_' . $field->name] = vmCommonHTML::radioListTable($Values, $field->name, 'class="inputbox" size="1" ', 'fieldvalue', 'fieldtitle', $k, $field->cols, $field->rows, $field->size, $field->required); } else { $ks = explode("|*|", $k); $k = array(); foreach ($ks as $kv) { $k[]->fieldvalue = $kv; } if ($field->type == 'multicheckbox') { $rowFieldValues['lst_' . $field->name] = vmCommonHTML::checkboxListTable($Values, $field->name . "[]", 'class="inputbox" size="' . $field->size . '" ' . $multi, 'fieldvalue', 'fieldtitle', $k, $field->cols, $field->rows, $field->size, $field->required); } else { $rowFieldValues['lst_' . $field->name] = vmCommonHTML::selectList($Values, $field->name . "[]", 'class="inputbox" size="' . $field->size . '" ' . $multi, 'fieldvalue', 'fieldtitle', $k); } } } // no break! still a fallthrough echo $rowFieldValues['lst_' . $field->name]; break; } break; } if ($field->description != '') { echo vmToolTip($field->description); } echo '<br /></div> <br style="clear:both;" />'; } if ($delimiter > 0) { echo "</fieldset>\n"; } echo '</div>'; if (VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION') { echo '<script type="text/javascript"> function showFields( show, fields ) { if( fields ) { for (i=0; i<fields.length;i++) { if( show ) { document.getElementById( fields[i] + \'_div\' ).style.display = \'\'; document.getElementById( fields[i] + \'_input\' ).style.display = \'\'; } else { document.getElementById( fields[i] + \'_div\' ).style.display = \'none\'; document.getElementById( fields[i] + \'_input\' ).style.display = \'none\'; } } } } try { showFields( document.getElementById( \'register_account\').checked, new Array(\'username\', \'password\', \'password2\') ); } catch(e){} </script>'; } }
* VirtueMart is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details. * * http://virtuemart.net */ global $mainframe; // include the stylesheet for this template if (vmIsJoomla('1.0') && mosGetParam($_REQUEST, 'option') != VM_COMPONENT_NAME) { // This can only be a call from a module or mambot // In Joomla 1.0 it is not possible to add a JS or CSS into the HEAD from a module or content mambot, // using addcustomheadtag, that's why we just print the tags here echo vmCommonHTML::scriptTag(VM_THEMEURL . 'theme.js'); echo vmCommonHTML::linkTag(VM_THEMEURL . 'theme.css'); } else { $vm_mainframe->addStyleSheet(VM_THEMEURL . 'theme.css'); $vm_mainframe->addScript(VM_THEMEURL . 'theme.js'); } class vmTheme extends vmTemplate { function vmTheme() { parent::vmTemplate(); vmCommonHTML::loadMooTools(); } function vmBuildFullImageLink($product) { global $VM_LANG; $product_image = '';
/** * Adds a linked stylesheet to the page * * @param string $url URL to the linked style sheet * @param string $type Mime encoding type * @param string $media Media type that this stylesheet applies to * @access public */ function addStyleSheet($url, $type = 'text/css', $media = null, $attribs = array()) { if (vmIsJoomla('1.0') && (strstr($_SERVER['SCRIPT_NAME'], 'index3.php') || strstr($_SERVER['SCRIPT_NAME'], 'index2.php')) || !vmIsJoomla() && defined('_VM_IS_BACKEND')) { echo vmCommonHTML::linkTag($url, $type, 'stylesheet', $media); return; } if (isset($this->_styleSheets[$url])) { return; } $this->_styleSheets[$url]['url'] = $url; $this->_styleSheets[$url]['mime'] = $type; $this->_styleSheets[$url]['media'] = $media; $this->_styleSheets[$url]['attribs'] = $attribs; }