form_objects.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup TridentCore Samples
  7. * @{
  8. */
  9. /**
  10. * @page samples
  11. * @section form Form
  12. */
  13. /**
  14. * Please refer to the following file for custom class and SQL dump data for this example:
  15. * @see BxSampleForm.php
  16. */
  17. require_once('./../inc/header.inc.php');
  18. require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
  19. bx_import('BxDolLanguages');
  20. bx_import('BxDolForm');
  21. bx_import('BxDolTemplate');
  22. $oTemplate = BxDolTemplate::getInstance();
  23. $oTemplate->setPageNameIndex (BX_PAGE_DEFAULT);
  24. $oTemplate->setPageHeader ("Sample Form Object");
  25. $oTemplate->setPageContent ('page_main_code', PageCompMainCode());
  26. $oTemplate->getPageCode();
  27. /**
  28. * page code function
  29. */
  30. function PageCompMainCode()
  31. {
  32. // get database object
  33. $oDb = BxDolDb::getInstance();
  34. // get id of edited data
  35. $iEditId = bx_process_input(bx_get('id'), BX_DATA_INT);
  36. // display existing data
  37. ob_start();
  38. echo '<a href="' . BX_DOL_URL_ROOT . 'samples/form_objects.php">Add new</a> or edit:<hr class="bx-def-hr" />';
  39. $a = $oDb->getAllWithKey("SELECT * FROM `sample_input_types`", 'id');
  40. foreach ($a as $r) {
  41. if ($iEditId == $r['id'])
  42. echo $r['text'] . '<br />'; // currently edited data
  43. else
  44. echo '<a href="' . BX_DOL_URL_ROOT . 'samples/form_objects.php?id=' . $r['id'] . '">' . $r['text'] . '</a><br />'; // data with link to edit it
  45. }
  46. $ss = ob_get_clean();
  47. ob_start();
  48. if ($iEditId) {
  49. // display edit form
  50. $oForm = BxDolForm::getObjectInstance('sample_form_objects', 'sample_form_objects_edit'); // get form instance for specified form object and display
  51. if (!$oForm)
  52. die('"sample_form_objects_edit" form object or "sample_form_objects_edit" display is not defined');
  53. $oForm->initChecker($a[$iEditId]); // init form checker with edited data
  54. if ($oForm->isSubmittedAndValid()) {
  55. if ($oForm->update ($iEditId)) // update database
  56. echo MsgBox('Data has been updated');
  57. else
  58. echo MsgBox('Data update failed');
  59. } else {
  60. echo $oForm->getCode(); // display form
  61. }
  62. } else {
  63. // display add form
  64. $oForm = BxDolForm::getObjectInstance('sample_form_objects', 'sample_form_objects_add'); // get form instance for specified form object and display
  65. if (!$oForm)
  66. die('"sample_form_objects_add" form object or "sample_form_objects_add" display is not defined');
  67. $oForm->initChecker(); // init form checker witout any data - adding new record
  68. if ($oForm->isSubmittedAndValid()) {
  69. if ($oForm->insert ()) // add new record to the database
  70. echo MsgBox('Data has been added');
  71. else
  72. echo MsgBox('Data add failed');
  73. } else {
  74. echo $oForm->getCode(); // display form
  75. }
  76. }
  77. $s = ob_get_clean();
  78. return DesignBoxContent("Sample Form Object", $ss, BX_DB_PADDING_DEF) . DesignBoxContent($iEditId ? "Edit" : "Add New", $s, BX_DB_PADDING_DEF);
  79. }
  80. /** @} */