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

/sys/modules/system_defaults/edit.php

http://simpleinvoices.googlecode.com/
PHP | 371 lines | 248 code | 94 blank | 29 comment | 80 complexity | a92814c8652d689f9d6a955c52df2538 MD5 | raw file
Possible License(s): GPL-3.0, LGPL-2.1, GPL-2.0, LGPL-3.0
  1. <?php
  2. //stop the direct browsing to this file - let index.php handle which files get displayed
  3. checkLogin();
  4. $SI_SYSTEM_DEFAULTS = new SimpleInvoices_Db_Table_SystemDefaults();
  5. $SI_PAYMENT_TYPES = new SimpleInvoices_Db_Table_PaymentTypes();
  6. $SI_CUSTOMERS = new SimpleInvoices_Db_Table_Customers();
  7. $SI_TAX = new SimpleInvoices_Db_Table_Tax();
  8. $SI_BILLER = new SimpleInvoices_Db_Table_Biller();
  9. $SI_PREFERENCES = new SimpleInvoices_Db_Table_Preferences();
  10. #system defaults query
  11. $defaults = $SI_SYSTEM_DEFAULTS->fetchAll();
  12. if ($_GET["submit"] == "line_items") {
  13. jsBegin();
  14. jsFormValidationBegin("frmpost");
  15. jsValidateifNum("def_num_line_items","Default number of line items");
  16. jsFormValidationEnd();
  17. jsEnd();
  18. $default = "line_items";
  19. $escaped = htmlsafe($defaults[line_items]);
  20. $value = <<<EOD
  21. <input type="text" size="25" name="value" value="$escaped">
  22. EOD;
  23. $description = "{$LANG['default_number_items']}";
  24. }
  25. else if ($_GET["submit"] == "rows_per_page") {
  26. jsBegin();
  27. jsFormValidationBegin("frmpost");
  28. jsValidateifNum("def_num_rows_per_page","Define number of rows per page");
  29. jsFormValidationEnd();
  30. jsEnd();
  31. $default = "rows_per_page";
  32. $escaped = htmlsafe($defaults[rows_per_page]);
  33. $value = <<<EOD
  34. <input type="text" size="25" name="value" value="$escaped">
  35. EOD;
  36. $description = "{$LANG['default_rows_per_page']}";
  37. }
  38. else if ($_GET["submit"] == "def_inv_template") {
  39. $default = "template";
  40. /*drop down list code for invoice template - only show the folder names in src/invoices/templates*/
  41. $handle=opendir(APPLICATION_PATH."/../sys/templates/invoices/");
  42. while ($template = readdir($handle)) {
  43. if ($template != ".." && $template != "." && $template !="logos" && $template !=".svn" && $template !="template.php" && $template !="template.php~" ) {
  44. $files[] = $template;
  45. }
  46. }
  47. closedir($handle);
  48. foreach($config->extension as $extension)
  49. {
  50. /*
  51. * If extension is enabled then continue and include the requested file for that extension if it exists
  52. */
  53. if($extension->enabled == "1") {
  54. $handle=opendir(APPLICATION_PATH.'/../sys/extensions/' . $extension->name . '/templates/invoices/');
  55. while ($template = readdir($handle)) {
  56. if ($template != ".." && $template != "." && $template !="logos" && $template !=".svn" && $template !="template.php" && $template !="template.php~" ) {
  57. $files[] = $template;
  58. }
  59. }
  60. closedir($handle);
  61. }
  62. }
  63. sort($files);
  64. $escaped = htmlsafe($defaults[template]);
  65. $display_block_templates_list = <<<EOD
  66. <select name="value">
  67. EOD;
  68. $display_block_templates_list .= <<<EOD
  69. <option selected value='$escaped' style="font-weight: bold" >$escaped</option>
  70. EOD;
  71. foreach ( $files as $var )
  72. {
  73. $var = htmlsafe($var);
  74. $display_block_templates_list .= "<option value='$var' >";
  75. $display_block_templates_list .= $var;
  76. $display_block_templates_list .= "</option>";
  77. }
  78. $display_block_templates_list .= "</select>";
  79. /*end drop down list section */
  80. /*start validataion section */
  81. jsBegin();
  82. jsFormValidationBegin("frmpost");
  83. jsValidateRequired("def_inv_template","{$LANG['default_inv_template']}");
  84. jsFormValidationEnd();
  85. jsEnd();
  86. /*end validataion section */
  87. $description = $LANG['default_inv_template'];
  88. $value = $display_block_templates_list;
  89. //error_log($value);
  90. }
  91. else if ($_GET["submit"] == "biller") {
  92. $default = "biller";
  93. #biller query
  94. $billers = $SI_BILLER->fetchAllActive();
  95. if ($billers == null) {
  96. $display_block_biller = "<p><em>{$LANG['no_billers']}</em></p>";
  97. }
  98. else {
  99. $display_block_biller = '<select name="value">
  100. <option value="0"> </option>';
  101. foreach($billers as $biller) {
  102. $selected = $biller['id'] == $defaults['biller']?"selected style='font-weight: bold'":"";
  103. $escaped = htmlsafe($biller['name']);
  104. $display_block_biller .= <<<EOD
  105. <option $selected value="$biller[id]">$escaped</option>
  106. EOD;
  107. }
  108. $display_block_biller .= "</select>";
  109. }
  110. $description = "{$LANG['biller_name']}";
  111. $value = $display_block_biller;
  112. }
  113. else if ($_GET["submit"] == "customer") {
  114. $default = "customer";
  115. $customers = $SI_CUSTOMERS->fetchAllActive();
  116. if ($customers == null) {
  117. //no records
  118. $display_block_customer = "<p><em>{$LANG['no_customers']}</em></p>";
  119. } else {
  120. //has records, so display them
  121. $display_block_customer = '<select name="value">
  122. <option value="0"> </option>';
  123. foreach($customers as $customer) {
  124. $selected = $customer['id'] == $defaults['customer']?"selected style='font-weight: bold'":"";
  125. $escaped = htmlsafe($customer['name']);
  126. $display_block_customer .= <<<EOD
  127. <option $selected value="$customer[id]">$escaped</option>
  128. EOD;
  129. }
  130. $display_block_customer .= "</select>";
  131. }
  132. $description = "{$LANG['customer_name']}";
  133. $value = $display_block_customer;
  134. }
  135. else if ($_GET['submit'] == "tax") {
  136. $default = "tax";
  137. $taxes = $SI_TAX->fetchAllActive();
  138. if ($taxes == null) {
  139. //no records
  140. $display_block_tax = "<p><em>{$LANG['no_tax_rates']}</em></p>";
  141. } else {
  142. //has records, so display them
  143. $display_block_tax = <<<EOD
  144. <select name="value">
  145. <option value='0'> </option>
  146. EOD;
  147. foreach($taxes as $tax) {
  148. $selected = $tax['tax_id'] == $defaults['tax']?"selected style='font-weight: bold'":"";
  149. $escaped = htmlsafe($tax['tax_description']);
  150. $display_block_tax .= <<<EOD
  151. <option $selected value="$tax[tax_id]">$escaped</option>
  152. EOD;
  153. }
  154. }
  155. $description = "{$LANG['tax']}";
  156. $value = $display_block_tax;
  157. }
  158. else if ($_GET["submit"] == "preference_id") {
  159. $pref = $SI_PREFERENCES->getPreferenceById($defaults['preference']);
  160. $preferences = $SI_PREFERENCES->fetchAllActive();
  161. if ($preferences == null) {
  162. //no records
  163. $display_block_preferences = "<p><em>{$LANG['no_preferences']}</em></p>";
  164. } else {
  165. $default = "preference";
  166. //has records, so display them
  167. $display_block_preferences = <<<EOD
  168. <select name="value">
  169. <option value='0'> </option>
  170. EOD;
  171. foreach($preferences as $preference) {
  172. $selected = $preference['pref_id'] == $defaults['preference']?"selected style='font-weight: bold'":"";
  173. $escaped = htmlsafe($preference['pref_description']);
  174. $display_block_preferences .= <<<EOD
  175. <option $selected value="{$preference['pref_id']}">
  176. $escaped</option>
  177. EOD;
  178. }
  179. }
  180. $value = $display_block_preferences;
  181. $description = "{$LANG['inv_pref']}";
  182. }
  183. else if ($_GET["submit"] == "def_payment_type") {
  184. $defpay = $SI_PAYMENT_TYPES->getDefault();
  185. $payments = $SI_PAYMENT_TYPES->fetchAllActive();
  186. if ($payments == null) {
  187. //no records
  188. $display_block_payment_type = "<p><em>{$LANG['payment_type']}</em></p>";
  189. } else {
  190. $default = "payment_type";
  191. //has records, so display them
  192. $display_block_payment_type = <<<EOD
  193. <select name="value">
  194. <option value='0'> </option>
  195. EOD;
  196. foreach($payments as $payment) {
  197. $selected = $payment['pt_id'] == $defaults['payment_type']?"selected style='font-weight: bold'":"";
  198. $escaped = htmlsafe($payment['pt_description']);
  199. $display_block_payment_type .= <<<EOD
  200. <option $selected value="{$payment['pt_id']}">
  201. $escaped</option>
  202. EOD;
  203. }
  204. }
  205. $description = "{$LANG['payment_type']}";
  206. $value = $display_block_payment_type;
  207. }
  208. else if ($_GET["submit"] == "delete") {
  209. $array = array(0 => $LANG['disabled'], 1=>$LANG['enabled']);
  210. $default = "delete";
  211. $description = $LANG['delete'];
  212. $value = dropDown($array, $defaults['delete']);
  213. }
  214. else if ($_GET['submit'] == "logging") {
  215. $array = array(0 => $LANG['disabled'], 1=>$LANG['enabled']);
  216. $default = "logging";
  217. $description = $LANG['logging'];
  218. $value = dropDown($array, $defaults[$default]);
  219. }
  220. else if($_GET['submit'] == "language") {
  221. $default = "language";
  222. $languages = getLanguageList($include_dir . 'sys/lang/');
  223. $system_defaults = new SimpleInvoices_Db_Table_SystemDefaults();
  224. $lang = $system_defaults->findByName('language');
  225. usort($languages,"compareNameIndex");
  226. $description = $LANG['language'];
  227. //print_r($languages);
  228. $value = "<select name='value'>";
  229. foreach($languages as $language) {
  230. $selected = "";
  231. if($language->shortname == $lang) {
  232. $selected = " selected ";
  233. }
  234. $value .= "<option $selected value='".htmlsafe($language->shortname)."'>".htmlsafe("$language->name ($language->englishname) ($language->shortname)")."</option>";
  235. }
  236. $value .= "</select>";
  237. }
  238. elseif ($_GET["submit"] == "tax_per_line_item") {
  239. $default = "tax_per_line_item";
  240. $escaped = htmlsafe($defaults[tax_per_line_item]);
  241. $value = <<<EOD
  242. <input type="text" size="25" name="value" value="$escaped">
  243. EOD;
  244. $description = "{$LANG['number_of_taxes_per_line_item']}";
  245. }
  246. else if ($_GET['submit'] == "inventory") {
  247. $array = array(0 => $LANG['disabled'], 1=>$LANG['enabled']);
  248. $default = "inventory";
  249. $description = $LANG['inventory'];
  250. $value = dropDown($array, $defaults[$default]);
  251. }
  252. else {
  253. $description = "{$LANG['no_defaults']}";
  254. }
  255. /*$smarty->assign('pageActive', $pageActive);
  256. $smarty->assign('files', $files);
  257. $smarty->assign('customFieldLabel', $customFieldLabel);
  258. $smarty->assign('save', $save);
  259. $smarty->assign('lang', $lang);
  260. $smarty->assign('billers',$billers);*/
  261. $smarty->assign('defaults', $defaults);
  262. $smarty->assign('value',$value);
  263. $smarty->assign('description',$description);
  264. $smarty->assign('default',$default);
  265. /**
  266. * Help function for sorting the language array by name
  267. */
  268. function compareNameIndex($a,$b) {
  269. $a = $a->name."";
  270. $b = $b->name."";
  271. if($a > $b) {
  272. return 1;
  273. }
  274. return -1;
  275. }
  276. $smarty -> assign('pageActive', 'system_default');
  277. $smarty -> assign('active_tab', '#setting');