PageRenderTime 54ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/wp-content/plugins/wp-e-commerce/homepage_products_functions.php

https://gitlab.com/endomorphosis/reservationtelco
PHP | 244 lines | 214 code | 23 blank | 7 comment | 82 complexity | b788b4120a382a215378d019cadf0e51 MD5 | raw file
  1. <?php
  2. function nszhpcrt_homepage_products($content = '') {
  3. global $wpdb;
  4. $siteurl = get_option('siteurl');
  5. if(get_option('permalink_structure') != '') {
  6. $seperator ="?";
  7. } else {
  8. $seperator ="&amp;";
  9. }
  10. $sql = "SELECT * FROM `".WPSC_TABLE_PRODUCT_LIST."` WHERE `display_frontpage` IN('1') AND `active` IN('1')";
  11. $product_list = $wpdb->get_results($sql,ARRAY_A);
  12. $output = "<div id='homepage_products'>\n\r";
  13. foreach((array)$product_list as $product) {
  14. $output .= "<div class='frontpage_product'>\n\r";
  15. $output .= "<a href='".wpsc_product_url($product['id'])."'>";
  16. if($product['image'] != '') {
  17. $output .= "<img src='".WPSC_THUMBNAIL_URL.$product['image']."' title='".$product['name']."' alt='".$product['name']."' />\n\r";
  18. $output .= "<p>\n\r";
  19. $output .= stripslashes($product['name']);
  20. $output .= "<span class='front_page_price'>\n\r";
  21. if($product['special']==1) {
  22. $output .= "<span class='oldprice'>".nzshpcrt_currency_display($product['price'], $product['notax'])."</span><br />\n\r";
  23. $output .= nzshpcrt_currency_display(($product['price'] - $product['special_price']), $product['notax'],false,$product['id']);
  24. } else {
  25. $output .= "".nzshpcrt_currency_display($product['price'], $product['notax']);
  26. }
  27. $output .= "</span>\n\r";
  28. $output .= "</p>\n\r";
  29. }
  30. $output .= "</a>";
  31. $output .= "</div>\n\r";
  32. }
  33. $output .= "</div>\n\r";
  34. $output .= "<br style='clear: left;'>\n\r";
  35. return preg_replace("/\[homepage_products\]/", $output, $content);
  36. }
  37. function nszhpcrt_category_tag($content = '') {
  38. global $wpdb;
  39. if(preg_match_all("/\[wpsc_category_exclude=([\d]+),*(full)?\]/", $content, $matches)) {
  40. foreach($matches[1] as $key => $category_id) {
  41. $categories[$key]['id'] = $category_id;
  42. $categories[$key]['display'] = $matches[2][$key];
  43. $categories[$key]['original_string'] = $matches[0][$key];
  44. }
  45. foreach ($categories as $category) {
  46. $sql1 = "SELECT DISTINCT `".WPSC_TABLE_PRODUCT_LIST."`.*, `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id`,`".WPSC_TABLE_PRODUCT_ORDER."`.`order`, IF(ISNULL(`".WPSC_TABLE_PRODUCT_ORDER."`.`order`), 0, 1) AS `order_state` FROM `".WPSC_TABLE_PRODUCT_LIST."` LEFT JOIN `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."` ON `".WPSC_TABLE_PRODUCT_LIST."`.`id` = `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`product_id` LEFT JOIN `".WPSC_TABLE_PRODUCT_ORDER."` ON ( ( `".WPSC_TABLE_PRODUCT_LIST."`.`id` = `".WPSC_TABLE_PRODUCT_ORDER."`.`product_id` ) AND ( `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id` = `".WPSC_TABLE_PRODUCT_ORDER."`.`category_id` ) ) WHERE `".WPSC_TABLE_PRODUCT_LIST."`.`active` = '1' AND `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id` NOT IN ('".$category['id']."') $no_donations_sql ORDER BY `order_state` DESC,`".WPSC_TABLE_PRODUCT_ORDER."`.`order` ASC";
  47. $product_list1 = $wpdb->get_results($sql1,ARRAY_A);
  48. if(function_exists('product_display_list') && (get_option('product_view') == 'list')) {
  49. $output1= product_display_list($product_list1, $group_type, $group_sql, $search_sql);
  50. } else if(function_exists('product_display_grid') && (get_option('product_view') == 'grid')) {
  51. $output1= product_display_grid($product_list1, $group_type, $group_sql, $search_sql);
  52. } else {
  53. $output1= product_display_default($product_list1,'');
  54. }
  55. }
  56. $content = str_replace($category['original_string'], $output1, $content);
  57. }
  58. if(preg_match_all("/\[wpsc_category=([\d]+),*(full)?\]/", $content, $matches)) {
  59. foreach($matches[1] as $key => $category_id) {
  60. $categories[$key]['id'] = $category_id;
  61. //$categories[$key]['display'] = $matches[2][$key];
  62. $original_string = $matches[0][$key];
  63. $query = array('category_id' => $category_id);
  64. $content = str_replace($original_string, wpsc_display_products_page($query), $content);
  65. }
  66. return $content;
  67. //echo("<pre>".print_r($categories,true)."</pre>");
  68. $siteurl = get_option('siteurl');
  69. if(get_option('permalink_structure') != '') {
  70. $seperator ="?";
  71. } else {
  72. $seperator ="&amp;";
  73. }
  74. foreach((array)$activated_widgets as $widget_container) {
  75. if(is_array($widget_container) && array_search(__('Product Donations', 'wpsc'), $widget_container)) {
  76. $no_donations_sql = "AND `".WPSC_TABLE_PRODUCT_LIST."`.`donation` != '1'";
  77. break;
  78. }
  79. }
  80. foreach((array)$categories as $category) {
  81. $full_view = null;
  82. if($category['display'] == 'full') {
  83. $sql = "SELECT DISTINCT `".WPSC_TABLE_PRODUCT_LIST."`.*, `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id`,`".WPSC_TABLE_PRODUCT_ORDER."`.`order`, IF(ISNULL(`".WPSC_TABLE_PRODUCT_ORDER."`.`order`), 0, 1) AS `order_state` FROM `".WPSC_TABLE_PRODUCT_LIST."` LEFT JOIN `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."` ON `".WPSC_TABLE_PRODUCT_LIST."`.`id` = `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`product_id` LEFT JOIN `".WPSC_TABLE_PRODUCT_ORDER."` ON ( ( `".WPSC_TABLE_PRODUCT_LIST."`.`id` = `".WPSC_TABLE_PRODUCT_ORDER."`.`product_id` ) AND ( `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id` = `".WPSC_TABLE_PRODUCT_ORDER."`.`category_id` ) ) WHERE `".WPSC_TABLE_PRODUCT_LIST."`.`active` = '1' AND `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id` IN ('".$category['id']."') $no_donations_sql ORDER BY `order_state` DESC,`".WPSC_TABLE_PRODUCT_ORDER."`.`order` ASC";
  84. $product_list = $wpdb->get_results($sql,ARRAY_A);
  85. // sorry about the global variable, but it was the best way I could think of to avoid people having to upgrade the gold cart
  86. $GLOBALS['wpsc_category_id'] = $category['id'];
  87. if(function_exists('product_display_list') && (get_option('product_view') == 'list')) {
  88. $output .= product_display_list($product_list, $group_type, $group_sql, $search_sql);
  89. } else if(function_exists('product_display_grid') && (get_option('product_view') == 'grid')) {
  90. $output .= product_display_grid($product_list, $group_type, $group_sql, $search_sql);
  91. } else {
  92. $output .= product_display_default($product_list, $group_type, $group_sql, $search_sql);
  93. }
  94. } else {
  95. $sql = "SELECT DISTINCT `".WPSC_TABLE_PRODUCT_LIST."`.*, `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id`,`".WPSC_TABLE_PRODUCT_ORDER."`.`order`, IF(ISNULL(`".WPSC_TABLE_PRODUCT_ORDER."`.`order`), 0, 1) AS `order_state` FROM `".WPSC_TABLE_PRODUCT_LIST."` LEFT JOIN `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."` ON `".WPSC_TABLE_PRODUCT_LIST."`.`id` = `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`product_id` LEFT JOIN `".WPSC_TABLE_PRODUCT_ORDER."` ON ( ( `".WPSC_TABLE_PRODUCT_LIST."`.`id` = `".WPSC_TABLE_PRODUCT_ORDER."`.`product_id` ) AND ( `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id` = `".WPSC_TABLE_PRODUCT_ORDER."`.`category_id` ) ) WHERE `".WPSC_TABLE_PRODUCT_LIST."`.`active` = '1' AND `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."`.`category_id` IN ('".$category['id']."') $no_donations_sql ORDER BY `order_state` DESC,`".WPSC_TABLE_PRODUCT_ORDER."`.`order` ASC";
  96. $product_list = $wpdb->get_results($sql,ARRAY_A);
  97. $output = "<div id='products_page_container' class='wrap wpsc_container'>\n\r";
  98. $output .= "<div id='homepage_products'>\n\r";
  99. if ($full_view != null){
  100. $output .= "<table class='productdisplay'>";
  101. }
  102. foreach((array)$product_list as $product) {
  103. if(function_exists('wpsc_theme_html')) {
  104. $wpsc_theme = wpsc_theme_html($product);
  105. }
  106. if ($full_view == null) {
  107. $output .= "<div class='category_view_product'>\n\r";
  108. } else {
  109. /* product image is here */
  110. $output .= "<tr>";
  111. $output .= "<td class='imagecol'>";
  112. }
  113. $output .="<a href='".WPSC_IMAGE_URL.$product['image']."' class='thickbox preview_link' rel='".str_replace(" ", "_",$product['name'])."'>";
  114. if($product['image'] != '') {
  115. $output .= "<img class='product_image' src='".WPSC_THUMBNAIL_URL.$product['image']."' title='".$product['name']."' alt='".$product['name']."' />\n\r";
  116. }
  117. $output .= "</a>";
  118. if ($full_view != null) {
  119. $output .= "</td><td class='textcol'>";
  120. } else {
  121. $output .= "<div class='product_details'>";
  122. }
  123. if (get_option('hide_name_link')!=1) {
  124. if(($product['special']==1) && ($variations_output[1] === null)) {
  125. $output .= "<a href='".wpsc_product_url($product['id'])."' class='wpsc_product_title' >$special<strong class='special'>Special / Sale Price - </strong><strong>" . stripslashes($product['name']) . "</strong></a>";
  126. } else {
  127. $output .= "<a href='".wpsc_product_url($product['id'])."' class='wpsc_product_title' >$special<strong>" . stripslashes($product['name']) . "</strong></a>";
  128. }
  129. } else {
  130. if(($product['special']==1) && ($variations_output[1] === null)) {
  131. $output .= "<a class='wpsc_product_title' >$special<strong class='special'>Special / Sale Price - </strong><strong>" . stripslashes($product['name']) . "</strong></a>";
  132. } else {
  133. $output .= "<a class='wpsc_product_title' >$special<strong>" . stripslashes($product['name']) . "</strong></a>";
  134. }
  135. }
  136. if ($full_view !=null) {
  137. if($product['description'] != '') {
  138. $output .= "<p class='wpsc_description'>".nl2br(stripslashes($product['description'])) . "</p>";
  139. }
  140. if($product['additional_description'] != '') {
  141. $output .= "<a href='#' class='additional_description_link' onclick='return show_additional_description(\"additionaldescription".$product['id']."\",\"link_icon".$product['id']."\");'>";
  142. $output .= "<img id='link_icon".$product['id']."' class='additional_description_button' src='".WPSC_URL."/images/icon_window_expand.gif' title='".$product['name']."' alt='".$product['name']."' />";
  143. $output .= __('More Details', 'wpsc')."</a>";
  144. $output .= "<span class='additional_description' id='additionaldescription".$product['id']."'><br />";
  145. $output .= nl2br(stripslashes($product['additional_description'])) . "";
  146. $output .= "</span><br />";
  147. }
  148. }
  149. /*
  150. adding to cart stuff
  151. */
  152. $output .= "<form id='product_".$product['id']."' name='product_".$product['id']."' method='post' action='".get_option('product_list_url').$seperator."category=".$_GET['category']."' onsubmit='submitform(this);return false;' >";
  153. $output .= "<input type='hidden' name='prodid' value='".$product['id']."' />";
  154. $output .= "<input type='hidden' name='item' value='".$product['id']."' />";
  155. $variations_procesor = new nzshpcrt_variations;
  156. $variations_output = $variations_procesor->display_product_variations($product['id'],false, false, true);
  157. $output .= $variations_output[0];
  158. if($variations_output[1] !== null) {
  159. $product['price'] = $variations_output[1];
  160. }
  161. if(($product['special']==1) && ($variations_output[1] === null)) {
  162. $output .= "<span class='oldprice'>".nzshpcrt_currency_display($product['price'], $product['notax']) . "</span><br />";
  163. $output .= nzshpcrt_currency_display(($product['price'] - $product['special_price']), $product['notax'],false,$product['id']) . "<br />";
  164. } else {
  165. $output .= "<span id='product_price_".$product['id']."'>" . nzshpcrt_currency_display($product['price'], $product['notax']) . "</span><br />";
  166. }
  167. if(((get_option('hide_addtocart_button') !='1') || (get_option('payment_gateway') !='google'))) {
  168. if(isset($wpsc_theme) && is_array($wpsc_theme) && ($wpsc_theme['html'] !='')) {
  169. $output .= $wpsc_theme['html'];
  170. } else {
  171. $output .= "<input type='submit' id='product_".$product['id']."_submit_button' class='wpsc_buy_button' name='Buy' value='".__('Add To Cart', 'wpsc')."' />";
  172. }
  173. }
  174. $output .= "</form>";
  175. if (get_option('addtocart_or_buynow')=='1') {
  176. if (get_option('payment_gateway')=='google') {
  177. $output .= google_buynow($product['id']);
  178. }
  179. }
  180. if ($full_view != null) {
  181. if(get_option('product_ratings') == 1) {
  182. $output .= "<div class='product_footer'>";
  183. $output .= "<div class='product_average_vote'>";
  184. $output .= "<strong>".__('Avg. Customer Rating', 'wpsc').":</strong>";
  185. $output .= nzshpcrt_product_rating($product['id']);
  186. $output .= "</div>";
  187. $output .= "<div class='product_user_vote'>";
  188. $vote_output = nzshpcrt_product_vote($product['id'],"onmouseover='hide_save_indicator(\"saved_".$product['id']."_text\");'");
  189. if($vote_output[1] == 'voted') {
  190. $output .= "<strong><span id='rating_".$product['id']."_text'>".__('Your Rating', 'wpsc').":</span>";
  191. $output .= "<span class='rating_saved' id='saved_".$product['id']."_text'> ".__('Saved', 'wpsc')."</span>";
  192. $output .= "</strong>";
  193. } else if($vote_output[1] == 'voting') {
  194. $output .= "<strong><span id='rating_".$product['id']."_text'>".__('Rate This item', 'wpsc').":</span>";
  195. $output .= "<span class='rating_saved' id='saved_".$product['id']."_text'> ".__('Saved', 'wpsc')."</span>";
  196. $output .= "</strong>";
  197. }
  198. $output .= $vote_output[0];
  199. $output .= "</div>";
  200. $output .= "</div>";
  201. }
  202. $output .="</td>";
  203. $output .="</tr>";
  204. } else {
  205. $output .= "</div>\n\r";
  206. $output .= "</div>";
  207. }
  208. }
  209. if ($full_view != null) {
  210. $output .= "</table>";
  211. }
  212. $output .= "</div>\n\r";
  213. $output .= "<br style='clear: left;'>\n\r";
  214. $output .= "</div>\n\r";
  215. }
  216. $content = str_replace($category['original_string'], $output, $content);
  217. }
  218. }
  219. return $content;
  220. }
  221. ?>