source: qesdi/joomla/trunk/components/com_caddy/caddy.html.php @ 5802

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/joomla/trunk/components/com_caddy/caddy.html.php@5802
Revision 5802, 9.9 KB checked in by pnorton, 10 years ago (diff)

Installed the simple caddy, custom properties and form 2 content lite extensions. I've modified the simple caddy extension so that it is more suitable for qesdi use.

Line 
1<?php
2/**
3* @package SimpleCaddy for Joomla 1.5
4* @copyright Copyright (C) 2006-2007 Henk von Pickartz. All rights reserved.
5* @version 1.7
6* GNU/GPL license
7*/
8
9// no direct access
10defined( '_JEXEC' ) or die( 'Restricted access' );
11
12class display {
13        function showCheckout($cart, $pretext=null, $posttext=null) {
14//              echo JText::_('SC_ARTICLES_IN_CART');
15                echo $pretext->introtext;
16                display::showCart($cart, true);
17                echo $posttext->introtext;
18        }
19
20
21        function showCart($cart, $romode=null) { // $romode = readonly mode when checking out
22
23jimport('joomla.error.log');
24$log = &JLog::getInstance();
25
26        global $mainframe;
27        $debug=0;
28        $mainframe->addCustomHeadTag('<link rel="stylesheet" href="components/com_caddy/css/simplecaddy.css" type="text/css" />');
29        $showhidden="hidden";
30        if ($debug==1) $showhidden="text";
31        $line=__LINE__;
32                $cfg=new sc_configuration();
33                $tsep=$cfg->get('thousand_sep');
34                $dsep=$cfg->get('decimal_sep');
35                $decs=$cfg->get('decimals');
36                $currency=$cfg->get('currency');
37                $curralign=$cfg->get('curralign');
38                $showremove=$cfg->get('remove_button');
39                $show_emptycart=$cfg->get('show_emptycart');
40                $currency=$cfg->get('currency');
41                $currleftalign=$cfg->get('curralign');
42                $stdprodcode=$cfg->get("cart_fee_product");
43                $cfp=$cfg->get ("taxrate");
44                $cfp=str_replace("%", "", $cfp);
45                if ($cfp>1) {
46                        $cfp=$cfp/100;
47                }
48                $taxrate=$cfp;
49
50                $gtotal=0;
51                $html = "\n<div class='sc_cart'>";
52                //$html .= "\n<div class='cartheading'>\n<div class='code_col'>".JText::_('SC_CODE')."</div>\n<div class='desc_col'>".JText::_('SC_DESCRIPTION')."</div>\n<div class='price_col'>".JText::_('SC_PRICE_PER_UNIT')."</div>\n<div class='qty_col'>".JText::_('SC_QUANTITY')."</div>\n<div class='total_col'>".JText::_('SC_TOTAL')."</div>\n<div class='actions_col'>&nbsp;</div></div>";
53                $html .= "\n<div class='cartheading'>\n<div class='code_col'>".JText::_('SC_CODE')."</div>\n<div class='desc_col'>".JText::_('SC_DESCRIPTION')."</div>\n<div class='actions_col'>&nbsp;</div></div>";
54                $emptycart=true;
55                if (!is_array($cart)) $cart=array();
56
57                $joined_codes = "";
58
59                foreach ($cart as $key=>$cartproduct) {
60                        $formname=uniqid("Z");
61
62                        $html2 = "<form name='$formname' method='post'>";
63                        $html2 .= "\n<div class='code_col'>$cartproduct->prodcode</div>";
64                        $html2 .= "\n<div class='desc_col'>".urldecode($cartproduct->prodname)." - ".urldecode($cartproduct->option)."</div>";
65
66                        $joined_codes = $joined_codes . $cartproduct->prodcode . ",";
67
68$log->addEntry(array('level' => 'Debug', 'comment' => '\$cartproduct->prodcode ' . $cartproduct->prodcode));
69
70                        /* Hide the price, quantity and total cost per item
71                        $pu = number_format($cartproduct->finalprice, $decs, $dsep, $tsep);
72                        if ($currleftalign==1) {
73                                $html2 .= "\n<div class='price_col'>$currency&nbsp;".$pu."</div>";
74                        }
75                        else
76                        {
77                                $html2 .= "\n<div class='price_col'>$pu&nbsp;$currency</div>";
78                        }
79
80                        $html2 .= "\n<div class='qty_col'>";
81                        if ((!$romode) and ($cartproduct->prodcode!=$stdprodcode)) {
82                                $html2 .=  "\n<input type='text' name='edtqty' size='1' value='".$cartproduct->quantity."' class='inputbox'>";
83                        }
84                        else
85                        {
86                                $html2 .=  $cartproduct->quantity;
87                        }
88                        $html2 .= "</div>";
89                        $html2 .= "\n<div class='total_col'>";
90
91                        $total=$cartproduct->quantity*$cartproduct->finalprice;
92                        $nombre_format = number_format($total, $decs, $dsep, $tsep);
93                        $gtotal= $gtotal + $total;
94                        if ($currleftalign==1) {
95                                $html2 .= "$currency&nbsp;".$nombre_format;
96                        }
97                        else
98                        {
99                                $html2 .= $nombre_format."&nbsp;$currency";
100                        }
101                        */
102
103                        // Because the remove item sets the quantity to 0, the edtqty control still needs to appear on the form, keeping it hidden
104                        $html2 .=  "\n<input type='hidden' name='edtqty' size='1' value='".$cartproduct->quantity."' class='inputbox'>";
105
106
107                        $html2 .="\n<input type='$showhidden' name='id' value='$cartproduct->id'>";
108
109
110
111
112                        $html2 .= "</div>\n<div class='actions_col'>";
113
114                        /* Hide the Change control
115                        if ((!$romode) and ($cartproduct->prodcode!=$stdprodcode)) {
116                                $html2 .= "\n<input type='button' name='btnsubmit' value='".JText::_('SC_CHANGE')."' class='btnchange' onclick='document.$formname.submit()'>";
117                        }
118                        else
119                        {
120                                $html2 .= "&nbsp;";
121                        }
122                        */
123
124                        if ($showremove==1 AND !$romode and ($cartproduct->prodcode!=$stdprodcode)) {
125                                $html2 .= "\n<input type='button' name='btnremove' value='".JText::_('SC_REMOVE')."' class='btnremove' onclick='javascript:document.$formname.edtqty.value=0;javascript:document.$formname.submit()'>";
126                        }
127                        $html2 .= "\n<input type='hidden' name='option' value='com_caddy'>";
128                        $html2 .= "\n<input type='hidden' name='action' value='changeqty'>";
129                        $html2 .= "\n<input type='hidden' name='edtprodcode' value='".$cartproduct->prodcode."'>";
130                        $html2 .= "\n<input type='hidden' name='edtunitprice' value='".$cartproduct->unitprice."'>";
131                        $html2 .= "\n<input type='hidden' name='edtshorttext' value='".$cartproduct->prodname."'>";
132                        $html2 .= "\n<input type='hidden' name='edtoption' value='".$cartproduct->option."'>";
133                        $html2 .= "</form>";
134                        $html2 .= "</div>";
135                        if ($cartproduct->quantity) {
136                                $html .= $html2; // only add to display when qty != zero !
137                                $emptycart=false;
138                        }
139                }
140                if ($taxrate>0) {
141                        $html .= "\n<div class='fill_col'>";
142                        $html .= "<div class='fill_left'>".JText::_('SC_SUBTOTAL')."</div>";
143                }
144
145                if ($taxrate>0) {
146                                if ($currleftalign==1) {
147                                        $html .= "\n<div class='right_col'>$currency&nbsp;".number_format($gtotal, $decs, $dsep, $tsep)."</div>";
148                                }
149                                else
150                                {
151                                        $html .= "\n<div class='right_col'>".number_format($gtotal, $decs, $dsep, $tsep)."&nbsp;$currency</div>";
152                                }
153                $html .= "</div>";
154
155                                $html .= "\n<div class='fill_col'>";
156                                $html .= "<div class='fill_left'>".JText::_('SC_TAX')."</div>";
157                                if ($currleftalign==1) {
158                                        $html .= "\n<div class='right_col'>$currency&nbsp;".number_format($gtotal*$taxrate, $decs, $dsep, $tsep)."</div>";
159                                }
160                                else
161                                {
162                                        $html .= "\n<div class='right_col'>".number_format($gtotal*$taxrate, $decs, $dsep, $tsep)."&nbsp;$currency</div>";
163                                }
164                $html .= "</div>";
165                }
166
167                /* Hide the Total cost bit
168                $html .= "<div class='fill_col'>";
169                $html .= "<div class='fill_left'>".JText::_('SC_TOTAL')."</div>";
170                if ($currleftalign==1) {
171                        $html .= "\n<div class='right_col'>$currency&nbsp;".number_format($gtotal+$gtotal*$taxrate, $decs, $dsep, $tsep)."</div>";
172                }
173                else
174                {
175                        $html .= "\n<div class='right_col'>".number_format($gtotal+$gtotal*$taxrate, $decs, $dsep, $tsep)."&nbsp;$currency</div>";
176                }
177                $html .= "</div>";
178                */
179
180                $html .= "<form name='checkout' method='post'>";
181                $html .= "\n<div class='cartactions'>";
182                if (!$romode) {
183                        $html .= "\n<input class='btncshopping' type='button' value='".JText::_('SC_CONTINUE_SHOPPING')."' onclick='window.history.go(-1)'>";
184                }
185                else
186                {
187                        $html .= "&nbsp;";
188                }
189
190                $html .= "\n<input type='hidden' name='option' value='com_caddy'>";
191                if ($show_emptycart==1) {
192                        $html .= "\n<input type='button' name='btnemptycart' value='".JText::_('SC_EMPTY_CART')."' class='btnemptycart' onclick='javascript:document.checkout.action.value=\"emptycart\";javascript:document.checkout.submit()'>";
193                }
194
195                // change the checkout button to Visualise
196                $joined_codes = rtrim($joined_codes, ",");
197                $base_url = JURI::base();
198                $target_url = $base_url . "index.php/data-visualisation?ENDPOINT=" . $joined_codes;
199                $html .= "\n<input class='btnconfirm' type='button' value='". 'Visualise' ."' onclick='javascript:window.location.href = \"" . $target_url . "\";'>";
200                $html .= "\n<input type='hidden' name='action' value=''>";
201
202                /* the old input buttons
203                if (!$romode) {
204                        $html .= "\n<input type='hidden' name='action' value='checkout'>";
205                        $html .= "\n<input class='btnorder' type='button' value='".JText::_('SC_ORDER')."' onclick='javascript:document.checkout.submit()'>";
206                }
207                else
208                {
209                        $html .= "\n<input type='hidden' name='action' value='confirm'>";
210                        $html .= "\n<input class='btnconfirm' type='submit' value='".JText::_('SC_CONFIRM')."' onclick='javascript:document.checkout.submit()'>";
211                }
212                */
213
214                $html .="</div>";
215                $html .= "</form>";
216                if ($emptycart) {
217                        $html=JText::_('SC_CART_EMPTY');
218                }
219                $html .= "</div>";
220                echo $html;
221                if ($debug==1) echo $line;
222        }
223
224
225        function showMyDetails($formfields, $errormessage=null, $fielddata=array()) {
226        $line=__LINE__;
227                ?>
228                <form name="frmdetails" method="post">
229                <table width="100%" border="0">
230                <?php
231                if ($errormessage) {
232                        echo "<tr><td colspan='2'><div class='errormsg'>$errormessage</div></td></tr>";
233                }
234                $n=count($formfields);
235                $first=true;
236//              echo "<tr><td>&nbsp;</td><td rowspan='$n'>text</td></tr>";
237                foreach ($formfields as $field) {
238                        echo "<tr>";
239                        echo "<td>";
240                        echo $field->caption;
241                        echo "</td>";
242                        echo "<td>";
243                        switch($field->type) {
244                                case "text":
245                                        echo "<input type='text' name='$field->name' size='$field->length' class='$field->classname' value='". @$fielddata["$field->name"]."'>";
246                                        break;
247                                case "textarea":
248                                        echo "<textarea name='$field->name' class='$field->classname'>". @$fielddata["$field->name"]."</textarea>";
249                                        break;
250                                case "radio":
251                                        break;
252                        }
253                        echo $field->required ? "<span class='reqfield'>".JText::_('SC_REQUIRED')."</span>" : "";
254                        echo "";
255                        echo "</td>";
256                        if ($first) {
257                                echo "<td rowspan='$n'><div class='checkoutright'>&nbsp;</div></td>";
258                                $first=false;
259                        }
260                        echo "</tr>";
261                }
262                ?>
263
264                <tr>
265                <td>&nbsp;
266                </td>
267                <td>
268                <input class="button" type="submit" name="submit" value="<?php echo JText::_('SC_CONFIRM');?>">
269                </td>
270                <td>&nbsp;
271                </td>
272                </tr>
273
274                </table>
275                <input type="hidden" name="option" value="com_caddy">
276                <input type="hidden" name="action" value="allconfirm">
277                </form>
278        <?php
279        if (defined("debug")) echo $line;
280        }
281
282        function ThanksForOrder() {
283                $line=__LINE__;
284                echo  JText::_('SC_THANKYOU');
285                if (defined("debug")) echo $line;
286        }
287
288
289}
290?>
Note: See TracBrowser for help on using the repository browser.