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

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

Added a link to the dataset page for each of the datasets shown in the cart. Also changed the cart from being divs to being a table.

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 = "";
52                //$html = "\n<div class='sc_cart'>";
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='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>";
54                //$html .= "\n<div class='cartheading'>\n<div class='code_col'>Endpoint</div>\n<div class='desc_col'>".JText::_('SC_DESCRIPTION')."</div>\n<div class='actions_col'>&nbsp;</div></div>";
55
56                $emptycart=true;
57                if (!is_array($cart)) $cart=array();
58
59                $joined_codes = "";
60
61                $html = "<table>";
62                $html .= "\n<tr>\n<th>Endpoint</th>\n<th>".JText::_('SC_DESCRIPTION')."</th>\n<th>&nbsp;</th></tr>";
63                                       
64                foreach ($cart as $key=>$cartproduct) {
65                        $formname=uniqid("Z");
66                        $html2 = "<form name='$formname' method='post'>";
67
68                        $html2 .= "<tr>";
69                        $html2 .= "\n<td>$cartproduct->prodcode</td>";
70                        $html2 .= "\n<td><a href=\"". $cartproduct->link . "\">". urldecode($cartproduct->prodname)."</a></td>";
71
72
73//                      $html2 = "<form name='$formname' method='post'>";
74//                      $html2 .= "\n<div class='code_col'>$cartproduct->prodcode</div>";
75//                      $html2 .= "\n<div class='desc_col'>".urldecode($cartproduct->prodname)." - ".urldecode($cartproduct->option)."</div>";
76
77                        $joined_codes = $joined_codes . $cartproduct->prodcode . ",";
78
79$log->addEntry(array('level' => 'Debug', 'comment' => '\$cartproduct->prodcode ' . $cartproduct->prodcode));
80
81                        /* Hide the price, quantity and total cost per item
82                        $pu = number_format($cartproduct->finalprice, $decs, $dsep, $tsep);
83                        if ($currleftalign==1) {
84                                $html2 .= "\n<div class='price_col'>$currency&nbsp;".$pu."</div>";
85                        }
86                        else
87                        {
88                                $html2 .= "\n<div class='price_col'>$pu&nbsp;$currency</div>";
89                        }
90
91                        $html2 .= "\n<div class='qty_col'>";
92                        if ((!$romode) and ($cartproduct->prodcode!=$stdprodcode)) {
93                                $html2 .=  "\n<input type='text' name='edtqty' size='1' value='".$cartproduct->quantity."' class='inputbox'>";
94                        }
95                        else
96                        {
97                                $html2 .=  $cartproduct->quantity;
98                        }
99                        $html2 .= "</div>";
100                        $html2 .= "\n<div class='total_col'>";
101
102                        $total=$cartproduct->quantity*$cartproduct->finalprice;
103                        $nombre_format = number_format($total, $decs, $dsep, $tsep);
104                        $gtotal= $gtotal + $total;
105                        if ($currleftalign==1) {
106                                $html2 .= "$currency&nbsp;".$nombre_format;
107                        }
108                        else
109                        {
110                                $html2 .= $nombre_format."&nbsp;$currency";
111                        }
112                        */
113
114                        // Because the remove item sets the quantity to 0, the edtqty control still needs to appear on the form, keeping it hidden
115
116                        //$html2 .= "</div>\n<div class='actions_col'>";
117                       
118                       
119
120                        /* Hide the Change control
121                        if ((!$romode) and ($cartproduct->prodcode!=$stdprodcode)) {
122                                $html2 .= "\n<input type='button' name='btnsubmit' value='".JText::_('SC_CHANGE')."' class='btnchange' onclick='document.$formname.submit()'>";
123                        }
124                        else
125                        {
126                                $html2 .= "&nbsp;";
127                        }
128                        */
129
130                        $html2 .= "\n<td>";
131                        if ($showremove==1 AND !$romode and ($cartproduct->prodcode!=$stdprodcode)) {
132                                $html2 .= "\n<input type='button' name='btnremove' value='".JText::_('SC_REMOVE')."' class='btnremove' onclick='javascript:document.$formname.edtqty.value=0;javascript:document.$formname.submit()'>";
133                        }
134                        $html2 .= "</td>";
135                       
136                        $html2 .=  "\n<input type='hidden' name='edtqty' size='1' value='".$cartproduct->quantity."' class='inputbox'>";
137                        $html2 .="\n<input type='$showhidden' name='id' value='$cartproduct->id'>";
138                        $html2 .= "\n<input type='hidden' name='option' value='com_caddy'>";
139                        $html2 .= "\n<input type='hidden' name='action' value='changeqty'>";
140                        $html2 .= "\n<input type='hidden' name='edtprodcode' value='".$cartproduct->prodcode."'>";
141                        $html2 .= "\n<input type='hidden' name='edtunitprice' value='".$cartproduct->unitprice."'>";
142                        $html2 .= "\n<input type='hidden' name='edtshorttext' value='".$cartproduct->prodname."'>";
143                        $html2 .= "\n<input type='hidden' name='edtoption' value='".$cartproduct->option."'>";
144                        //$html2 .= "</div>";
145                       
146                        $html2 .= "</tr>";
147                        $html2 .= "</form>";
148                       
149                        if ($cartproduct->quantity) {
150                                $html .= $html2; // only add to display when qty != zero !
151                                $emptycart=false;
152                        }
153                       
154                }
155                $html .= "\n</table>";                         
156//              if ($taxrate>0) {
157//                      $html .= "\n<div class='fill_col'>";
158//                      $html .= "<div class='fill_left'>".JText::_('SC_SUBTOTAL')."</div>";
159//              }
160
161//              if ($taxrate>0) {
162//                              if ($currleftalign==1) {
163//                                      $html .= "\n<div class='right_col'>$currency&nbsp;".number_format($gtotal, $decs, $dsep, $tsep)."</div>";
164//                              }
165//                              else {
166//                                      $html .= "\n<div class='right_col'>".number_format($gtotal, $decs, $dsep, $tsep)."&nbsp;$currency</div>";
167//                              }
168//                              $html .= "</div>";
169//
170//                              $html .= "\n<div class='fill_col'>";
171//                              $html .= "<div class='fill_left'>".JText::_('SC_TAX')."</div>";
172//                              if ($currleftalign==1) {
173//                                      $html .= "\n<div class='right_col'>$currency&nbsp;".number_format($gtotal*$taxrate, $decs, $dsep, $tsep)."</div>";
174//                              }
175//                              else {
176//                                      $html .= "\n<div class='right_col'>".number_format($gtotal*$taxrate, $decs, $dsep, $tsep)."&nbsp;$currency</div>";
177//                              }
178//                              $html .= "</div>";
179//              }
180
181
182                /* Hide the Total cost bit
183                $html .= "<div class='fill_col'>";
184                $html .= "<div class='fill_left'>".JText::_('SC_TOTAL')."</div>";
185                if ($currleftalign==1) {
186                        $html .= "\n<div class='right_col'>$currency&nbsp;".number_format($gtotal+$gtotal*$taxrate, $decs, $dsep, $tsep)."</div>";
187                }
188                else
189                {
190                        $html .= "\n<div class='right_col'>".number_format($gtotal+$gtotal*$taxrate, $decs, $dsep, $tsep)."&nbsp;$currency</div>";
191                }
192                $html .= "</div>";
193                */
194
195                $html .= "<form name='checkout' method='post'>";
196                $html .= "\n<div class='cartactions'>";
197                if (!$romode) {
198                        #$html .= "\n<input class='btncshopping' type='button' value='".JText::_('SC_CONTINUE_SHOPPING')."' onclick='window.history.go(-1)'>";
199                        $html .= "\n<input class='btncshopping' type='button' value='Continue Browsing' onclick='window.history.go(-1)'>";
200                }
201                else
202                {
203                        $html .= "&nbsp;";
204                }
205
206                $html .= "\n<input type='hidden' name='option' value='com_caddy'>";
207                if ($show_emptycart==1) {
208                        $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()'>";
209                }
210
211                // change the checkout button to Visualise
212                $joined_codes = rtrim($joined_codes, ",");
213                $base_url = JURI::base();
214                $target_url = $base_url . "index.php/data-visualisation?ENDPOINT=" . $joined_codes;
215                $html .= "\n<input class='btnconfirm' type='button' value='". 'Visualise' ."' onclick='javascript:window.location.href = \"" . $target_url . "\";'>";
216                $html .= "\n<input type='hidden' name='action' value=''>";
217
218                /* the old input buttons
219                if (!$romode) {
220                        $html .= "\n<input type='hidden' name='action' value='checkout'>";
221                        $html .= "\n<input class='btnorder' type='button' value='".JText::_('SC_ORDER')."' onclick='javascript:document.checkout.submit()'>";
222                }
223                else
224                {
225                        $html .= "\n<input type='hidden' name='action' value='confirm'>";
226                        $html .= "\n<input class='btnconfirm' type='submit' value='".JText::_('SC_CONFIRM')."' onclick='javascript:document.checkout.submit()'>";
227                }
228                */
229
230                $html .="</div>";
231                $html .= "</form>";
232                if ($emptycart) {
233                        $html=JText::_('SC_CART_EMPTY');
234                }
235                $html .= "</div>";
236                echo $html;
237                if ($debug==1) echo $line;
238        }
239
240
241        function showMyDetails($formfields, $errormessage=null, $fielddata=array()) {
242        $line=__LINE__;
243                ?>
244                <form name="frmdetails" method="post">
245                <table width="100%" border="0">
246                <?php
247                if ($errormessage) {
248                        echo "<tr><td colspan='2'><div class='errormsg'>$errormessage</div></td></tr>";
249                }
250                $n=count($formfields);
251                $first=true;
252//              echo "<tr><td>&nbsp;</td><td rowspan='$n'>text</td></tr>";
253                foreach ($formfields as $field) {
254                        echo "<tr>";
255                        echo "<td>";
256                        echo $field->caption;
257                        echo "</td>";
258                        echo "<td>";
259                        switch($field->type) {
260                                case "text":
261                                        echo "<input type='text' name='$field->name' size='$field->length' class='$field->classname' value='". @$fielddata["$field->name"]."'>";
262                                        break;
263                                case "textarea":
264                                        echo "<textarea name='$field->name' class='$field->classname'>". @$fielddata["$field->name"]."</textarea>";
265                                        break;
266                                case "radio":
267                                        break;
268                        }
269                        echo $field->required ? "<span class='reqfield'>".JText::_('SC_REQUIRED')."</span>" : "";
270                        echo "";
271                        echo "</td>";
272                        if ($first) {
273                                echo "<td rowspan='$n'><div class='checkoutright'>&nbsp;</div></td>";
274                                $first=false;
275                        }
276                        echo "</tr>";
277                }
278                ?>
279
280                <tr>
281                <td>&nbsp;
282                </td>
283                <td>
284                <input class="button" type="submit" name="submit" value="<?php echo JText::_('SC_CONFIRM');?>">
285                </td>
286                <td>&nbsp;
287                </td>
288                </tr>
289
290                </table>
291                <input type="hidden" name="option" value="com_caddy">
292                <input type="hidden" name="action" value="allconfirm">
293                </form>
294        <?php
295        if (defined("debug")) echo $line;
296        }
297
298        function ThanksForOrder() {
299                $line=__LINE__;
300                echo  JText::_('SC_THANKYOU');
301                if (defined("debug")) echo $line;
302        }
303
304
305}
306?>
Note: See TracBrowser for help on using the repository browser.