PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/3.6.12/display_variations.php

https://github.com/evadne/wp-e-commerce
PHP | 292 lines | 250 code | 34 blank | 8 comment | 34 complexity | ebe9c23a9815b3bb0bca1ecb312a304a 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. var check = confirm("<?php echo TXT_WPSC_SURETODELETEPRODUCT;?>");
  119. if(check) {
  120. return true;
  121. } else {
  122. return false;
  123. }
  124. }
  125. <?php
  126. if(is_numeric($_POST['prodid'])) {
  127. echo "fillvariationform(".$_POST['prodid'].");";
  128. }
  129. if(is_numeric($_GET['variation_id'])) {
  130. echo "fillvariationform(".$_GET['variation_id'].");";
  131. }
  132. ?>
  133. </script>
  134. <noscript>
  135. </noscript>
  136. <div class="wrap">
  137. <div class='metabox-holder'>
  138. <h2><?php echo TXT_WPSC_DISPLAYVARIATIONS;?></h2>
  139. <p>
  140. <?php echo TXT_WPSC_DISPLAYVARIATIONSDESCRIPTION;?>
  141. </p>
  142. <div class="tablenav wpsc_admin_nav" >
  143. <div class="alignleft" style='width: 500px;'>
  144. <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>
  145. <span id='loadingindicator_span'><img id='loadingimage' src='<?php echo WPSC_URL; ?>/images/indicator.gif' alt='Loading' title='Loading' /></span><br />
  146. </div>
  147. <div>
  148. <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>
  149. </div>
  150. <br class="clear"/>
  151. </div>
  152. <?php
  153. $num = 0;
  154. echo " <table id='productpage'>\n\r";
  155. echo " <tr><td class='firstcol'>\n\r";
  156. if (IS_WP27) {
  157. echo "<div class='postbox' style='margin-right: 15px;'>";
  158. echo "<h3 class='hndle'>".TXT_WPSC_VARIATION_LIST."</h3>";
  159. echo "<div class='inside'>";
  160. } else {
  161. echo " <div class='categorisation_title'>\n\r";
  162. echo " <strong class='form_group'>".TXT_WPSC_VARIATION_LIST."</strong>\n\r";
  163. echo " </div>\n\r";
  164. }
  165. echo " <table id='itemlist'>\n\r";
  166. echo " <tr class='firstrow'>\n\r";
  167. echo " <td>\n\r";
  168. echo TXT_WPSC_NAME;
  169. echo " </td>\n\r";
  170. echo " <td>\n\r";
  171. echo TXT_WPSC_EDIT;
  172. echo " </td>\n\r";
  173. echo " </tr>\n\r";
  174. $variation_sql = "SELECT * FROM `".$wpdb->prefix."product_variations` ORDER BY `id`";
  175. $variation_list = $wpdb->get_results($variation_sql,ARRAY_A);
  176. if($variation_list != null) {
  177. foreach($variation_list as $variation) {
  178. display_variation_row($variation);
  179. }
  180. }
  181. echo " </table>\n\r";
  182. if (IS_WP27)
  183. echo "</div>";
  184. echo " </td><td class='secondcol'>\n\r";
  185. echo " <div id='productform'>";
  186. if (IS_WP27) {
  187. echo "<div class='postbox'>";
  188. echo "<h3 class='hndle'>".TXT_WPSC_EDITVARIATION."</h3>";
  189. echo "<div class='inside'>";
  190. } else {
  191. echo " <div class='categorisation_title'>\n\r";
  192. echo " <strong class='form_group'>".TXT_WPSC_EDITVARIATION."</strong>\n\r";
  193. echo " </div>\n\r";
  194. }
  195. echo "<form method='POST' enctype='multipart/form-data' name='editproduct$num'>";
  196. echo " <div id='formcontent'>\n\r";
  197. echo " </div>\n\r";
  198. echo "</form>";
  199. echo " </div>";
  200. if (IS_WP27) {
  201. echo "</div></div>";
  202. }
  203. ?>
  204. <div id='additem'>
  205. <?php if (IS_WP27) {?>
  206. <div class='postbox'>
  207. <h3 class='hndle'><?=TXT_WPSC_VARIATION_LIST?></h3>
  208. <div class='inside'>
  209. <?php } else { ?>
  210. <div class="categorisation_title">
  211. <strong class="form_group"><?php echo TXT_WPSC_ADDVARIATION;?></strong>
  212. </div>
  213. <?php } ?>
  214. <form method='POST' action='' class='additem'>
  215. <table class='category_forms'>
  216. <tr>
  217. <td>
  218. <?php echo TXT_WPSC_NAME;?>:
  219. </td>
  220. <td>
  221. <input type='text' class="text" name='name' value='' />
  222. </td>
  223. </tr>
  224. <tr>
  225. <td>
  226. <?php echo TXT_WPSC_VARIATION_VALUES;?>:
  227. </td>
  228. <td>
  229. <div id='add_variation_values'><span id='variation_value_1'>
  230. <input type='text' class="text" name='variation_values[]' value='' />
  231. <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 />
  232. </span><span id='variation_value_2'>
  233. <input type='text' class="text" name='variation_values[]' value='' />
  234. <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 />
  235. </span></div>
  236. <a href='#' onclick='return add_variation_value("add")'><?php echo TXT_WPSC_ADD;?></a>
  237. </td>
  238. </tr>
  239. <tr>
  240. <td>
  241. </td>
  242. <td>
  243. <input type='hidden' name='submit_action' value='add' />
  244. <input class='button' type='submit' name='submit' value='<?php echo TXT_WPSC_ADD;?>' />
  245. </td>
  246. </tr>
  247. </table>
  248. </form>
  249. </div>
  250. <?php
  251. if (IS_WP27) {
  252. echo "</div>";
  253. }
  254. echo " </td></tr>\n\r";
  255. echo " </table>\n\r";
  256. ?>
  257. </div>
  258. </div>