PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/inc/amfphp/administration/productexport.php

https://github.com/EmranAhmed/wp-easycart
PHP | 358 lines | 122 code | 190 blank | 46 comment | 10 complexity | 7f4b5fa1e7f8859815787fcfaa3aeb4a MD5 | raw file
  1. <?php
  2. /*
  3. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5. //All Code and Design is copyrighted by Level Four Development, llc
  6. //
  7. //Level Four Development, LLC provides this code "as is" without warranty of any kind, either express or implied,
  8. //including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.
  9. //
  10. //Only licensed users may use this code and storfront for live purposes. All other use is prohibited and may be
  11. //subject to copyright violation laws. If you have any questions regarding proper use of this code, please
  12. //contact Level Four Development, llc and EasyCart prior to use.
  13. //
  14. //All use of this storefront is subject to our terms of agreement found on Level Four Development, llc's website.
  15. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  16. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  17. */
  18. //load our connection settings
  19. require_once('../../../../../../wp-config.php');
  20. //set our connection variables
  21. $dbhost = DB_HOST;
  22. $dbname = DB_NAME;
  23. $dbuser = DB_USER;
  24. $dbpass = DB_PASSWORD;
  25. //make a connection to our database
  26. mysql_connect($dbhost, $dbuser, $dbpass);
  27. mysql_select_db ($dbname);
  28. $requestID = "-1";
  29. if (isset($_GET['reqID'])) {
  30. $requestID = $_GET['reqID'];
  31. }
  32. $usersqlquery = sprintf("SELECT ec_user.*, ec_role.admin_access FROM ec_user LEFT JOIN ec_role ON (ec_user.user_level = ec_role.role_label) WHERE ec_user.password = '%s' AND (ec_user.user_level = 'admin' OR ec_role.admin_access = 1)", mysql_real_escape_string($requestID));
  33. $userresult = mysql_query($usersqlquery) or die(mysql_error());
  34. $users = mysql_fetch_assoc($userresult);
  35. if ($users || is_user_logged_in()) {
  36. //first, organize tables in order
  37. mysql_query("ALTER TABLE ec_product MODIFY COLUMN product_id INTEGER(11) NOT NULL AUTO_INCREMENT FIRST");
  38. mysql_query("ALTER TABLE ec_product MODIFY COLUMN model_number VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER product_id");
  39. mysql_query("ALTER TABLE ec_product MODIFY COLUMN post_id INTEGER(11) NOT NULL DEFAULT 0 AFTER model_number");
  40. mysql_query("ALTER TABLE ec_product MODIFY COLUMN activate_in_store TINYINT(1) NOT NULL DEFAULT 0 AFTER post_id");
  41. mysql_query("ALTER TABLE ec_product MODIFY COLUMN title VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER activate_in_store");
  42. mysql_query("ALTER TABLE ec_product MODIFY COLUMN description TEXT COLLATE utf8_general_ci AFTER title");
  43. mysql_query("ALTER TABLE ec_product MODIFY COLUMN specifications TEXT COLLATE utf8_general_ci AFTER description");
  44. mysql_query("ALTER TABLE ec_product MODIFY COLUMN price FLOAT(15,3) NOT NULL DEFAULT 0.000 AFTER specifications");
  45. mysql_query("ALTER TABLE ec_product MODIFY COLUMN list_price FLOAT(15,3) NOT NULL DEFAULT 0.000 AFTER price");
  46. mysql_query("ALTER TABLE ec_product MODIFY COLUMN vat_rate FLOAT(15,3) NOT NULL DEFAULT 0.000 AFTER list_price");
  47. mysql_query("ALTER TABLE ec_product MODIFY COLUMN handling_price FLOAT(15,3) NOT NULL DEFAULT 0.000 AFTER vat_rate");
  48. mysql_query("ALTER TABLE ec_product MODIFY COLUMN stock_quantity INTEGER(7) NOT NULL DEFAULT 0 AFTER handling_price");
  49. mysql_query("ALTER TABLE ec_product MODIFY COLUMN weight FLOAT(15,3) NOT NULL DEFAULT 0.000 AFTER stock_quantity");
  50. mysql_query("ALTER TABLE ec_product MODIFY COLUMN width DOUBLE(15,3) NOT NULL DEFAULT '1.000' AFTER weight");
  51. mysql_query("ALTER TABLE ec_product MODIFY COLUMN height DOUBLE(15,3) NOT NULL DEFAULT '1.000' AFTER width");
  52. mysql_query("ALTER TABLE ec_product MODIFY COLUMN length DOUBLE(15,3) NOT NULL DEFAULT '1.000' AFTER height");
  53. mysql_query("ALTER TABLE ec_product MODIFY COLUMN seo_description TEXT COLLATE utf8_general_ci AFTER length");
  54. mysql_query("ALTER TABLE ec_product MODIFY COLUMN seo_keywords VARCHAR(255) COLLATE utf8_general_ci AFTER seo_description");
  55. mysql_query("ALTER TABLE ec_product MODIFY COLUMN use_specifications TINYINT(1) NOT NULL DEFAULT 0 AFTER seo_keywords");
  56. mysql_query("ALTER TABLE ec_product MODIFY COLUMN use_customer_reviews TINYINT(1) NOT NULL DEFAULT 0 AFTER use_specifications");
  57. mysql_query("ALTER TABLE ec_product MODIFY COLUMN manufacturer_id INTEGER(11) NOT NULL DEFAULT 0 AFTER use_customer_reviews");
  58. mysql_query("ALTER TABLE ec_product MODIFY COLUMN download_file_name VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER manufacturer_id");
  59. mysql_query("ALTER TABLE ec_product MODIFY COLUMN image1 VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER download_file_name");
  60. mysql_query("ALTER TABLE ec_product MODIFY COLUMN image2 VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER image1");
  61. mysql_query("ALTER TABLE ec_product MODIFY COLUMN image3 VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER image2");
  62. mysql_query("ALTER TABLE ec_product MODIFY COLUMN image4 VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER image3");
  63. mysql_query("ALTER TABLE ec_product MODIFY COLUMN image5 VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER image4");
  64. mysql_query("ALTER TABLE ec_product MODIFY COLUMN option_id_1 INTEGER(11) NOT NULL DEFAULT 0 AFTER image5");
  65. mysql_query("ALTER TABLE ec_product MODIFY COLUMN option_id_2 INTEGER(11) NOT NULL DEFAULT 0 AFTER option_id_1");
  66. mysql_query("ALTER TABLE ec_product MODIFY COLUMN option_id_3 INTEGER(11) NOT NULL DEFAULT 0 AFTER option_id_2");
  67. mysql_query("ALTER TABLE ec_product MODIFY COLUMN option_id_4 INTEGER(11) NOT NULL DEFAULT 0 AFTER option_id_3");
  68. mysql_query("ALTER TABLE ec_product MODIFY COLUMN option_id_5 INTEGER(11) NOT NULL DEFAULT 0 AFTER option_id_4");
  69. mysql_query("ALTER TABLE ec_product MODIFY COLUMN use_advanced_optionset TINYINT(1) NOT NULL DEFAULT 0 AFTER option_id_5");
  70. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel1_id_1 INTEGER(11) NOT NULL DEFAULT 0 AFTER use_advanced_optionset");
  71. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel1_id_2 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel1_id_1");
  72. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel1_id_3 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel1_id_2");
  73. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel2_id_1 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel1_id_3");
  74. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel2_id_2 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel2_id_1");
  75. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel2_id_3 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel2_id_2");
  76. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel3_id_1 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel2_id_3");
  77. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel3_id_2 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel3_id_1");
  78. mysql_query("ALTER TABLE ec_product MODIFY COLUMN menulevel3_id_3 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel3_id_2");
  79. mysql_query("ALTER TABLE ec_product MODIFY COLUMN featured_product_id_1 INTEGER(11) NOT NULL DEFAULT 0 AFTER menulevel3_id_3");
  80. mysql_query("ALTER TABLE ec_product MODIFY COLUMN featured_product_id_2 INTEGER(11) NOT NULL DEFAULT 0 AFTER featured_product_id_1");
  81. mysql_query("ALTER TABLE ec_product MODIFY COLUMN featured_product_id_3 INTEGER(11) NOT NULL DEFAULT 0 AFTER featured_product_id_2");
  82. mysql_query("ALTER TABLE ec_product MODIFY COLUMN featured_product_id_4 INTEGER(11) NOT NULL DEFAULT 0 AFTER featured_product_id_3");
  83. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_giftcard TINYINT(1) NOT NULL DEFAULT 0 AFTER featured_product_id_4");
  84. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_download TINYINT(1) NOT NULL DEFAULT 0 AFTER is_giftcard");
  85. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_donation TINYINT(1) NOT NULL DEFAULT 0 AFTER is_download");
  86. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_special TINYINT(1) NOT NULL DEFAULT 0 AFTER is_donation");
  87. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_taxable TINYINT(1) NOT NULL DEFAULT 1 AFTER is_special");
  88. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_subscription_item TINYINT(1) NOT NULL DEFAULT 0 AFTER is_taxable");
  89. mysql_query("ALTER TABLE ec_product MODIFY COLUMN is_preorder TINYINT(1) NOT NULL DEFAULT 0 AFTER is_subscription_item");
  90. mysql_query("ALTER TABLE ec_product MODIFY COLUMN added_to_db_date TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP AFTER is_preorder");
  91. mysql_query("ALTER TABLE ec_product MODIFY COLUMN show_on_startup TINYINT(1) NOT NULL DEFAULT 0 AFTER added_to_db_date");
  92. mysql_query("ALTER TABLE ec_product MODIFY COLUMN use_optionitem_images TINYINT(1) NOT NULL DEFAULT 0 AFTER show_on_startup");
  93. mysql_query("ALTER TABLE ec_product MODIFY COLUMN use_optionitem_quantity_tracking TINYINT(1) NOT NULL DEFAULT 0 AFTER use_optionitem_images");
  94. mysql_query("ALTER TABLE ec_product MODIFY COLUMN views INTEGER(11) NOT NULL DEFAULT 0 AFTER use_optionitem_quantity_tracking");
  95. mysql_query("ALTER TABLE ec_product MODIFY COLUMN last_viewed DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER views");
  96. mysql_query("ALTER TABLE ec_product MODIFY COLUMN show_stock_quantity TINYINT(1) NOT NULL DEFAULT 1 AFTER last_viewed");
  97. mysql_query("ALTER TABLE ec_product MODIFY COLUMN maximum_downloads_allowed INTEGER(11) NOT NULL DEFAULT 0 AFTER show_stock_quantity");
  98. mysql_query("ALTER TABLE ec_product MODIFY COLUMN download_timelimit_seconds INTEGER(11) NOT NULL DEFAULT 0 AFTER maximum_downloads_allowed");
  99. mysql_query("ALTER TABLE ec_product MODIFY COLUMN list_id VARCHAR(50) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER download_timelimit_seconds");
  100. mysql_query("ALTER TABLE ec_product MODIFY COLUMN edit_sequence VARCHAR(55) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER list_id");
  101. mysql_query("ALTER TABLE ec_product MODIFY COLUMN subscription_bill_length INTEGER(11) NOT NULL DEFAULT '1' AFTER edit_sequence");
  102. mysql_query("ALTER TABLE ec_product MODIFY COLUMN subscription_bill_period VARCHAR(20) COLLATE utf8_general_ci NOT NULL DEFAULT 'M' AFTER subscription_bill_length");
  103. mysql_query("ALTER TABLE ec_product MODIFY COLUMN trial_period_days INTEGER(11) NOT NULL DEFAULT '0' AFTER subscription_bill_period");
  104. mysql_query("ALTER TABLE ec_product MODIFY COLUMN stripe_plan_added TINYINT(1) NOT NULL DEFAULT '0' AFTER trial_period_days");
  105. mysql_query("ALTER TABLE ec_product MODIFY COLUMN subscription_plan_id INTEGER(11) NOT NULL DEFAULT '0' AFTER stripe_plan_added");
  106. mysql_query("ALTER TABLE ec_product MODIFY COLUMN allow_multiple_subscription_purchases TINYINT(1) NOT NULL DEFAULT '1' AFTER subscription_plan_id");
  107. mysql_query("ALTER TABLE ec_product MODIFY COLUMN membership_page VARCHAR(512) COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER allow_multiple_subscription_purchases");
  108. //create 2 variables for use later on
  109. $header = "";
  110. $data = "";
  111. $sqlquery = sprintf("select * from ec_product order by ec_product.product_id asc");
  112. $result = mysql_query($sqlquery) or die(mysql_error());
  113. $count = mysql_num_fields($result);
  114. //now loop through and get database field names
  115. for ($i = 0; $i < $count; $i++){
  116. $header .= mysql_field_name($result, $i)."\t";
  117. }
  118. while($row = mysql_fetch_row($result)){
  119. $line = '';
  120. foreach($row as $value){
  121. if(!isset($value) || $value == ""){
  122. $value = "\t";
  123. }else{
  124. # important to escape any quotes to preserve them in the data.
  125. $value = str_replace('"', '""', $value);
  126. # needed to encapsulate data in quotes because some data might be multi line.
  127. # the good news is that numbers remain numbers in Excel even though quoted.
  128. $value = '"' . utf8_decode($value) . '"' . "\t";
  129. }
  130. $line .= $value;
  131. }
  132. $data .= trim($line)."\n";
  133. }
  134. # this line is needed because returns embedded in the data have "\r"
  135. # and this looks like a "box character" in Excel
  136. $data = str_replace("\r", "\n", $data);
  137. # Nice to let someone know that the search came up empty.
  138. # Otherwise only the column name headers will be output to Excel.
  139. if ($data == "") {
  140. $data = "\nno matching records found\n";
  141. }
  142. # This line will stream the file to the user rather than spray it across the screen
  143. //header("Content-Type: application/vnd.ms-excel; name='excel'");
  144. header("Content-type: application/vnd.ms-excel");
  145. header("Content-Transfer-Encoding: binary");
  146. header("Content-Disposition: attachment; filename=exported_products.xls");
  147. header("Pragma: no-cache");
  148. header("Expires: 0");
  149. echo $header."\n".$data;
  150. } else {
  151. echo "Not Authorized...";
  152. }
  153. ?>