PageRenderTime 64ms CodeModel.GetById 35ms RepoModel.GetById 1ms app.codeStats 0ms

/tags/3.6.8/wp-shopping-cart/display_variations.php

https://github.com/evadne/wp-e-commerce
PHP | 299 lines | 256 code | 35 blank | 8 comment | 33 complexity | 128f82425cd1505f207485c1db3c7e07 MD5 | raw file
  1. <?php
  2. function variationlist($curent_variation) {
  3. global $wpdb;
  4. $options = "";
  5. //$options .= "<option value=''>".TXT_WPSC_SELECTAVARIATION."</option>\r\n";
  6. $values = $wpdb->get_results("SELECT * FROM `".$wpdb->prefix."product_categories` ORDER BY `id` ASC",ARRAY_A);
  7. foreach($values as $option) {
  8. if($curent_variation == $option['id']) {
  9. $selected = "selected='selected'";
  10. }
  11. $options .= "<option $selected value='".$option['id']."'>".$option['name']."</option>\r\n";
  12. $selected = "";
  13. }
  14. $concat .= "<select name='variation'>".$options."</select>\r\n";
  15. return $concat;
  16. }
  17. function display_variation_row($variation) {
  18. // displays the row the variation is on
  19. echo " <tr>\n\r";
  20. echo " <td>\n\r";
  21. echo "".htmlentities(stripslashes($variation['name']), ENT_QUOTES, 'UTF-8')."";
  22. echo " </td>\n\r";
  23. echo " <td>\n\r";
  24. echo "<a href='#' onclick='fillvariationform(".$variation['id'].");return false;'>".TXT_WPSC_EDIT."</a>";
  25. echo " </td>\n\r";
  26. echo " </tr>\n\r";
  27. }
  28. $imagedir = WPSC_FILE_PATH."/variation_images/";
  29. /* delete variation_value */
  30. if($_GET['delete_value'] == 'true') {
  31. if(is_numeric($_GET['variation_id']) && is_numeric($_GET['value_id'])) {
  32. //exit("DELETE FROM `".$wpdb->prefix."variation_values_associations` WHERE `value_id` = '".$_GET['value_id']."'");
  33. $wpdb->query("DELETE FROM `".$wpdb->prefix."variation_values_associations` WHERE `value_id` = '".$_GET['value_id']."'");
  34. $wpdb->query("DELETE FROM `".$wpdb->prefix."variation_values` WHERE `id` = '".$_GET['value_id']."' AND `variation_id` = '".$_GET['variation_id']."' LIMIT 1");
  35. }
  36. }
  37. /* add variation */
  38. if($_POST['submit_action'] == "add") {
  39. //exit("<pre>".print_r($_POST,true)."</pre>");
  40. $variation_sql = "INSERT INTO `".$wpdb->prefix."product_variations` (`name`, `variation_association`) VALUES ( '".$_POST['name']."', 0);";
  41. if($wpdb->query($variation_sql)) {
  42. $variation_id = $wpdb->get_results("SELECT LAST_INSERT_ID() AS `id` FROM `".$wpdb->prefix."product_variations` LIMIT 1",ARRAY_A);
  43. $variation_id = $variation_id[0]['id'];
  44. $variation_values = $_POST['variation_values'];
  45. $variation_value_sql ="INSERT INTO `".$wpdb->prefix."variation_values` ( `name` , `variation_id` )
  46. VALUES ";
  47. $num = 0;
  48. foreach($variation_values as $variation_value) {
  49. switch($num) {
  50. case 0:
  51. $comma = '';
  52. break;
  53. default:
  54. $comma = ', ';
  55. break;
  56. }
  57. $variation_value_sql .= "$comma( '".$wpdb->escape(trim($variation_value))."', '".$variation_id."')";
  58. $num++;
  59. }
  60. $variation_value_sql .= ";";
  61. $wpdb->query($variation_value_sql);
  62. echo "<div class='updated'><p align='center'>".TXT_WPSC_ITEMHASBEENADDED."</p></div>";
  63. } else {
  64. echo "<div class='updated'><p align='center'>".TXT_WPSC_ITEMHASNOTBEENADDED."</p></div>";
  65. }
  66. }
  67. /* edit variation */
  68. if(($_POST['submit_action'] == "edit") && is_numeric($_POST['prodid'])) {
  69. //exit("<pre>".print_r($_POST,true)."</pre>");
  70. $variation_id = $_POST['prodid'];
  71. foreach($_POST['variation_values'] as $variation_value_id => $variation_value) {
  72. if(is_numeric($variation_value_id)) {
  73. $variation_value_state = $wpdb->get_results("SELECT `name` FROM `".$wpdb->prefix."variation_values` WHERE `id` = '$variation_value_id' AND `variation_id` = '$variation_id' LIMIT 1",ARRAY_A);
  74. $variation_value_state = $variation_value_state[0]['name'];
  75. }
  76. if($variation_value_state != $variation_value) {
  77. $wpdb->query("UPDATE `".$wpdb->prefix."variation_values` SET `name` = '".$wpdb->escape($variation_value)."' WHERE `id` = '$variation_value_id' AND `variation_id` = '".$variation_id."' LIMIT 1;");
  78. }
  79. }
  80. $variation_value_sql ="INSERT INTO `".$wpdb->prefix."variation_values` ( `name` , `variation_id` )
  81. VALUES ";
  82. $num = 0;
  83. if($_POST['new_variation_values'] != null) {
  84. $num = 0;
  85. foreach($_POST['new_variation_values'] as $variation_value) {
  86. switch($num) {
  87. case 0:
  88. $comma = '';
  89. break;
  90. default:
  91. $comma = ', ';
  92. break;
  93. }
  94. $variation_value_sql .= "$comma('".$wpdb->escape(trim($variation_value))."', '".$variation_id."')";
  95. $num++;
  96. }
  97. $variation_value_sql .= ";";
  98. $wpdb->query($variation_value_sql);
  99. }
  100. $updatesql = "UPDATE `".$wpdb->prefix."product_variations` SET `name` = '".$wpdb->escape($_POST['title'])."' WHERE `id`='".$variation_id."' LIMIT 1";
  101. $wpdb->query($updatesql);
  102. echo "<div class='updated'><p align='center'>".TXT_WPSC_VARIATIONHASBEENEDITED."</p></div>";
  103. }
  104. if(is_numeric($_GET['deleteid']))
  105. {
  106. $delete_value_assoc_sql = "DELETE FROM `".$wpdb->prefix."variation_values_associations` WHERE `variation_id` = '".$_GET['deleteid']."'";
  107. $delete_variation_assoc_sql = "DELETE FROM `".$wpdb->prefix."variation_associations` WHERE `variation_id` = '".$_GET['deleteid']."'";
  108. $delete_values_sql = "DELETE FROM `".$wpdb->prefix."variation_values` WHERE `variation_id` = '".$_GET['deleteid']."';";
  109. $delete_variation_sql = "DELETE FROM `".$wpdb->prefix."product_variations` WHERE `id`='".$_GET['deleteid']."' LIMIT 1";
  110. $wpdb->query($delete_value_assoc_sql);
  111. $wpdb->query($delete_variation_assoc_sql);
  112. $wpdb->query($delete_values_sql);
  113. $wpdb->query($delete_variation_sql);
  114. }
  115. ?>
  116. <script language='javascript' type='text/javascript'>
  117. function conf()
  118. {
  119. var check = confirm("<?php echo TXT_WPSC_SURETODELETEPRODUCT;?>");
  120. if(check)
  121. {
  122. return true;
  123. }
  124. else
  125. {
  126. return false;
  127. }
  128. }
  129. <?php
  130. if(is_numeric($_POST['prodid']))
  131. {
  132. echo "fillvariationform(".$_POST['prodid'].");";
  133. }
  134. if(is_numeric($_GET['variation_id']))
  135. {
  136. echo "fillvariationform(".$_GET['variation_id'].");";
  137. }
  138. ?>
  139. </script>
  140. <noscript>
  141. </noscript>
  142. <div class="wrap">
  143. <div class='metabox-holder'>
  144. <h2><?php echo TXT_WPSC_DISPLAYVARIATIONS;?></h2>
  145. <p>
  146. <?php echo TXT_WPSC_DISPLAYVARIATIONSDESCRIPTION;?>
  147. </p>
  148. <div class="tablenav wpsc_admin_nav" >
  149. <div class="alignleft" style='width: 500px;'>
  150. <a href='' onclick='return showaddform()' class='add_item_link'><img src='<?php echo WPSC_URL; ?>/images/package_add.png' alt='<?php echo TXT_WPSC_ADD; ?>' title='<?php echo TXT_WPSC_ADD; ?>' />&nbsp;<span><?php echo TXT_WPSC_ADDVARIATION;?></span></a>
  151. <span id='loadingindicator_span'><img id='loadingimage' src='<?php echo WPSC_URL; ?>/images/indicator.gif' alt='Loading' title='Loading' /></span><br />
  152. </div>
  153. <div>
  154. <a target="_blank" href='http://www.instinct.co.nz/e-commerce/variations/' class='about_this_page'><span><?php echo TXT_WPSC_ABOUT_THIS_PAGE;?></span>&nbsp;</a>
  155. </div>
  156. <br class="clear"/>
  157. </div>
  158. <?php
  159. $num = 0;
  160. echo " <table id='productpage'>\n\r";
  161. echo " <tr><td class='firstcol'>\n\r";
  162. if (IS_WP27) {
  163. echo "<div class='postbox'>";
  164. echo "<h3 class='hndle'>".TXT_WPSC_VARIATION_LIST."</h3>";
  165. echo "<div class='inside'>";
  166. } else {
  167. echo " <div class='categorisation_title'>\n\r";
  168. echo " <strong class='form_group'>".TXT_WPSC_VARIATION_LIST."</strong>\n\r";
  169. echo " </div>\n\r";
  170. }
  171. echo " <table id='itemlist'>\n\r";
  172. echo " <tr class='firstrow'>\n\r";
  173. echo " <td>\n\r";
  174. echo TXT_WPSC_NAME;
  175. echo " </td>\n\r";
  176. echo " <td>\n\r";
  177. echo TXT_WPSC_EDIT;
  178. echo " </td>\n\r";
  179. echo " </tr>\n\r";
  180. $variation_sql = "SELECT * FROM `".$wpdb->prefix."product_variations` ORDER BY `id`";
  181. $variation_list = $wpdb->get_results($variation_sql,ARRAY_A);
  182. if($variation_list != null) {
  183. foreach($variation_list as $variation) {
  184. display_variation_row($variation);
  185. }
  186. }
  187. echo " </table>\n\r";
  188. if (IS_WP27)
  189. echo "</div>";
  190. echo " </td><td class='secondcol'>\n\r";
  191. echo " <div id='productform'>";
  192. if (IS_WP27) {
  193. echo "<div class='postbox'>";
  194. echo "<h3 class='hndle'>".TXT_WPSC_EDITVARIATION."</h3>";
  195. echo "<div class='inside'>";
  196. } else {
  197. echo " <div class='categorisation_title'>\n\r";
  198. echo " <strong class='form_group'>".TXT_WPSC_EDITVARIATION."</strong>\n\r";
  199. echo " </div>\n\r";
  200. }
  201. echo "<form method='POST' enctype='multipart/form-data' name='editproduct$num'>";
  202. echo " <div id='formcontent'>\n\r";
  203. echo " </div>\n\r";
  204. echo "</form>";
  205. echo " </div>";
  206. if (IS_WP27) {
  207. echo "</div></div>";
  208. }
  209. ?>
  210. <div id='additem'>
  211. <?php if (IS_WP27) {?>
  212. <div class='postbox'>
  213. <h3 class='hndle'><?=TXT_WPSC_VARIATION_LIST?></h3>
  214. <div class='inside'>
  215. <?php } else { ?>
  216. <div class="categorisation_title">
  217. <strong class="form_group"><?php echo TXT_WPSC_ADDVARIATION;?></strong>
  218. </div>
  219. <?php } ?>
  220. <form method='POST' action='' class='additem'>
  221. <table class='category_forms'>
  222. <tr>
  223. <td>
  224. <?php echo TXT_WPSC_NAME;?>:
  225. </td>
  226. <td>
  227. <input type='text' class="text" name='name' value='' />
  228. </td>
  229. </tr>
  230. <tr>
  231. <td>
  232. <?php echo TXT_WPSC_VARIATION_VALUES;?>:
  233. </td>
  234. <td>
  235. <div id='add_variation_values'><span id='variation_value_1'>
  236. <input type='text' class="text" name='variation_values[]' value='' />
  237. <a class='image_link' href='#' onclick='remove_variation_value_field("variation_value_1")'><img src='<?php echo WPSC_URL; ?>/images/trash.gif' alt='<?php echo TXT_WPSC_DELETE; ?>' title='<?php echo TXT_WPSC_DELETE; ?>' /></a><br />
  238. </span><span id='variation_value_2'>
  239. <input type='text' class="text" name='variation_values[]' value='' />
  240. <a class='image_link' href='#' onclick='remove_variation_value_field("variation_value_2")'><img src='<?php echo WPSC_URL; ?>/images/trash.gif' alt='<?php echo TXT_WPSC_DELETE; ?>' title='<?php echo TXT_WPSC_DELETE; ?>' /></a><br />
  241. </span></div>
  242. <a href='#' onclick='return add_variation_value("add")'><?php echo TXT_WPSC_ADD;?></a>
  243. </td>
  244. </tr>
  245. <tr>
  246. <td>
  247. </td>
  248. <td>
  249. <input type='hidden' name='submit_action' value='add' />
  250. <input class='button' type='submit' name='submit' value='<?php echo TXT_WPSC_ADD;?>' />
  251. </td>
  252. </tr>
  253. </table>
  254. </form>
  255. </div>
  256. <?php
  257. if (IS_WP27) {
  258. echo "</div>";
  259. }
  260. echo " </td></tr>\n\r";
  261. echo " </table>\n\r";
  262. ?>
  263. </div>
  264. </div>