From d21fae1cdcdd3a3afa8fd01e37bd7e2ab7bb224a Mon Sep 17 00:00:00 2001 From: Txmod Xoops Date: Mon, 4 May 2015 15:10:04 +0200 Subject: [PATCH] minor adjustements added more files --- class/fields.php | 353 +++++++++--------- class/files/TDMCreateAbstract.php | 11 +- class/files/TDMCreateArchitecture.php | 48 ++- class/files/TDMCreateFile.php | 43 +-- class/files/TDMCreateStructure.php | 9 +- class/files/TDMCreateTableFields.php | 35 +- class/files/admin/AdminHeader.php | 18 +- class/files/admin/AdminIndex.php | 2 +- class/files/admin/AdminObjects.php | 65 +++- class/files/admin/AdminPages.php | 58 +-- class/files/admin/AdminPermissions.php | 6 +- class/files/classes/ClassFiles.php | 72 ++-- .../templates/admin/TemplatesAdminPages.php | 4 +- class/files/user/UserBroken.php | 241 ++++++++++++ class/files/user/UserHeader.php | 2 +- class/files/user/UserListTag.php | 109 ++++++ class/files/user/UserPdf.php | 242 ++++++++++++ class/files/user/UserPrint.php | 56 +-- class/files/user/UserRate.php | 242 ++++++++++++ class/files/user/UserRss.php | 31 +- class/files/user/UserSingle.php | 241 ++++++++++++ class/files/user/UserSubmit.php | 6 +- class/files/user/UserViewTag.php | 111 ++++++ class/files/user/UserVisit.php | 258 +++++++++++++ class/files/user/UserXoopsVersion.php | 29 +- class/form/TDMCreateFormRadio.php | 148 +------- 26 files changed, 1911 insertions(+), 529 deletions(-) create mode 100644 class/files/user/UserBroken.php create mode 100644 class/files/user/UserListTag.php create mode 100644 class/files/user/UserPdf.php create mode 100644 class/files/user/UserRate.php create mode 100644 class/files/user/UserSingle.php create mode 100644 class/files/user/UserViewTag.php create mode 100644 class/files/user/UserVisit.php diff --git a/class/fields.php b/class/fields.php index 9085015d..847f1790 100644 --- a/class/fields.php +++ b/class/fields.php @@ -19,9 +19,6 @@ * @version $Id: 1.91 fields.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); -/*require_once 'html/TDMCreateFormLabel.php'; -require_once 'form/TDMCreateFormRadio.php'; -require_once 'form/TDMCreateThemeForm.php';*/ include __DIR__ . '/TDMCreateAutoload.php'; /* @@ -142,27 +139,27 @@ private function getHeaderForm($action = false) /* * @public function getFormNew * - * @param null $field_mid - * @param null $field_tid - * @param null $field_numb - * @param null $field_name + * @param null $fieldMid + * @param null $fieldTid + * @param null $fieldNumb + * @param null $fieldName * @param bool $action * @return mixed */ - public function getFormNew($field_mid = null, $field_tid = null, $field_numb = null, $field_name = null, $action = false) + public function getFormNew($fieldMid = null, $fieldTid = null, $fieldNumb = null, $fieldName = null, $action = false) { // Header function class $fieldsForm = TDMCreateFields::getInstance(); $form = $fieldsForm->getHeaderForm($action); // Get handler tables $table_obj = $this->tdmcreate->getHandler('tables'); // Changed by goffy - $table_autoincrement = $table_obj->get($field_tid)->getVar('table_autoincrement'); // Added by goffy + $tableAutoincrement = $table_obj->get($fieldTid)->getVar('table_autoincrement'); // Added by goffy // Loop for fields number $class = 'even'; - for ($i = 1; $i <= $field_numb; ++$i) { + for ($i = 1; $i <= $fieldNumb; ++$i) { $class = ($class == 'even') ? 'odd' : 'even'; // Replaced creation of new line by new function - goffy - $this->getFormNewLine($form, $class, $i, $field_mid, $field_tid, $field_name, $table_autoincrement); + $this->getFormNewLine($form, $class, $i, $fieldMid, $fieldTid, $fieldName, $tableAutoincrement); } // Footer form @@ -175,129 +172,129 @@ public function getFormNew($field_mid = null, $field_tid = null, $field_numb = n * @param $form * @param $class * @param $i - * @param $field_mid - * @param $field_tid - * @param $f_name - * @param $table_autoincrement + * @param $fieldMid + * @param $fieldTid + * @param $fName + * @param $tableAutoincrement */ - private function getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, $table_autoincrement) + private function getFormNewLine($form, $class, $i, $fieldMid, $fieldTid, $fName, $tableAutoincrement) { $form->addElement(new XoopsFormHidden('field_id[' . $i . ']', 0)); - $form->addElement(new XoopsFormHidden('field_mid', $field_mid)); - $form->addElement(new XoopsFormHidden('field_tid', $field_tid)); + $form->addElement(new XoopsFormHidden('field_mid', $fieldMid)); + $form->addElement(new XoopsFormHidden('field_tid', $fieldTid)); $form->addElement(new TDMCreateFormLabel('')); // Index ID $form->addElement(new TDMCreateFormLabel('' . $i . '')); // Field Name - $this_field_name = (!empty($f_name) ? ((1 == $i) ? $f_name . '_id' : $f_name . '_') : ''); - $field_name = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name[' . $i . ']', 15, 255, $this_field_name); - $form->addElement(new TDMCreateFormLabel('' . $field_name->render() . '')); + $thisFieldName = (!empty($fName) ? ((1 == $i) ? $fName . '_id' : $fName . '_') : ''); + $fieldName = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name[' . $i . ']', 15, 255, $thisFieldName); + $form->addElement(new TDMCreateFormLabel('' . $fieldName->render() . '')); // Field Type - $value = (1 == $i) && (1 == $table_autoincrement) ? '2' : ''; - $fieldtype_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type[' . $i . ']', $value); - $fieldtype_select->addOptionArray($this->tdmcreate->getHandler('fieldtype')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $fieldtype_select->render() . '')); + $value = (1 == $i) && (1 == $tableAutoincrement) ? '2' : ''; + $fieldTypeSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type[' . $i . ']', $value); + $fieldTypeSelect->addOptionArray($this->tdmcreate->getHandler('fieldtype')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldTypeSelect->render() . '')); // Field Value - $value = (1 == $i) && (1 == $table_autoincrement) ? '8' : ''; - $field_value = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value[' . $i . ']', 5, 20, $value); - $form->addElement(new TDMCreateFormLabel('' . $field_value->render() . '')); + $value = (1 == $i) && (1 == $tableAutoincrement) ? '8' : ''; + $fieldValue = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value[' . $i . ']', 5, 20, $value); + $form->addElement(new TDMCreateFormLabel('' . $fieldValue->render() . '')); // Field Attributes - $value = (1 == $i) && (1 == $table_autoincrement) ? '3' : ''; - $field_attributes_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute[' . $i . ']', $value); - $field_attributes_select->addOptionArray($this->tdmcreate->getHandler('fieldattributes')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $field_attributes_select->render() . '')); + $value = (1 == $i) && (1 == $tableAutoincrement) ? '3' : ''; + $fieldAttributesSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute[' . $i . ']', $value); + $fieldAttributesSelect->addOptionArray($this->tdmcreate->getHandler('fieldattributes')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldAttributesSelect->render() . '')); // Field Null - $value = (1 == $i) && (1 == $table_autoincrement) ? '2' : ''; - $field_null_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null[' . $i . ']', $value); - $field_null_select->addOptionArray($this->tdmcreate->getHandler('fieldnull')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $field_null_select->render() . '')); + $value = (1 == $i) && (1 == $tableAutoincrement) ? '2' : ''; + $fieldNullSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null[' . $i . ']', $value); + $fieldNullSelect->addOptionArray($this->tdmcreate->getHandler('fieldnull')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldNullSelect->render() . '')); // Field Default - $field_default = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default[' . $i . ']', 15, 25); - $form->addElement(new TDMCreateFormLabel('' . $field_default->render() . '')); + $fieldDefault = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default[' . $i . ']', 15, 25); + $form->addElement(new TDMCreateFormLabel('' . $fieldDefault->render() . '')); // Field Key - $value = (1 == $i) && (1 == $table_autoincrement) ? '2' : ''; - $field_key_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key[' . $i . ']', $value); - $field_key_select->addOptionArray($this->tdmcreate->getHandler('fieldkey')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $field_key_select->render() . '')); + $value = (1 == $i) && (1 == $tableAutoincrement) ? '2' : ''; + $fieldKeySelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key[' . $i . ']', $value); + $fieldKeySelect->addOptionArray($this->tdmcreate->getHandler('fieldkey')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldKeySelect->render() . '')); // Field Void - if ((1 == $i) && (1 == $table_autoincrement)) { + if ((1 == $i) && (1 == $tableAutoincrement)) { $form->addElement(new TDMCreateFormLabel(' ')); } else { // Box header row - $parameters_tray = new XoopsFormElementTray('', '
'); + $parametersTray = new XoopsFormElementTray('', '
'); // Field Elements - $criteria_element = new CriteriaCompo(); - $criteria_element->add(new Criteria('fieldelement_tid', 0)); - $criteria_table = new CriteriaCompo(); - $criteria_table->add(new Criteria('fieldelement_mid', $field_mid)); - $field_elements_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element[' . $i . ']'); - $field_elements_select->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteria_element)); - $field_elements_select->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteria_table)); - unset($criteria_element, $criteria_table); - $parameters_tray->addElement($field_elements_select); + $criteriaElement = new CriteriaCompo(); + $criteriaElement->add(new Criteria('fieldelement_tid', 0)); + $criteriaTable = new CriteriaCompo(); + $criteriaTable->add(new Criteria('fieldelement_mid', $fieldMid)); + $fieldElementsSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element[' . $i . ']'); + $fieldElementsSelect->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteriaElement)); + $fieldElementsSelect->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteriaTable)); + unset($criteriaElement, $criteriaTable); + $parametersTray->addElement($fieldElementsSelect); $field_parent = 0; - $check_field_parent = new XoopsFormCheckBox(' ', 'field_parent[' . $i . ']'); - $check_field_parent->addOption($field_parent, _AM_TDMCREATE_FIELD_PARENT); - $parameters_tray->addElement($check_field_parent); - /*$field_parent = (1 == $table_autoincrement) ? 2 : 1; - $check_field_parent = new TDMCreateFormRadio('', 'field_parent', $field_parent); - $check_field_parent->addOption($i, _AM_TDMCREATE_FIELD_PARENT ); - $parameters_tray->addElement($check_field_parent);*/ - - $field_inlist = 0; - $check_field_inlist = new XoopsFormCheckBox(' ', 'field_inlist[' . $i . ']', $field_inlist); - $check_field_inlist->addOption(1, _AM_TDMCREATE_FIELD_INLIST); - $parameters_tray->addElement($check_field_inlist); - - $field_inform = 0; - $check_field_inform = new XoopsFormCheckBox(' ', 'field_inform[' . $i . ']', $field_inform); - $check_field_inform->addOption(1, _AM_TDMCREATE_FIELD_INFORM); - $parameters_tray->addElement($check_field_inform); - - $field_admin = 0; - $check_field_admin = new XoopsFormCheckBox(' ', 'field_admin[' . $i . ']', $field_admin); - $check_field_admin->addOption(1, _AM_TDMCREATE_FIELD_ADMIN); - $parameters_tray->addElement($check_field_admin); - - $field_user = 0; - $check_field_user = new XoopsFormCheckBox(' ', 'field_user[' . $i . ']', $field_user); - $check_field_user->addOption(1, _AM_TDMCREATE_FIELD_USER); - $parameters_tray->addElement($check_field_user); - - $field_block = 0; - $check_field_block = new XoopsFormCheckBox('', 'field_block[' . $i . ']', $field_block); - $check_field_block->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); - $parameters_tray->addElement($check_field_block); - - $field_main = (1 == $table_autoincrement) ? 2 : 1; - $check_field_main = new TDMCreateFormRadio('', 'field_main', $field_main); - $check_field_main->addOption($i, _AM_TDMCREATE_FIELD_MAINFIELD); - $parameters_tray->addElement($check_field_main); + $checkFieldParent = new XoopsFormCheckBox(' ', 'field_parent[' . $i . ']'); + $checkFieldParent->addOption($field_parent, _AM_TDMCREATE_FIELD_PARENT); + $parametersTray->addElement($checkFieldParent); + /*$field_parent = (1 == $tableAutoincrement) ? 2 : 1; + $checkFieldParent = new TDMCreateFormRadio('', 'field_parent', $field_parent); + $checkFieldParent->addOption($i, _AM_TDMCREATE_FIELD_PARENT ); + $parametersTray->addElement($checkFieldParent);*/ + + $field_inlist = 0; + $checkFieldInList = new XoopsFormCheckBox(' ', 'field_inlist[' . $i . ']', $field_inlist); + $checkFieldInList->addOption(1, _AM_TDMCREATE_FIELD_INLIST); + $parametersTray->addElement($checkFieldInList); + + $field_inform = 0; + $checkFieldInForm = new XoopsFormCheckBox(' ', 'field_inform[' . $i . ']', $field_inform); + $checkFieldInForm->addOption(1, _AM_TDMCREATE_FIELD_INFORM); + $parametersTray->addElement($checkFieldInForm); + + $field_admin = 0; + $checkFieldAdmin = new XoopsFormCheckBox(' ', 'field_admin[' . $i . ']', $field_admin); + $checkFieldAdmin->addOption(1, _AM_TDMCREATE_FIELD_ADMIN); + $parametersTray->addElement($checkFieldAdmin); + + $field_user = 0; + $checkFieldUser = new XoopsFormCheckBox(' ', 'field_user[' . $i . ']', $field_user); + $checkFieldUser->addOption(1, _AM_TDMCREATE_FIELD_USER); + $parametersTray->addElement($checkFieldUser); + + $field_block = 0; + $checkFieldBlock = new XoopsFormCheckBox('', 'field_block[' . $i . ']', $field_block); + $checkFieldBlock->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); + $parametersTray->addElement($checkFieldBlock); + + $fieldMain = (1 == $tableAutoincrement) ? 2 : 1; + $checkFieldMain = new TDMCreateFormRadio('', 'field_main', $fieldMain); + $checkFieldMain->addOption($i, _AM_TDMCREATE_FIELD_MAINFIELD); + $parametersTray->addElement($checkFieldMain); $field_search = 0; $check_field_search = new XoopsFormCheckBox(' ', 'field_search[' . $i . ']', $field_search); $check_field_search->addOption(1, _AM_TDMCREATE_FIELD_SEARCH); - $parameters_tray->addElement($check_field_search); + $parametersTray->addElement($check_field_search); - $field_required = 0; - $check_field_required = new XoopsFormCheckBox(' ', 'field_required[' . $i . ']', $field_required); - $check_field_required->addOption(1, _AM_TDMCREATE_FIELD_REQUIRED); - $parameters_tray->addElement($check_field_required); - $form->addElement(new TDMCreateFormLabel('
' . _AM_TDMCREATE_FIELD_PARAMETERS_LIST . '
' . $parameters_tray->render() . '
')); + $field_required = 0; + $checkFieldRequired = new XoopsFormCheckBox(' ', 'field_required[' . $i . ']', $field_required); + $checkFieldRequired->addOption(1, _AM_TDMCREATE_FIELD_REQUIRED); + $parametersTray->addElement($checkFieldRequired); + $form->addElement(new TDMCreateFormLabel('
' . _AM_TDMCREATE_FIELD_PARAMETERS_LIST . '
' . $parametersTray->render() . '
')); } } /* * @public function getFormEdit * - * @param null $field_mid - * @param null $field_tid + * @param null $fieldMid + * @param null $fieldTid * @param bool $action * @return mixed */ - public function getFormEdit($field_mid = null, $field_tid = null, $action = false) + public function getFormEdit($fieldMid = null, $fieldTid = null, $action = false) { // Header function class $fieldsForm = TDMCreateFields::getInstance(); @@ -305,117 +302,117 @@ public function getFormEdit($field_mid = null, $field_tid = null, $action = fals // $class = 'even'; // Get the number of fields - goffy - $tablesHandler =& $this->tdmcreate->getHandler('tables'); - $table_autoincrement = $tablesHandler->get($field_tid)->getVar('table_autoincrement'); - $field_numb = $tablesHandler->get($field_tid)->getVar('table_nbfields'); - $f_name = $tablesHandler->get($field_tid)->getVar('table_fieldname'); + $tablesHandler =& $this->tdmcreate->getHandler('tables'); + $tableAutoincrement = $tablesHandler->get($fieldTid)->getVar('table_autoincrement'); + $fieldNumb = $tablesHandler->get($fieldTid)->getVar('table_nbfields'); + $fName = $tablesHandler->get($fieldTid)->getVar('table_fieldname'); // Get the list of fields $criteria = new CriteriaCompo(); - $criteria->add(new Criteria('field_mid', $field_mid)); - $criteria->add(new Criteria('field_tid', $field_tid)); + $criteria->add(new Criteria('field_mid', $fieldMid)); + $criteria->add(new Criteria('field_tid', $fieldTid)); $criteria->setSort('field_id'); //added by goffy $fields = $this->tdmcreate->getHandler('fields')->getObjects($criteria); unset($criteria); $id = 1; foreach ($fields as $field) { - $class = ($class == 'even') ? 'odd' : 'even'; - $field_id = (int) ($field->getVar('field_id')); - if ($id > $field_numb) { // delete additional fields, if number of fields is reduced - goffy - $fieldsObj =& $this->tdmcreate->getHandler('fields')->get($field_id); + $class = ($class == 'even') ? 'odd' : 'even'; + $fieldId = (int) ($field->getVar('field_id')); + if ($id > $fieldNumb) { // delete additional fields, if number of fields is reduced - goffy + $fieldsObj =& $this->tdmcreate->getHandler('fields')->get($fieldId); $this->tdmcreate->getHandler('fields')->delete($fieldsObj, true); } else { // show field with settings - $form->addElement(new XoopsFormHidden('field_id[' . $id . ']', $field_id)); - //$form->addElement(new XoopsFormHidden('field_mid', $field_mid)); - //$form->addElement(new XoopsFormHidden('field_tid', $field_tid)); + $form->addElement(new XoopsFormHidden('field_id[' . $id . ']', $fieldId)); + //$form->addElement(new XoopsFormHidden('field_mid', $fieldMid)); + //$form->addElement(new XoopsFormHidden('field_tid', $fieldTid)); $form->addElement(new TDMCreateFormLabel('')); // Index ID $form->addElement(new TDMCreateFormLabel('' . $id . '')); // Field Name - $field_name = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name[' . $id . ']', 15, 255, $field->getVar('field_name')); - $form->addElement(new TDMCreateFormLabel('' . $field_name->render() . '')); + $fieldName = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name[' . $id . ']', 15, 255, $field->getVar('field_name')); + $form->addElement(new TDMCreateFormLabel('' . $fieldName->render() . '')); // Field Type - $fieldtype_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type[' . $id . ']', $field->getVar('field_type')); - $fieldtype_select->addOptionArray($this->tdmcreate->getHandler('fieldtype')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $fieldtype_select->render() . '')); + $fieldTypeSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type[' . $id . ']', $field->getVar('field_type')); + $fieldTypeSelect->addOptionArray($this->tdmcreate->getHandler('fieldtype')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldTypeSelect->render() . '')); // Field Value - $field_value = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value[' . $id . ']', 5, 20, $field->getVar('field_value')); - $form->addElement(new TDMCreateFormLabel('' . $field_value->render() . '')); + $fieldValue = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value[' . $id . ']', 5, 20, $field->getVar('field_value')); + $form->addElement(new TDMCreateFormLabel('' . $fieldValue->render() . '')); // Field Attributes - $field_attributes_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute[' . $id . ']', $field->getVar('field_attribute')); - $field_attributes_select->addOptionArray($this->tdmcreate->getHandler('fieldattributes')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $field_attributes_select->render() . '')); + $fieldAttributesSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute[' . $id . ']', $field->getVar('field_attribute')); + $fieldAttributesSelect->addOptionArray($this->tdmcreate->getHandler('fieldattributes')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldAttributesSelect->render() . '')); // Field Null - $field_null_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null[' . $id . ']', $field->getVar('field_null')); - $field_null_select->addOptionArray($this->tdmcreate->getHandler('fieldnull')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $field_null_select->render() . '')); + $fieldNullSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null[' . $id . ']', $field->getVar('field_null')); + $fieldNullSelect->addOptionArray($this->tdmcreate->getHandler('fieldnull')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldNullSelect->render() . '')); // Field Default - $field_default = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default[' . $id . ']', 15, 25, $field->getVar('field_default')); - $form->addElement(new TDMCreateFormLabel('' . $field_default->render() . '')); + $fieldDefault = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default[' . $id . ']', 15, 25, $field->getVar('field_default')); + $form->addElement(new TDMCreateFormLabel('' . $fieldDefault->render() . '')); // Field Key - $field_key_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key[' . $id . ']', $field->getVar('field_key')); - $field_key_select->addOptionArray($this->tdmcreate->getHandler('fieldkey')->getList()); - $form->addElement(new TDMCreateFormLabel('' . $field_key_select->render() . '')); + $fieldKeySelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key[' . $id . ']', $field->getVar('field_key')); + $fieldKeySelect->addOptionArray($this->tdmcreate->getHandler('fieldkey')->getList()); + $form->addElement(new TDMCreateFormLabel('' . $fieldKeySelect->render() . '')); // Field Void - if ((1 == $id) && (1 == $table_autoincrement)) { + if ((1 == $id) && (1 == $tableAutoincrement)) { $form->addElement(new TDMCreateFormLabel(' ')); } else { // Box header row - $parameters_tray = new XoopsFormElementTray('', '
'); + $parametersTray = new XoopsFormElementTray('', '
'); // Field Elements - $criteria_element = new CriteriaCompo(); - $criteria_element->add(new Criteria('fieldelement_tid', 0)); - $criteria_table = new CriteriaCompo(); - $criteria_table->add(new Criteria('fieldelement_mid', $field_mid)); - $field_elements_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element[' . $id . ']', $field->getVar('field_element')); - $field_elements_select->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteria_element)); - $field_elements_select->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteria_table)); - unset($criteria_element, $criteria_table); - $parameters_tray->addElement($field_elements_select); - - $check_field_parent = new XoopsFormCheckBox(' ', 'field_parent[' . $id . ']', $field->getVar('field_parent')); - $check_field_parent->addOption(1, _AM_TDMCREATE_FIELD_PARENT); - $parameters_tray->addElement($check_field_parent); + $criteriaElement = new CriteriaCompo(); + $criteriaElement->add(new Criteria('fieldelement_tid', 0)); + $criteriaTable = new CriteriaCompo(); + $criteriaTable->add(new Criteria('fieldelement_mid', $fieldMid)); + $fieldElementsSelect = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element[' . $id . ']', $field->getVar('field_element')); + $fieldElementsSelect->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteriaElement)); + $fieldElementsSelect->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteriaTable)); + unset($criteriaElement, $criteriaTable); + $parametersTray->addElement($fieldElementsSelect); + + $checkFieldParent = new XoopsFormCheckBox(' ', 'field_parent[' . $id . ']', $field->getVar('field_parent')); + $checkFieldParent->addOption(1, _AM_TDMCREATE_FIELD_PARENT); + $parametersTray->addElement($checkFieldParent); /*$field_parent = ($field->getVar('field_parent') == 1) ? $id : 1; - $check_field_parent = new TDMCreateFormRadio('', 'field_parent', $field_parent); - $check_field_parent->addOption($id, _AM_TDMCREATE_FIELD_PARENT ); - $parameters_tray->addElement($check_field_parent);*/ + $checkFieldParent = new TDMCreateFormRadio('', 'field_parent', $field_parent); + $checkFieldParent->addOption($id, _AM_TDMCREATE_FIELD_PARENT ); + $parametersTray->addElement($checkFieldParent);*/ - $check_field_inlist = new XoopsFormCheckBox(' ', 'field_inlist[' . $id . ']', $field->getVar('field_inlist')); - $check_field_inlist->addOption(1, _AM_TDMCREATE_FIELD_INLIST); - $parameters_tray->addElement($check_field_inlist); + $checkFieldInList = new XoopsFormCheckBox(' ', 'field_inlist[' . $id . ']', $field->getVar('field_inlist')); + $checkFieldInList->addOption(1, _AM_TDMCREATE_FIELD_INLIST); + $parametersTray->addElement($checkFieldInList); - $check_field_inform = new XoopsFormCheckBox(' ', 'field_inform[' . $id . ']', $field->getVar('field_inform')); - $check_field_inform->addOption(1, _AM_TDMCREATE_FIELD_INFORM); - $parameters_tray->addElement($check_field_inform); + $checkFieldInForm = new XoopsFormCheckBox(' ', 'field_inform[' . $id . ']', $field->getVar('field_inform')); + $checkFieldInForm->addOption(1, _AM_TDMCREATE_FIELD_INFORM); + $parametersTray->addElement($checkFieldInForm); - $check_field_admin = new XoopsFormCheckBox(' ', 'field_admin[' . $id . ']', $field->getVar('field_admin')); - $check_field_admin->addOption(1, _AM_TDMCREATE_FIELD_ADMIN); - $parameters_tray->addElement($check_field_admin); + $checkFieldAdmin = new XoopsFormCheckBox(' ', 'field_admin[' . $id . ']', $field->getVar('field_admin')); + $checkFieldAdmin->addOption(1, _AM_TDMCREATE_FIELD_ADMIN); + $parametersTray->addElement($checkFieldAdmin); - $check_field_user = new XoopsFormCheckBox(' ', 'field_user[' . $id . ']', $field->getVar('field_user')); - $check_field_user->addOption(1, _AM_TDMCREATE_FIELD_USER); - $parameters_tray->addElement($check_field_user); + $checkFieldUser = new XoopsFormCheckBox(' ', 'field_user[' . $id . ']', $field->getVar('field_user')); + $checkFieldUser->addOption(1, _AM_TDMCREATE_FIELD_USER); + $parametersTray->addElement($checkFieldUser); - $check_field_block = new XoopsFormCheckBox('', 'field_block[' . $id . ']', $field->getVar('field_block')); - $check_field_block->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); - $parameters_tray->addElement($check_field_block); + $checkFieldBlock = new XoopsFormCheckBox('', 'field_block[' . $id . ']', $field->getVar('field_block')); + $checkFieldBlock->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); + $parametersTray->addElement($checkFieldBlock); - $field_main = (1 == $field->getVar('field_main')) ? $id : 1; - $check_field_main = new TDMCreateFormRadio('', 'field_main', $field_main); - $check_field_main->addOption($id, _AM_TDMCREATE_FIELD_MAINFIELD); - $parameters_tray->addElement($check_field_main); + $fieldMain = (1 == $field->getVar('field_main')) ? $id : 1; + $checkFieldMain = new TDMCreateFormRadio('', 'field_main', $fieldMain); + $checkFieldMain->addOption($id, _AM_TDMCREATE_FIELD_MAINFIELD); + $parametersTray->addElement($checkFieldMain); $check_field_search = new XoopsFormCheckBox(' ', 'field_search[' . $id . ']', $field->getVar('field_search')); $check_field_search->addOption(1, _AM_TDMCREATE_FIELD_SEARCH); - $parameters_tray->addElement($check_field_search); + $parametersTray->addElement($check_field_search); - $check_field_required = new XoopsFormCheckBox(' ', 'field_required[' . $id . ']', $field->getVar('field_required')); - $check_field_required->addOption(1, _AM_TDMCREATE_FIELD_REQUIRED); - $parameters_tray->addElement($check_field_required); - $form->addElement(new TDMCreateFormLabel('
' . _AM_TDMCREATE_FIELD_PARAMETERS_LIST . '
' . $parameters_tray->render() . '
')); + $checkFieldRequired = new XoopsFormCheckBox(' ', 'field_required[' . $id . ']', $field->getVar('field_required')); + $checkFieldRequired->addOption(1, _AM_TDMCREATE_FIELD_REQUIRED); + $parametersTray->addElement($checkFieldRequired); + $form->addElement(new TDMCreateFormLabel('
' . _AM_TDMCREATE_FIELD_PARAMETERS_LIST . '
' . $parametersTray->render() . '
')); } } ++$id; @@ -423,9 +420,9 @@ public function getFormEdit($field_mid = null, $field_tid = null, $action = fals // If you change number fields in tables, // adding missing fields or delete unnecessary fields // By goffy - for ($i = $id; $i <= $field_numb; ++$i) { + for ($i = $id; $i <= $fieldNumb; ++$i) { $class = ($class == 'even') ? 'odd' : 'even'; - $this->getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, $table_autoincrement); + $this->getFormNewLine($form, $class, $i, $fieldMid, $fieldTid, $fName, $tableAutoincrement); } unset($id); @@ -446,10 +443,10 @@ private function getFooterForm($form) // Send Form Data $form->addElement(new TDMCreateFormLabel('')); $form->addElement(new TDMCreateFormLabel('')); - $form_hidden = new XoopsFormHidden('op', 'save'); - $form_button = new XoopsFormButton('', 'submit', _SUBMIT, 'submit'); - $form->addElement(new TDMCreateFormLabel('' . $form_hidden->render() . '')); - $form->addElement(new TDMCreateFormLabel('' . $form_button->render() . '')); + $formHidden = new XoopsFormHidden('op', 'save'); + $formButton = new XoopsFormButton('', 'submit', _SUBMIT, 'submit'); + $form->addElement(new TDMCreateFormLabel('' . $formHidden->render() . '')); + $form->addElement(new TDMCreateFormLabel('' . $formButton->render() . '')); $form->addElement(new TDMCreateFormLabel('')); return $form; diff --git a/class/files/TDMCreateAbstract.php b/class/files/TDMCreateAbstract.php index 03f32992..c970ada6 100644 --- a/class/files/TDMCreateAbstract.php +++ b/class/files/TDMCreateAbstract.php @@ -16,17 +16,20 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: abstract.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: TDMCreateAbstract.php 12258 2014-01-02 09:33:29Z timgno $ */ - defined('XOOPS_ROOT_PATH') or die('Restricted access'); - /** * Abstract base class */ abstract class TDMCreateAbstract { - /** + /* + * @var mixed + */ + protected $tdmcreate; + + /** * "module" attribute fot files * * @var mixed diff --git a/class/files/TDMCreateArchitecture.php b/class/files/TDMCreateArchitecture.php index 5f1496ba..b4820794 100644 --- a/class/files/TDMCreateArchitecture.php +++ b/class/files/TDMCreateArchitecture.php @@ -243,7 +243,6 @@ public function createFilesToBuilding($module) // Module $modId = $module->getVar('mod_id'); $moduleDirname = $module->getVar('mod_dirname'); - $uploadTablesIcons32 = $this->structure->getUploadPath() . '/images/tables'; $icon32 = 'assets/icons/32'; // Id of tables $criteriaTables = new CriteriaCompo(); @@ -252,7 +251,7 @@ public function createFilesToBuilding($module) unset($criteriaTables); $ret = array(); // - $table = null; + $table = array(); foreach (array_keys($tables) as $t) { $tableMid = $tables[$t]->getVar('table_mid'); $tableId = $tables[$t]->getVar('table_id'); @@ -268,7 +267,7 @@ public function createFilesToBuilding($module) // Get Table Object $table = $this->tdmcreate->getHandler('tables')->get($tableId); // Copy of tables images file - if (file_exists($uploadTableImage = $uploadTablesIcons32 . '/' . $tableImage)) { + if (file_exists($uploadTableImage = TDMC_UPLOAD_IMGTAB_PATH . '/' . $tableImage)) { $this->structure->copyFile($icon32, $uploadTableImage, $tableImage); } elseif (file_exists($uploadTableImage = XOOPS_ICONS32_PATH . '/' . $tableImage)) { $this->structure->copyFile($icon32, $uploadTableImage, $tableImage); @@ -300,7 +299,7 @@ public function createFilesToBuilding($module) // Class Files $classFiles = ClassFiles::getInstance(); $classFiles->write($module, $table, $tables); - $ret[] = $classFiles->renderFile($tableName . '.php'); + $ret[] = $classFiles->renderFile($tableName . '.php'); } // Creation of user files if (1 == $tableUser) { @@ -321,7 +320,7 @@ public function createFilesToBuilding($module) if (1 == $module->getVar('mod_admin')) { // Admin Header File $adminHeader = AdminHeader::getInstance(); - $adminHeader->write($module, $table, 'header.php'); + $adminHeader->write($module, $table, $tables, 'header.php'); $ret[] = $adminHeader->render(); // Admin Index File $adminIndex = AdminIndex::getInstance(); @@ -381,16 +380,16 @@ public function createFilesToBuilding($module) $ret[] = $languageBlocks->render(); } // Creation of admin permission files - if (1 == $table->getVar('table_permissions')) { - // Admin Permissions File - $adminPermissions = AdminPermissions::getInstance(); - $adminPermissions->write($module, $tables, 'permissions.php'); - $ret[] = $adminPermissions->render(); - // Templates Admin Permissions File - $adminTemplatesPermissions = TemplatesAdminPermissions::getInstance(); - $adminTemplatesPermissions->write($module, $moduleDirname . '_admin_permissions.tpl'); - $ret[] = $adminTemplatesPermissions->render(); - } + if (1 == $table->getVar('table_permissions')) { + // Admin Permissions File + $adminPermissions = AdminPermissions::getInstance(); + $adminPermissions->write($module, $tables, 'permissions.php'); + $ret[] = $adminPermissions->render(); + // Templates Admin Permissions File + $adminTemplatesPermissions = TemplatesAdminPermissions::getInstance(); + $adminTemplatesPermissions->write($module, $moduleDirname . '_admin_permissions.tpl'); + $ret[] = $adminTemplatesPermissions->render(); + } // Creation of notifications files if (1 == $table->getVar('table_notifications')) { // Include Notifications File @@ -447,7 +446,8 @@ public function createFilesToBuilding($module) $includeCommentFunctions->write($module, $table, 'comment_functions.php'); $ret[] = $includeCommentFunctions->renderFile(); } - } + + } // Creation of admin files if (1 == $module->getVar('mod_admin')) { // Templates Index File @@ -464,7 +464,7 @@ public function createFilesToBuilding($module) $ret[] = $userTemplatesHeader->render(); } // Creation of user files - if (1 == $module->getVar('mod_user')) { + if ((1 == $module->getVar('mod_user')) && (1 == $table->getVar('table_user'))) { // User Footer File $userFooter = UserFooter::getInstance(); $userFooter->write($module, 'footer.php'); @@ -474,10 +474,22 @@ public function createFilesToBuilding($module) $userHeader->write($module, $table, $tables, 'header.php'); $ret[] = $userHeader->render(); // User Notification Update File - if ((1 == $module->getVar('mod_notifications'))) { + if ((1 == $module->getVar('mod_notifications')) && (1 == $table->getVar('table_notifications'))) { $userNotificationUpdate = UserNotificationUpdate::getInstance(); $userNotificationUpdate->write($module, 'notification_update.php'); $ret[] = $userNotificationUpdate->render(); + } + // User Print File + if ((1 == $table->getVar('table_print'))) { + $userPrint = UserPrint::getInstance(); + $userPrint->write($module, $table, 'print.php'); + $ret[] = $userPrint->render(); + } + // User Rss File + if ((1 == $table->getVar('table_rss'))) { + $userRss = UserRss::getInstance(); + $userRss->write($module, $table, 'rss.php'); + $ret[] = $userRss->render(); } // User Index File $userIndex = UserIndex::getInstance(); diff --git a/class/files/TDMCreateFile.php b/class/files/TDMCreateFile.php index b9a6b7db..14f546be 100644 --- a/class/files/TDMCreateFile.php +++ b/class/files/TDMCreateFile.php @@ -16,11 +16,10 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: file.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: TDMCreateFile.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); -require_once 'TDMCreateTableFields.php'; xoops_load('XoopsFile'); /** @@ -116,24 +115,16 @@ public static function &getInstance() return $instance; } - /* - * @public function create - * @param string $moduleDirname - * @param string $subdir - * @param string $fileName - * @param string $content - * @param mixed $created - * @param mixed $notCreated - * @param string $mode - */ /** - * @param $moduleDirname - * @param null $subdir - * @param $fileName - * @param string $content - * @param bool $created - * @param bool $notCreated - * @param string $mode + * @public function create + * + * @param $moduleDirname + * @param $subdir + * @param $fileName + * @param $content + * @param $created + * @param $notCreated + * @param $mode */ public function create($moduleDirname, $subdir = null, $fileName, $content = '', $created = false, $notCreated = false, $mode = 'w+') { @@ -141,7 +132,7 @@ public function create($moduleDirname, $subdir = null, $fileName, $content = '', $this->created = $created; $this->notCreated = $notCreated; $this->setMode($mode); - $this->setModulePath($moduleDirname); + $this->setRepositoryPath($moduleDirname); if (!empty($content) && is_string($content)) { $this->setContent($content); } @@ -175,25 +166,25 @@ private function getPath() } /* - * @private function setModulePath + * @private function setRepositoryPath * @param string $moduleDirname */ /** * @param $moduleDirname */ - private function setModulePath($moduleDirname) + private function setRepositoryPath($moduleDirname) { $this->uploadPath = TDMC_UPLOAD_REPOSITORY_PATH . DIRECTORY_SEPARATOR . $moduleDirname; } /* - * @private function getModulePath + * @private function getRepositoryPath * @param null */ /** * @return string */ - private function getModulePath() + private function getRepositoryPath() { return $this->uploadPath; } @@ -297,9 +288,9 @@ private function getFolderName() private function getUploadPath() { if ($this->getSubDir() != null) { - $ret = $this->getModulePath() . DIRECTORY_SEPARATOR . $this->getSubDir(); + $ret = $this->getRepositoryPath() . DIRECTORY_SEPARATOR . $this->getSubDir(); } else { - $ret = $this->getModulePath(); + $ret = $this->getRepositoryPath(); } return $ret; diff --git a/class/files/TDMCreateStructure.php b/class/files/TDMCreateStructure.php index 3a0a7366..d73e626b 100644 --- a/class/files/TDMCreateStructure.php +++ b/class/files/TDMCreateStructure.php @@ -19,14 +19,12 @@ * @version $Id: TDMCreateStructure.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); -xoops_load('XoopsFile'); - /** * Class TDMCreateStructure */ class TDMCreateStructure -{ - /* +{ + /* * @var mixed */ private $xoopsFile; @@ -60,7 +58,8 @@ class TDMCreateStructure */ public function __construct() { - $this->xoopsFile = XoopsFile::getInstance(); + //parent::__construct(); + $this->xoopsFile = XoopsFile::getInstance(); } /* diff --git a/class/files/TDMCreateTableFields.php b/class/files/TDMCreateTableFields.php index 74999303..c76b1990 100644 --- a/class/files/TDMCreateTableFields.php +++ b/class/files/TDMCreateTableFields.php @@ -16,47 +16,34 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: tablefields.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: TDMCreateTableFields.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); -require_once 'TDMCreateAbstract.php'; - /** * Class TDMCreateTableFields */ class TDMCreateTableFields extends TDMCreateAbstract { - /* - * @var string - */ - protected $tdmcreate; - - /* - * @public function constructor - * @param mixed $table - */ /** - * + * @public function constructor + * @param mixed $table */ public function __construct() { $this->tdmcreate = TDMCreateHelper::getInstance(); } - /* - * @public function getTableFields - * @param integer $table_id - */ /** - * @param $table_id - * @return mixed + * @public function getTableFields + * @param $tableId + * @return mixed */ - public function getTableFields($table_id) + public function getTableFields($tableId) { - $criteriaFields = new CriteriaCompo(); - $criteriaFields->add(new Criteria('field_tid', $table_id)); - $fields = $this->tdmcreate->getHandler('fields')->getObjects($criteriaFields); - unset($criteriaFields); + $criteria = new CriteriaCompo(); + $criteria->add(new Criteria('field_tid', $tableId)); + $fields = $this->tdmcreate->getHandler('fields')->getObjects($criteria); + unset($criteria); return $fields; } diff --git a/class/files/admin/AdminHeader.php b/class/files/admin/AdminHeader.php index c605709e..09fbf287 100644 --- a/class/files/admin/AdminHeader.php +++ b/class/files/admin/AdminHeader.php @@ -66,10 +66,11 @@ public static function &getInstance() * @param $table * @param $filename */ - public function write($module, $table, $filename) + public function write($module, $table, $tables, $filename) { $this->setModule($module); $this->setTable($table); + $this->setTables($tables); $this->setFileName($filename); } @@ -83,11 +84,11 @@ public function write($module, $table, $filename) * @param $table * @return string */ - private function getAdminHeader($moduleDirname, $table) + private function getAdminHeader($moduleDirname, $table, $tables) { $ucfModuleDirname = ucfirst($moduleDirname); $ret = <<getInfo('sysicons16'); @@ -103,6 +104,14 @@ private function getAdminHeader($moduleDirname, $table) \${$moduleDirname} = {$ucfModuleDirname}Helper::getInstance();\n EOT; + } + if (is_array($tables)) { + foreach (array_keys($tables) as $i) { + $tableName = $tables[$i]->getVar('table_name'); + $ret .= <<getHandler('{$tableName}');\n +EOT; + } } $ret .= <<getModule(); $table = $this->getTable(); + $tables = $this->getTables(); $filename = $this->getFileName(); $moduleDirname = $module->getVar('mod_dirname'); $content = $this->getHeaderFilesComments($module, $filename); - $content .= $this->getAdminHeader($moduleDirname, $table); + $content .= $this->getAdminHeader($moduleDirname, $table, $tables); $this->tdmcfile->create($moduleDirname, 'admin', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); diff --git a/class/files/admin/AdminIndex.php b/class/files/admin/AdminIndex.php index e35df6b2..beb75b02 100644 --- a/class/files/admin/AdminIndex.php +++ b/class/files/admin/AdminIndex.php @@ -97,7 +97,7 @@ public function render() foreach (array_keys($tables) as $i) { $tableName = $tables[$i]->getVar('table_name'); $content .= <<getHandler('{$tableName}'); +//\${$tableName}Handler =& \${$moduleDirname}->getHandler('{$tableName}'); \$count_{$tableName} = \${$tableName}Handler->getCount();\n EOT; } diff --git a/class/files/admin/AdminObjects.php b/class/files/admin/AdminObjects.php index a93bdd3e..9f8b7601 100644 --- a/class/files/admin/AdminObjects.php +++ b/class/files/admin/AdminObjects.php @@ -88,17 +88,34 @@ public function getCheckBoxOrRadioYNSetVar($tableName, $fieldName) /* * @public function getUrlFileSetVar - * @param string $tableName - * @param string $fieldName + * @param $moduleDirname + * @param $tableName + * @param $fieldName * @return string */ - public function getUrlFileSetVar($tableName, $fieldName) + public function getUrlFileSetVar($moduleDirname, $tableName, $fieldName) { - $ret = <<setVar('{$fieldName}', formatUrl(\$_REQUEST['{$fieldName}']));\n + // Set Var {$fieldName} + include_once XOOPS_ROOT_PATH.'/class/uploader.php'; + \$uploaddir = {$stuModuleDirname}_UPLOAD_PATH.'/files/{$tableName}'; + \$uploader = new XoopsMediaUploader(\$uploaddir, \${$moduleDirname}->getConfig('mimetypes'), + \${$moduleDirname}->getConfig('maxsize'), null, null); + if (\$uploader->fetchMedia(\$_POST['xoops_upload_file'][])) { + \$uploader->fetchMedia(\$_POST['xoops_upload_file'][]); + if (!\$uploader->upload()) { + \$errors = \$uploader->getErrors(); + redirect_header('javascript:history.go(-1)', 3, \$errors); + } else { + \${$tableName}Obj->setVar('{$fieldName}', \$uploader->getSavedFileName()); + } + }\n EOT; - return $ret; + + return $ret; } /* @@ -195,6 +212,20 @@ public function getUploadFileSetVar($moduleDirname, $tableName, $fieldName) } /* + * @public function getIdGetVar + * @param string $lpFieldName + * @return string + */ + public function getIdGetVar($lpFieldName) + { + $ret = <<get(\${$tableName}All[\$i]->getVar('{$fieldNameParent}')); \t\t\t\t\${$lpFieldName}['{$rpFieldName}'] = \${$rpFieldName}->getVar('{$fieldNameTopic}');\n +EOT; + return $ret; + } + + /* + * @public function getParentTopicGetVar + * @param string $moduleDirname + * @param string $lpFieldName + * @param string $rpFieldName + * @param string $tableName + * @param string $tableSoleNameTopic + * @param string $tableNameTopic + * @param string $fieldNameParent + * @return string + */ + public function getParentTopicGetVar($moduleDirname, $lpFieldName, $rpFieldName, $tableName, $tableSoleNameTopic, $tableNameTopic, $fieldNameParent) + { + $ret = <<getHandler('{$tableNameTopic}'); +\t\t\t\t} +\t\t\t\t// Get Var {$fieldNameParent} +\t\t\t\t\${$lpFieldName}['{$rpFieldName}'] = \${$tableNameTopic}Handler->get{$tableSoleNameTopic}FromId(\${$tableName}All[\$i]->getVar('{$fieldNameParent}'));\n EOT; return $ret; } diff --git a/class/files/admin/AdminPages.php b/class/files/admin/AdminPages.php index 636660ff..d0056f96 100644 --- a/class/files/admin/AdminPages.php +++ b/class/files/admin/AdminPages.php @@ -90,8 +90,6 @@ public function getAdminPagesHeader($moduleDirname, $tableName, $fpif) \$op = XoopsRequest::getString('op', 'list'); // Request {$fpif} \${$fpif} = XoopsRequest::getInt('{$fpif}'); -// Get {$ucfTableName} Handler -\${$tableName}Handler =& \${$moduleDirname}->getHandler('{$tableName}'); // Switch options switch (\$op) {\n @@ -155,14 +153,17 @@ public function getAdminPagesList($moduleDirname, $table, $language, $fields, $f EOT; foreach (array_keys($fields) as $f) { $fieldName = $fields[$f]->getVar('field_name'); - $fieldParent = $fields[$f]->getVar('field_parent'); + $fieldParent = $fields[$f]->getVar('field_parent'); // Verify if table_fieldname is not empty $lpFieldName = !empty($tableFieldname) ? substr($fieldName, 0, strpos($fieldName, '_')) : $tableSoleName; - $rpFieldName = $this->tdmcfile->getRightString($fieldName); + $rpFieldName = $this->tdmcfile->getRightString($fieldName); // + if($f < 1) { + $ret .= $this->adminobjects->getIdGetVar($lpFieldName); + } $fieldElement = $fields[$f]->getVar('field_element'); - if ((1 == $fields[$f]->getVar('field_admin')) || ((1 == $tableAutoincrement) && (1 == $fields[$f]->getVar('field_inlist')))) { - switch ($fieldElement) { + if ((1 == $fields[$f]->getVar('field_admin')) || ((1 == $tableAutoincrement) && (1 == $fields[$f]->getVar('field_inlist')))) { + switch ($fieldElement) { case 3: case 4: $ret .= $this->adminobjects->getTextAreaGetVar($lpFieldName, $rpFieldName, $tableName, $fieldName); @@ -180,26 +181,33 @@ public function getAdminPagesList($moduleDirname, $table, $language, $fields, $f $ret .= $this->adminobjects->getTextDateSelectGetVar($lpFieldName, $rpFieldName, $tableName, $fieldName); break; default: - if ((1 == $fieldParent) && 0 == $table->getVar('table_category')) { - if ($fieldElement > 15) { - $fieldElements = $this->tdmcreate->getHandler('fieldelements')->get($fieldElement); - $fieldElementTid = $fieldElements->getVar('fieldelement_tid'); - $fieldElementName = $fieldElements->getVar('fieldelement_name'); - $rpFieldElementName = strtolower(str_replace('Table : ', '', $fieldElementName)); - // - $fieldNameParent = $fieldName; + if ($fieldElement > 15) { + $fieldElements = $this->tdmcreate->getHandler('fieldelements')->get($fieldElement); + $fieldElementTid = $fieldElements->getVar('fieldelement_tid'); + $fieldElementName = $fieldElements->getVar('fieldelement_name'); + $rpFieldElementName = strtolower(str_replace('Table : ', '', $fieldElementName)); + if (1 == $fieldParent) { + $criteriaFieldsTopic = new CriteriaCompo(); + $criteriaFieldsTopic->add(new Criteria('field_tid', $fieldElementTid)); + $fieldsTopic = $this->tdmcreate->getHandler('fields')->getObjects($criteriaFieldsTopic); + unset($criteriaFieldsTopic); + foreach (array_keys($fieldsTopic) as $ft) { + if (1 == $fieldsTopic[$ft]->getVar('field_main')) { + $fieldNameTopic = $fieldsTopic[$ft]->getVar('field_name'); + } + } + $ret .= $this->adminobjects->getTopicGetVar($lpFieldName, $rpFieldName, $tableName, $rpFieldElementName, $fieldName, $fieldNameTopic); + } else { // - $criteriaFieldsTopic = new CriteriaCompo(); - $criteriaFieldsTopic->add(new Criteria('field_tid', $fieldElementTid)); - $fieldsTopic = $this->tdmcreate->getHandler('fields')->getObjects($criteriaFieldsTopic); - unset($criteriaFieldsTopic); - foreach (array_keys($fieldsTopic) as $ft) { - if (1 == $fieldsTopic[$ft]->getVar('field_main')) { - $fieldNameTopic = $fieldsTopic[$ft]->getVar('field_name'); - } + $criteriaTablesTopic = new CriteriaCompo(); + $criteriaTablesTopic->add(new Criteria('table_id', $fieldElementTid)); + $tablesTopic = $this->tdmcreate->getHandler('tables')->getObjects($criteriaTablesTopic); + unset($criteriaTablesTopic); + foreach (array_keys($tablesTopic) as $ft) { + $ucfTableSoleNameTopic = ucfirst($tablesTopic[$ft]->getVar('table_solename')); } - $ret .= $this->adminobjects->getTopicGetVar($lpFieldName, $rpFieldName, $tableName, $rpFieldElementName, $fieldNameParent, $fieldNameTopic); - } + $ret .= $this->adminobjects->getParentTopicGetVar($moduleDirname, $lpFieldName, $rpFieldName, $tableName, $ucfTableSoleNameTopic, $rpFieldElementName, $fieldName); + } } else { $ret .= $this->adminobjects->getSimpleGetVar($lpFieldName, $rpFieldName, $tableName, $fieldName); } @@ -290,7 +298,7 @@ public function getAdminPagesSave($moduleDirname, $tableName, $language, $fields $ret .= $this->adminobjects->getImageListSetVar($moduleDirname, $tableName, $fieldName); break; case 12: - $ret .= $this->adminobjects->getUrlFileSetVar($tableName, $fieldName); + $ret .= $this->adminobjects->getUrlFileSetVar($moduleDirname, $tableName, $fieldName); break; case 13: $ret .= $this->adminobjects->getUploadImageSetVar($moduleDirname, $tableName, $fieldName); diff --git a/class/files/admin/AdminPermissions.php b/class/files/admin/AdminPermissions.php index a022a404..c1d3af59 100644 --- a/class/files/admin/AdminPermissions.php +++ b/class/files/admin/AdminPermissions.php @@ -16,7 +16,7 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: admin_permissions.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: AdminPermissions.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); @@ -92,7 +92,7 @@ private function getPermissionsHeader($moduleDirname, $tableName, $language) { redirect_header( XOOPS_URL.'/modules/'.\$xoopsModule->dirname().'/admin/permissions.php', 1, _MP_GPERMUPDATED ); } -\${$tableName}Handler =& \${$moduleDirname}->getHandler('{$tableName}'); +//\${$tableName}Handler =& \${$moduleDirname}->getHandler('{$tableName}'); // Check admin have access to this page /*\$group = \$xoopsUser->getGroups (); \$groups = xoops_getModuleOption ( 'admin_groups', \$thisDirname ); @@ -144,7 +144,7 @@ private function getPermissionsSwitch($moduleDirname, $language) break; case 2: \$formTitle = {$language}APPROVE; - \$permName = '{$moduleDirname}_access'; + \$permName = '{$moduleDirname}_approve'; \$permDesc = {$language}APPROVE_DESC; break; case 3: diff --git a/class/files/classes/ClassFiles.php b/class/files/classes/ClassFiles.php index cd934532..5712dde8 100644 --- a/class/files/classes/ClassFiles.php +++ b/class/files/classes/ClassFiles.php @@ -231,12 +231,13 @@ public static function &getInstance() */ private function getHeadInForm($module, $table) { - $moduleDirname = $module->getVar('mod_dirname'); - $tableName = $table->getVar('table_name'); - $tableSoleName = $table->getVar('table_solename'); - $ucfTableName = ucfirst($tableName); + $moduleDirname = $module->getVar('mod_dirname'); + $tableName = $table->getVar('table_name'); + $tableSoleName = $table->getVar('table_solename'); + $tablePermissions = $table->getVar('table_permissions'); + $ucfTableName = ucfirst($tableName); $stuTableSoleName = strtoupper($tableSoleName); - $language = $this->getLanguage($moduleDirname, 'AM'); + $language = $this->getLanguage($moduleDirname, 'AM'); $this->formelements->initForm($module, $table); $ret = <<getGroups() : XOOPS_GROUP_ANONYMOUS; + if (\$xoopsUser) { + if ( !\$xoopsUser->isAdmin(\$xoopsModule->mid()) ) { + \$perm_upload = (\$gperm_handler->checkRight('{$moduleDirname}_ac', 32, \$groups, \$xoopsModule->getVar('mid'))) ? true : false ; + }else{ + \$perm_upload = true; + } + }else{ + \$perm_upload = (\$gperm_handler->checkRight('{$moduleDirname}_ac', 32, \$groups, \$xoopsModule->getVar('mid'))) ? true : false ; } - // Title +EOT; + } + $ret .= <<isNew() ? sprintf({$language}{$stuTableSoleName}_ADD) : sprintf({$language}{$stuTableSoleName}_EDIT); // Get Theme Form xoops_load('XoopsFormLoader'); @@ -380,11 +400,15 @@ public function toArray() * @param $fpmf * @return string */ - private function getClassHandler($moduleDirname, $tableName, $tableCategory, $tableFieldname, $fpif, $fpmf) + private function getClassHandler($moduleDirname, $table, $fpif, $fpmf) { - $ucfModuleDirname = ucfirst($moduleDirname); + $tableName = $table->getVar('table_name'); + $tableCategory = $table->getVar('table_category'); + $tableSoleName = $table->getVar('table_solename'); + $tableFieldname = $table->getVar('table_fieldname'); + $ucfModuleDirname = ucfirst($moduleDirname); $ucfTableName = ucfirst($tableName); - $ucfTableFieldname = ucfirst($tableFieldname); + $ucfTableSoleName = ucfirst($tableSoleName); $ucfModuleTable = $ucfModuleDirname . $ucfTableName; $ret = <<{$moduleDirname} = {$ucfModuleDirname}Helper::getInstance(); } /** @@ -464,22 +493,22 @@ public function &insert(&\$field, \$force = false) if (1 == $tableCategory) { $ret .= << 0) { - \${$tableFieldname}Handler = \$this->{$moduleDirname}->getHandler( '{$tableName}' ); - \${$tableFieldname} = & \${$tableFieldname}Handler->get( \${$tableFieldname}Id ); - if (is_object( \${$tableFieldname} )) { - \${$fpmf} = \${$tableFieldname}->getVar( '{$fpmf}' ); + \${$tableSoleName}Id = (int) ( \${$tableSoleName}Id ); + \${$tableSoleName} = ''; + if (\${$tableSoleName}Id > 0) { + \${$tableName}Handler = \$this->{$moduleDirname}->getHandler( '{$tableName}' ); + \${$tableSoleName}Obj = & \${$tableName}Handler->get( \${$tableSoleName}Id ); + if (is_object( \${$tableSoleName}Obj )) { + \${$tableSoleName} = \${$tableSoleName}Obj->getVar( '{$fpmf}' ); } } - return \${$fpmf}; + return \${$tableSoleName}; }\n EOT; } @@ -503,9 +532,6 @@ public function renderFile($filename) $module = $this->getModule(); $table = $this->getTable(); $tableName = $table->getVar('table_name'); - $tableCategory = $table->getVar('table_category'); - $tFieldname = $table->getVar('table_fieldname'); - $tableFieldname = empty($tFieldname) ? $tableName : $tFieldname; $moduleDirname = $module->getVar('mod_dirname'); $fields = $this->getTableFields($table->getVar('table_id')); foreach (array_keys($fields) as $f) { @@ -528,7 +554,7 @@ public function renderFile($filename) $content .= $this->getFootInForm(); } $content .= $this->getToArray(); - $content .= $this->getClassHandler($moduleDirname, $tableName, $tableCategory, $tableFieldname, $fpif, $fpmf); + $content .= $this->getClassHandler($moduleDirname, $table, $fpif, $fpmf); $this->tdmcfile->create($moduleDirname, 'class', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); diff --git a/class/files/templates/admin/TemplatesAdminPages.php b/class/files/templates/admin/TemplatesAdminPages.php index 1b295b80..2cfc0741 100644 --- a/class/files/templates/admin/TemplatesAdminPages.php +++ b/class/files/templates/admin/TemplatesAdminPages.php @@ -155,10 +155,10 @@ private function getTemplatesAdminPagesBody($moduleDirname, $table, $fields, $la } $ret .= << - + <{\$smarty.const._EDIT}> - + <{\$smarty.const._DELETE}> diff --git a/class/files/user/UserBroken.php b/class/files/user/UserBroken.php new file mode 100644 index 00000000..0f17d932 --- /dev/null +++ b/class/files/user/UserBroken.php @@ -0,0 +1,241 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserBroken + */ + public static function &getInstance() + { + static $instance = false; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /* + * @public function write + * @param string $module + * @param mixed $table + * @param string $filename + */ + /** + * @param $module + * @param $table + * @param $filename + */ + public function write($module, $table, $filename) + { + $this->setModule($module); + $this->setTable($table); + $this->setFileName($filename); + } + + /* + * @public function getUserBrokenHeader + * @param null + */ + /** + * @param $moduleDirname + * @return string + */ + public function getUserBrokenHeader($moduleDirname) + { + $ret = <<addStylesheet( XOOPS_URL . '/modules/' . \$xoopsModule->getVar('dirname', 'n') . '/assets/css/style.css', null ); +//On recupere la valeur de l'argument op dans l'URL$ +// redirection if not permissions +if (\$perm_submit == false) { + redirect_header('index.php', 2, _NOPERM); + exit(); +} +// +switch (\$op) +{\n +EOT; + + return $ret; + } + + /* + * @public function getAdminPagesList + * @param string $tableName + * @param string $language + */ + /** + * @param $module + * @param $tableName + * @param $language + * @return string + */ + public function getUserBrokenForm($module, $tableName, $language) + { + $stuModuleName = strtoupper($module->getVar('mod_name')); + $ret = <<assign('navigation', \$navigation); + // reference + // title of page + \$title = _MD_{$stuModuleName}_SUBMIT_PROPOSER . ' - '; + \$title .= \$GLOBALS['xoopsModule']->name(); + \$GLOBALS['xoopsTpl']->assign('xoops_pagetitle', \$title); + //description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags(_MD_{$stuModuleName}_SUBMIT_PROPOSER)); + // Description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags({$language}SUBMIT)); + + // Create + \${$tableName}Obj =& \${$tableName}Handler->create(); + \$form = \${$tableName}Obj->getForm(); + \$xoopsTpl->assign('form', \$form->render());\n +EOT; + + return $ret; + } + + /* + * @public function getUserBrokenSave + * @param string $moduleDirname + * @param string $tableName + */ + /** + * @param $moduleDirname + * @param $table_id + * @param $tableName + * @return string + */ + public function getUserBrokenSave($moduleDirname, $table_id, $tableName) + { + $ret = <<check() ) { + redirect_header('{$tableName}.php', 3, implode(',', \$GLOBALS['xoopsSecurity']->getErrors())); + } + if (isset(\$_REQUEST['{$fpif}'])) { + \${$tableName}Obj =& \${$tableName}Handler->get(\$_REQUEST['{$fpif}']); + } else { + \${$tableName}Obj =& \${$tableName}Handler->create(); + } +EOT; + $fields = $this->getTableFields($table_id); + foreach (array_keys($fields) as $f) { + $fieldName = $fields[$f]->getVar('field_name'); + $fieldElement = $fields[$f]->getVar('field_element'); + if ((5 == $fieldElement) || (6 == $fieldElement)) { + $ret .= $this->adminobjects->getCheckBoxOrRadioYN($tableName, $fieldName); + } elseif (13 == $fieldElement) { + $ret .= $this->adminobjects->getUploadImage($moduleDirname, $tableName, $fieldName); + } elseif (14 == $fieldElement) { + $ret .= $this->adminobjects->getUploadFile($moduleDirname, $tableName, $fieldName); + } elseif (15 == $fieldElement) { + $ret .= $this->adminobjects->getTextDateSelect($tableName, $fieldName); + } else { + $ret .= $this->adminobjects->getSimpleSetVar($tableName, $fieldName); + } + } + + $ret .= <<insert(\${$tableName}Obj)) { + redirect_header('index.php', 2, {$language}FORMOK); + } + + echo \${$tableName}Obj->getHtmlErrors(); + \$form =& \${$tableName}Obj->getForm(); + \$form->display(); + break;\n +EOT; + + return $ret; + } + + /* + * @public function getUserBrokenFooter + * @param null + */ + /** + * @return string + */ + public function getUserBrokenFooter() + { + $ret = <<getModule(); + $table = $this->getTable(); + $filename = $this->getFileName(); + $moduleDirname = $module->getVar('mod_dirname'); + $table_id = $table->getVar('table_id'); + $tableName = $table->getVar('table_name'); + $language = $this->getLanguage($moduleDirname, 'MA'); + $content = $this->getHeaderFilesComments($module, $filename); + $content .= $this->getUserBrokenHeader($moduleDirname); + $content .= $this->getUserBrokenForm($module, $tableName, $language); + $content .= $this->getUserBrokenSave($moduleDirname, $table_id, $tableName); + $content .= $this->getUserBrokenFooter(); + $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return $this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserHeader.php b/class/files/user/UserHeader.php index fb999d61..6cf5853c 100644 --- a/class/files/user/UserHeader.php +++ b/class/files/user/UserHeader.php @@ -93,7 +93,7 @@ public function render() $ucfModuleDirname = ucfirst($moduleDirname); $content = $this->getHeaderFilesComments($module, $filename); $content .= <<getVar('dirname'); \$pathname = XOOPS_ROOT_PATH. '/modules/'.\$dirname; include_once \$pathname . '/include/common.php'; diff --git a/class/files/user/UserListTag.php b/class/files/user/UserListTag.php new file mode 100644 index 00000000..c2cbf218 --- /dev/null +++ b/class/files/user/UserListTag.php @@ -0,0 +1,109 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserListTag + */ + public static function &getInstance() + { + static $instance = false; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /* + * @public function write + * @param string $module + * @param mixed $table + * @param string $filename + */ + /** + * @param $module + * @param $filename + */ + public function write($module, $filename) + { + $this->setModule($module); + $this->setFileName($filename); + } + + /* + * @public function getUserListTag + * @param null + */ + /** + * @param $moduleDirname + * @return string + */ + public function getUserListTag() + { + $ret = <<getModule(); + $filename = $this->getFileName(); + $moduleDirname = $module->getVar('mod_dirname'); + $content = $this->getHeaderFilesComments($module, $filename); + $content .= $this->getUserListTag(); + $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return $this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserPdf.php b/class/files/user/UserPdf.php new file mode 100644 index 00000000..85cf71eb --- /dev/null +++ b/class/files/user/UserPdf.php @@ -0,0 +1,242 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserPdf + */ + public static function &getInstance() + { + static $instance = false; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /* + * @public function write + * @param string $module + * @param mixed $table + * @param string $filename + */ + /** + * @param $module + * @param $table + * @param $filename + */ + public function write($module, $table, $filename) + { + $this->setModule($module); + $this->setTable($table); + $this->setFileName($filename); + } + + /* + * @public function getUserPdfHeader + * @param null + */ + /** + * @param $moduleDirname + * @return string + */ + public function getUserPdfHeader($moduleDirname) + { + $ret = <<addStylesheet( XOOPS_URL . '/modules/' . \$xoopsModule->getVar('dirname', 'n') . '/css/style.css', null ); +//On recupere la valeur de l'argument op dans l'URL$ +// redirection if not permissions +if (\$perm_submit == false) { + redirect_header('index.php', 2, _NOPERM); + exit(); +} + +// +switch (\$op) +{\n +EOT; + + return $ret; + } + + /* + * @public function getAdminPagesList + * @param string $tableName + * @param string $language + */ + /** + * @param $module + * @param $tableName + * @param $language + * @return string + */ + public function getUserPdfForm($module, $tableName, $language) + { + $stuModuleName = strtoupper($module->getVar('mod_name')); + $ret = <<assign('navigation', \$navigation); + // reference + // title of page + \$title = _MD_{$stuModuleName}_SUBMIT_PROPOSER . ' - '; + \$title .= \$GLOBALS['xoopsModule']->name(); + \$GLOBALS['xoopsTpl']->assign('xoops_pagetitle', \$title); + //description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags(_MD_{$stuModuleName}_SUBMIT_PROPOSER)); + // Description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags({$language}SUBMIT)); + + // Create + \${$tableName}Obj =& \${$tableName}Handler->create(); + \$form = \${$tableName}Obj->getForm(); + \$xoopsTpl->assign('form', \$form->render());\n +EOT; + + return $ret; + } + + /* + * @public function getUserPdfSave + * @param string $moduleDirname + * @param string $tableName + */ + /** + * @param $moduleDirname + * @param $table_id + * @param $tableName + * @return string + */ + public function getUserPdfSave($moduleDirname, $table_id, $tableName) + { + $ret = <<check() ) { + redirect_header('{$tableName}.php', 3, implode(',', \$GLOBALS['xoopsSecurity']->getErrors())); + } + if (isset(\$_REQUEST['{$fpif}'])) { + \${$tableName}Obj =& \${$tableName}Handler->get(\$_REQUEST['{$fpif}']); + } else { + \${$tableName}Obj =& \${$tableName}Handler->create(); + } +EOT; + $fields = $this->getTableFields($table_id); + foreach (array_keys($fields) as $f) { + $fieldName = $fields[$f]->getVar('field_name'); + $fieldElement = $fields[$f]->getVar('field_element'); + if ((5 == $fieldElement) || (6 == $fieldElement)) { + $ret .= $this->adminobjects->getCheckBoxOrRadioYN($tableName, $fieldName); + } elseif (13 == $fieldElement) { + $ret .= $this->adminobjects->getUploadImage($moduleDirname, $tableName, $fieldName); + } elseif (14 == $fieldElement) { + $ret .= $this->adminobjects->getUploadFile($moduleDirname, $tableName, $fieldName); + } elseif (15 == $fieldElement) { + $ret .= $this->adminobjects->getTextDateSelect($tableName, $fieldName); + } else { + $ret .= $this->adminobjects->getSimpleSetVar($tableName, $fieldName); + } + } + + $ret .= <<insert(\${$tableName}Obj)) { + redirect_header('index.php', 2, {$language}FORMOK); + } + + echo \${$tableName}Obj->getHtmlErrors(); + \$form =& \${$tableName}Obj->getForm(); + \$form->display(); + break;\n +EOT; + + return $ret; + } + + /* + * @public function getUserPdfFooter + * @param null + */ + /** + * @return string + */ + public function getUserPdfFooter() + { + $ret = <<getModule(); + $table = $this->getTable(); + $filename = $this->getFileName(); + $moduleDirname = $module->getVar('mod_dirname'); + $table_id = $table->getVar('table_id'); + $tableName = $table->getVar('table_name'); + $language = $this->getLanguage($moduleDirname, 'MA'); + $content = $this->getHeaderFilesComments($module, $filename); + $content .= $this->getUserPdfHeader($moduleDirname); + $content .= $this->getUserPdfForm($module, $tableName, $language); + $content .= $this->getUserPdfSave($moduleDirname, $table_id, $tableName); + $content .= $this->getUserPdfFooter(); + $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return $this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserPrint.php b/class/files/user/UserPrint.php index 0d468c9f..38467113 100644 --- a/class/files/user/UserPrint.php +++ b/class/files/user/UserPrint.php @@ -16,7 +16,7 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: user_print.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: UserPrint.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); @@ -84,22 +84,22 @@ public function write($module, $table, $filename) */ public function getUserPrint($moduleDirname, $language) { - $stu_mod_name = strtoupper($moduleDirname); - $table = $this->getTable(); - $tableName = $table->getVar('table_name'); - $ucf_mod_name = ucfirst($moduleDirname); - $ucf_table_name = ucfirst($tableName); - $fields = $this->getTableFields($table->getVar('table_id')); + $stuModuleDirname = strtoupper($moduleDirname); + $table = $this->getTable(); + $tableName = $table->getVar('table_name'); + $ucfModuleDirname = ucfirst($moduleDirname); + $ucfTableName = ucfirst($tableName); + $fields = $this->getTableFields($table->getVar('table_id')); foreach (array_keys($fields) as $f) { - $fieldName = $fields[$f]->getVar('field_name'); - $rp_field_name = $fieldName; + $fieldName = $fields[$f]->getVar('field_name'); + $rpFieldName = $fieldName; if (strpos($fieldName, '_')) { $str = strpos($fieldName, '_'); if ($str !== false) { - $rp_field_name = substr($fieldName, $str + 1, strlen($fieldName)); + $rpFieldName = substr($fieldName, $str + 1, strlen($fieldName)); } } - $lp_field_name = substr($fieldName, 0, strpos($fieldName, '_')); + $lpFieldName = substr($fieldName, 0, strpos($fieldName, '_')); if ((0 == $f) && (1 == $this->table->getVar('table_autoincrement'))) { $fpif = $fieldName; } else { @@ -108,21 +108,21 @@ public function getUserPrint($moduleDirname, $language) } } } - $stu_lp_field_name = strtoupper($lp_field_name); + $stuLpFieldName = strtoupper($lpFieldName); $ret = <<getVar('{$lp_field_name}_published') == 0 || {$lp_field_name}->getVar('{$lp_field_name}_published') > time() ) { - redirect_header({$stu_mod_name}_URL . '/index.php', 2, {$language}NO{$stu_lp_field_name}); +if ( {$lpFieldName}->getVar('{$lpFieldName}_published') == 0 || {$lpFieldName}->getVar('{$lpFieldName}_published') > time() ) { + redirect_header({$stuModuleDirname}_URL . '/index.php', 2, {$language}NO{$stuLpFieldName}); exit(); } EOT; @@ -130,19 +130,19 @@ public function getUserPrint($moduleDirname, $language) if ($fieldName == 'published') { $ret .= <<getVar('published') == 0 || {$lp_field_name}->getVar('published') > time() ) { - redirect_header({$stu_mod_name}_URL . '/index.php', 2, {$language}NO{$stu_lp_field_name}); +if ( {$lpFieldName}->getVar('published') == 0 || {$lpFieldName}->getVar('published') > time() ) { + redirect_header({$stuModuleDirname}_URL . '/index.php', 2, {$language}NO{$stuLpFieldName}); exit(); } EOT; } - if ($fieldName == $lp_field_name . '_expired') { + if ($fieldName == $lpFieldName . '_expired') { $ret .= <<getVar('{$lp_field_name}_expired') != 0 && {$lp_field_name}->getVar('{$lp_field_name}_expired') < time() ) { - redirect_header({$stu_mod_name}_URL . '/index.php', 2, {$language}NO{$stu_lp_field_name}); +if ( {$lpFieldName}->getVar('{$lpFieldName}_expired') != 0 && {$lpFieldName}->getVar('{$lpFieldName}_expired') < time() ) { + redirect_header({$stuModuleDirname}_URL . '/index.php', 2, {$language}NO{$stuLpFieldName}); exit(); } EOT; @@ -150,8 +150,8 @@ public function getUserPrint($moduleDirname, $language) if ($fieldName == 'expired') { $ret .= <<getVar('expired') != 0 && {$lp_field_name}->getVar('expired') < time() ) { - redirect_header({$stu_mod_name}_URL . '/index.php', 2, {$language}NO{$stu_lp_field_name}); +if ( {$lpFieldName}->getVar('expired') != 0 && {$lpFieldName}->getVar('expired') < time() ) { + redirect_header({$stuModuleDirname}_URL . '/index.php', 2, {$language}NO{$stuLpFieldName}); exit(); } EOT; @@ -165,8 +165,8 @@ public function getUserPrint($moduleDirname, $language) } else { \$groups = XOOPS_GROUP_ANONYMOUS; } -if (!\$gperm_handler->checkRight('{$moduleDirname}_view', {$lp_field_name}->getVat('{$fpif}'), \$groups, \$xoopsModule->getVar('mid'))) { - redirect_header({$stu_mod_name}_URL . '/index.php', 3, _NOPERM); +if (!\$gperm_handler->checkRight('{$moduleDirname}_view', {$lpFieldName}->getVat('{$fpif}'), \$groups, \$xoopsModule->getVar('mid'))) { + redirect_header({$stuModuleDirname}_URL . '/index.php', 3, _NOPERM); exit(); } EOT; diff --git a/class/files/user/UserRate.php b/class/files/user/UserRate.php new file mode 100644 index 00000000..b0a820f6 --- /dev/null +++ b/class/files/user/UserRate.php @@ -0,0 +1,242 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserRate + */ + public static function &getInstance() + { + static $instance = false; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /* + * @public function write + * @param string $module + * @param mixed $table + * @param string $filename + */ + /** + * @param $module + * @param $table + * @param $filename + */ + public function write($module, $table, $filename) + { + $this->setModule($module); + $this->setTable($table); + $this->setFileName($filename); + } + + /* + * @public function getUserRateHeader + * @param null + */ + /** + * @param $moduleDirname + * @return string + */ + public function getUserRateHeader($moduleDirname) + { + $ret = <<addStylesheet( XOOPS_URL . '/modules/' . \$xoopsModule->getVar('dirname', 'n') . '/assets/css/style.css', null ); +//On recupere la valeur de l'argument op dans l'URL$ +// redirection if not permissions +if (\$perm_submit == false) { + redirect_header('index.php', 2, _NOPERM); + exit(); +} + +// +switch (\$op) +{\n +EOT; + + return $ret; + } + + /* + * @public function getAdminPagesList + * @param string $tableName + * @param string $language + */ + /** + * @param $module + * @param $tableName + * @param $language + * @return string + */ + public function getUserRateForm($module, $tableName, $language) + { + $stuModuleName = strtoupper($module->getVar('mod_name')); + $ret = <<assign('navigation', \$navigation); + // reference + // title of page + \$title = _MD_{$stuModuleName}_SUBMIT_PROPOSER . ' - '; + \$title .= \$GLOBALS['xoopsModule']->name(); + \$GLOBALS['xoopsTpl']->assign('xoops_pagetitle', \$title); + //description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags(_MD_{$stuModuleName}_SUBMIT_PROPOSER)); + // Description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags({$language}SUBMIT)); + + // Create + \${$tableName}Obj =& \${$tableName}Handler->create(); + \$form = \${$tableName}Obj->getForm(); + \$xoopsTpl->assign('form', \$form->render());\n +EOT; + + return $ret; + } + + /* + * @public function getUserRateSave + * @param string $moduleDirname + * @param string $tableName + */ + /** + * @param $moduleDirname + * @param $table_id + * @param $tableName + * @return string + */ + public function getUserRateSave($moduleDirname, $table_id, $tableName) + { + $ret = <<check() ) { + redirect_header('{$tableName}.php', 3, implode(',', \$GLOBALS['xoopsSecurity']->getErrors())); + } + if (isset(\$_REQUEST['{$fpif}'])) { + \${$tableName}Obj =& \${$tableName}Handler->get(\$_REQUEST['{$fpif}']); + } else { + \${$tableName}Obj =& \${$tableName}Handler->create(); + } +EOT; + $fields = $this->getTableFields($table_id); + foreach (array_keys($fields) as $f) { + $fieldName = $fields[$f]->getVar('field_name'); + $fieldElement = $fields[$f]->getVar('field_element'); + if ((5 == $fieldElement) || (6 == $fieldElement)) { + $ret .= $this->adminobjects->getCheckBoxOrRadioYN($tableName, $fieldName); + } elseif (13 == $fieldElement) { + $ret .= $this->adminobjects->getUploadImage($moduleDirname, $tableName, $fieldName); + } elseif (14 == $fieldElement) { + $ret .= $this->adminobjects->getUploadFile($moduleDirname, $tableName, $fieldName); + } elseif (15 == $fieldElement) { + $ret .= $this->adminobjects->getTextDateSelect($tableName, $fieldName); + } else { + $ret .= $this->adminobjects->getSimpleSetVar($tableName, $fieldName); + } + } + + $ret .= <<insert(\${$tableName}Obj)) { + redirect_header('index.php', 2, {$language}FORMOK); + } + + echo \${$tableName}Obj->getHtmlErrors(); + \$form =& \${$tableName}Obj->getForm(); + \$form->display(); + break;\n +EOT; + + return $ret; + } + + /* + * @public function getUserRateFooter + * @param null + */ + /** + * @return string + */ + public function getUserRateFooter() + { + $ret = <<getModule(); + $table = $this->getTable(); + $filename = $this->getFileName(); + $moduleDirname = $module->getVar('mod_dirname'); + $table_id = $table->getVar('table_id'); + $tableName = $table->getVar('table_name'); + $language = $this->getLanguage($moduleDirname, 'MA'); + $content = $this->getHeaderFilesComments($module, $filename); + $content .= $this->getUserRateHeader($moduleDirname); + $content .= $this->getUserRateForm($module, $tableName, $language); + $content .= $this->getUserRateSave($moduleDirname, $table_id, $tableName); + $content .= $this->getUserRateFooter(); + $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return $this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserRss.php b/class/files/user/UserRss.php index 7bfffd97..29381506 100644 --- a/class/files/user/UserRss.php +++ b/class/files/user/UserRss.php @@ -16,7 +16,7 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: user_rss.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: UserRss.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); @@ -89,14 +89,14 @@ public function getUserRss($moduleDirname, $language) $fields = $this->getTableFields($table->getVar('table_id')); foreach (array_keys($fields) as $f) { $fieldName = $fields[$f]->getVar('field_name'); - $rp_field_name = $fieldName; + $rpFieldName = $fieldName; if (strpos($fieldName, '_')) { $str = strpos($fieldName, '_'); if ($str !== false) { - $rp_field_name = substr($fieldName, $str + 1, strlen($fieldName)); + $rpFieldName = substr($fieldName, $str + 1, strlen($fieldName)); } } - $lp_field_name = substr($fieldName, 0, strpos($fieldName, '_')); + $lpFieldName = substr($fieldName, 0, strpos($fieldName, '_')); if (0 == $f) { $fpif = $fieldName; } @@ -112,17 +112,15 @@ public function getUserRss($moduleDirname, $language) include __DIR__ . '/header.php'; \${$fppf} = {$moduleDirname}_CleanVars(\$_GET, '{$fppf}', 0); include_once XOOPS_ROOT_PATH.'/class/template.php'; -\$items_count = \$xoopsModuleConfig['perpagerss']; - if (function_exists('mb_http_output')) { mb_http_output('pass'); } //header ('Content-Type:text/xml; charset=UTF-8'); -\$xoopsModuleConfig["utf8"] = false; +\${$moduleDirname}->geConfig("utf8") = false; \$tpl = new XoopsTpl(); \$tpl->xoops_setCaching(2); //1 = Cache global, 2 = Cache individual (for template) -\$tpl->xoops_setCacheTime(\$xoopsModuleConfig['timecacherss']*60); // Time of the cache on seconds +\$tpl->xoops_setCacheTime(\${$moduleDirname}->geConfig('timecacherss')*60); // Time of the cache on seconds \$categories = {$moduleDirname}_MygetItemIds('{$moduleDirname}_view', '{$moduleDirname}'); \$criteria = new CriteriaCompo(); \$criteria->add(new Criteria('cat_status', 0, '!=')); @@ -134,10 +132,11 @@ public function getUserRss($moduleDirname, $language) }else{ \$title = \$xoopsConfig['sitename'] . ' - ' . \$xoopsModule->getVar('name'); } -\$criteria->setLimit(\$xoopsModuleConfig['perpagerss']); +\$criteria->setLimit(\${$moduleDirname}->geConfig('perpagerss')); \$criteria->setSort('date'); \$criteria->setOrder('DESC'); -\${$tableName}_arr = \${$tableName}Handler->getall(\$criteria); +\${$tableName}Arr = \${$tableName}Handler->getAll(\$criteria); +unset(\$criteria); if (!\$tpl->is_cached('db:rss.tpl', \${$fppf})) { \$tpl->assign('channel_title', htmlspecialchars(\$title, ENT_QUOTES)); @@ -168,18 +167,18 @@ public function getUserRss($moduleDirname, $language) } \$tpl->assign('image_width', \$width); \$tpl->assign('image_height', \$height); - foreach (array_keys(\${$tableName}_arr) as \$i) { - \$description = \${$tableName}_arr[\$i]->getVar('description'); + foreach (array_keys(\${$tableName}Arr) as \$i) { + \$description = \${$tableName}Arr[\$i]->getVar('description'); //permet d'afficher uniquement la description courte if (strpos(\$description,'[pagebreak]')==false){ \$description_short = \$description; }else{ \$description_short = substr(\$description,0,strpos(\$description,'[pagebreak]')); } - \$tpl->append('items', array('title' => htmlspecialchars(\${$tableName}_arr[\$i]->getVar('{$fpmf}'), ENT_QUOTES), - 'link' => XOOPS_URL . '/modules/{$moduleDirname}/singlefile.php?{$fppf}=' . \${$tableName}_arr[\$i]->getVar('{$fppf}') . '&{$fpif}=' . \${$tableName}_arr[\$i]->getVar('{$fpif}'), - 'guid' => XOOPS_URL . '/modules/{$moduleDirname}/singlefile.php?{$fppf}=' . \${$tableName}_arr[\$i]->getVar('{$fppf}') . '&{$fpif}=' . \${$tableName}_arr[\$i]->getVar('{$fpif}'), - 'pubdate' => formatTimestamp(\${$tableName}_arr[\$i]->getVar('date'), 'rss'), + \$tpl->append('items', array('title' => htmlspecialchars(\${$tableName}Arr[\$i]->getVar('{$fpmf}'), ENT_QUOTES), + 'link' => XOOPS_URL . '/modules/{$moduleDirname}/single.php?{$fppf}=' . \${$tableName}Arr[\$i]->getVar('{$fppf}') . '&{$fpif}=' . \${$tableName}Arr[\$i]->getVar('{$fpif}'), + 'guid' => XOOPS_URL . '/modules/{$moduleDirname}/single.php?{$fppf}=' . \${$tableName}Arr[\$i]->getVar('{$fppf}') . '&{$fpif}=' . \${$tableName}Arr[\$i]->getVar('{$fpif}'), + 'pubdate' => formatTimestamp(\${$tableName}Arr[\$i]->getVar('date'), 'rss'), 'description' => htmlspecialchars(\$description_short, ENT_QUOTES))); } } diff --git a/class/files/user/UserSingle.php b/class/files/user/UserSingle.php new file mode 100644 index 00000000..1b92d7ef --- /dev/null +++ b/class/files/user/UserSingle.php @@ -0,0 +1,241 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserSingle + */ + public static function &getInstance() + { + static $instance = false; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /* + * @public function write + * @param string $module + * @param mixed $table + * @param string $filename + */ + /** + * @param $module + * @param $table + * @param $filename + */ + public function write($module, $table, $filename) + { + $this->setModule($module); + $this->setTable($table); + $this->setFileName($filename); + } + + /* + * @public function getUserSingleHeader + * @param null + */ + /** + * @param $moduleDirname + * @return string + */ + public function getUserSingleHeader($moduleDirname) + { + $ret = <<addStylesheet( XOOPS_URL . '/modules/' . \$xoopsModule->getVar('dirname', 'n') . '/assets/css/style.css', null ); +//On recupere la valeur de l'argument op dans l'URL$ +// redirection if not permissions +if (\$perm_submit == false) { + redirect_header('index.php', 2, _NOPERM); + exit(); +} +// +switch (\$op) +{\n +EOT; + + return $ret; + } + + /* + * @public function getAdminPagesList + * @param string $tableName + * @param string $language + */ + /** + * @param $module + * @param $tableName + * @param $language + * @return string + */ + public function getUserSingleForm($module, $tableName, $language) + { + $stuModuleName = strtoupper($module->getVar('mod_name')); + $ret = <<assign('navigation', \$navigation); + // reference + // title of page + \$title = _MD_{$stuModuleName}_SUBMIT_PROPOSER . ' - '; + \$title .= \$GLOBALS['xoopsModule']->name(); + \$GLOBALS['xoopsTpl']->assign('xoops_pagetitle', \$title); + //description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags(_MD_{$stuModuleName}_SUBMIT_PROPOSER)); + // Description + \$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags({$language}SUBMIT)); + + // Create + \${$tableName}Obj =& \${$tableName}Handler->create(); + \$form = \${$tableName}Obj->getForm(); + \$xoopsTpl->assign('form', \$form->render());\n +EOT; + + return $ret; + } + + /* + * @public function getUserSingleSave + * @param string $moduleDirname + * @param string $tableName + */ + /** + * @param $moduleDirname + * @param $table_id + * @param $tableName + * @return string + */ + public function getUserSingleSave($moduleDirname, $table_id, $tableName) + { + $ret = <<check() ) { + redirect_header('{$tableName}.php', 3, implode(',', \$GLOBALS['xoopsSecurity']->getErrors())); + } + if (isset(\$_REQUEST['{$fpif}'])) { + \${$tableName}Obj =& \${$tableName}Handler->get(\$_REQUEST['{$fpif}']); + } else { + \${$tableName}Obj =& \${$tableName}Handler->create(); + } +EOT; + $fields = $this->getTableFields($table_id); + foreach (array_keys($fields) as $f) { + $fieldName = $fields[$f]->getVar('field_name'); + $fieldElement = $fields[$f]->getVar('field_element'); + if ((5 == $fieldElement) || (6 == $fieldElement)) { + $ret .= $this->adminobjects->getCheckBoxOrRadioYN($tableName, $fieldName); + } elseif (13 == $fieldElement) { + $ret .= $this->adminobjects->getUploadImage($moduleDirname, $tableName, $fieldName); + } elseif (14 == $fieldElement) { + $ret .= $this->adminobjects->getUploadFile($moduleDirname, $tableName, $fieldName); + } elseif (15 == $fieldElement) { + $ret .= $this->adminobjects->getTextDateSelect($tableName, $fieldName); + } else { + $ret .= $this->adminobjects->getSimpleSetVar($tableName, $fieldName); + } + } + + $ret .= <<insert(\${$tableName}Obj)) { + redirect_header('index.php', 2, {$language}FORMOK); + } + + echo \${$tableName}Obj->getHtmlErrors(); + \$form =& \${$tableName}Obj->getForm(); + \$form->display(); + break;\n +EOT; + + return $ret; + } + + /* + * @public function getUserSingleFooter + * @param null + */ + /** + * @return string + */ + public function getUserSingleFooter() + { + $ret = <<getModule(); + $table = $this->getTable(); + $filename = $this->getFileName(); + $moduleDirname = $module->getVar('mod_dirname'); + $table_id = $table->getVar('table_id'); + $tableName = $table->getVar('table_name'); + $language = $this->getLanguage($moduleDirname, 'MA'); + $content = $this->getHeaderFilesComments($module, $filename); + $content .= $this->getUserSingleHeader($moduleDirname); + $content .= $this->getUserSingleForm($module, $tableName, $language); + $content .= $this->getUserSingleSave($moduleDirname, $table_id, $tableName); + $content .= $this->getUserSingleFooter(); + $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return $this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserSubmit.php b/class/files/user/UserSubmit.php index 139a5f67..f66ee2df 100644 --- a/class/files/user/UserSubmit.php +++ b/class/files/user/UserSubmit.php @@ -16,7 +16,7 @@ * @package tdmcreate * @since 2.5.0 * @author Txmod Xoops http://www.txmodxoops.org - * @version $Id: user_submit.php 12258 2014-01-02 09:33:29Z timgno $ + * @version $Id: UserSubmit.php 12258 2014-01-02 09:33:29Z timgno $ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); @@ -84,11 +84,11 @@ public function getUserSubmitHeader($moduleDirname) { $ret = <<addStylesheet( XOOPS_URL . '/modules/' . \$xoopsModule->getVar('dirname', 'n') . '/css/style.css', null ); +\$xoTheme->addStylesheet( XOOPS_URL . '/modules/' . \$xoopsModule->getVar('dirname', 'n') . '/assets/css/style.css', null ); //On recupere la valeur de l'argument op dans l'URL$ // redirection if not permissions if (\$perm_submit == false) { diff --git a/class/files/user/UserViewTag.php b/class/files/user/UserViewTag.php new file mode 100644 index 00000000..394f9a95 --- /dev/null +++ b/class/files/user/UserViewTag.php @@ -0,0 +1,111 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserViewTag + */ + public static function &getInstance() + { + static $instance = false; + if (!$instance) { + $instance = new self(); + } + + return $instance; + } + + /* + * @public function write + * @param string $module + * @param mixed $table + * @param string $filename + */ + /** + * @param $module + * @param $table + * @param $filename + */ + public function write($module, $filename) + { + $this->setModule($module); + $this->setFileName($filename); + } + + /* + * @public function getUserViewTag + * @param null + */ + /** + * @param $moduleDirname + * @return string + */ + public function getUserViewTag($moduleDirname) + { + $ret = <<getModule(); + $filename = $this->getFileName(); + $moduleDirname = $module->getVar('mod_dirname'); + $language = $this->getLanguage($moduleDirname, 'MA'); + $content = $this->getHeaderFilesComments($module, $filename); + $content .= $this->getUserViewTag(); + $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return $this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserVisit.php b/class/files/user/UserVisit.php new file mode 100644 index 00000000..59af4f49 --- /dev/null +++ b/class/files/user/UserVisit.php @@ -0,0 +1,258 @@ +tdmcfile = TDMCreateFile::getInstance(); + } + + /* + * @static function &getInstance + * @param null + */ + /** + * @return UserVisit + */ + public static function &getInstance() + { + static \$instance = false; + if (!\$instance) { + \$instance = new self(); + } + + return \$instance; + } + + /* + * @public function write + * @param string \$module + * @param mixed \$table + * @param string \$filename + */ + /** + * @param \$module + * @param \$table + * @param \$filename + */ + public function write(\$module, \$table, \$filename) + { + \$this->setModule(\$module); + \$this->setTable(\$table); + \$this->setFileName(\$filename); + } + + /* + * @public function getUserVisitHeader + * @param null + */ + /** + * @param \$moduleDirname + * @return string + */ + public function getUserVisitHeader(\$moduleDirname, $language) + { + \$ret = <<get(\$lid); + if (count(\$view_{$stuModuleName}) == 0){ + redirect_header('index.php', 3, {$language}SINGLE_NONEXISTENT); + exit(); + } + //redirect if there aren't permission (cat) + \$categories = {$stuModuleName}_MygetItemIds('{$stuModuleName}_view', '{$stuModuleName}'); + if(!in_array(\$view_{$stuModuleName}->getVar('cid'), \$categories)) { + redirect_header(XOOPS_URL, 2, _NOPERM); + exit(); + } + //redirect if there aren't permission (download) + if (\$xoopsModuleConfig['permission_download'] == 2) { + \$item = {$stuModuleName}_MygetItemIds('{$stuModuleName}_download_item', '{$stuModuleName}'); + if(!in_array(\$view_{$stuModuleName}->getVar('lid'), \$item)) { + redirect_header('single.php?lid=' . \$view_{$stuModuleName}->getVar('lid'), 2, {$language}SINGLE_NOPERM); + exit(); + } + }else{ + \$categories = {$stuModuleName}_MygetItemIds('{$stuModuleName}_download', '{$stuModuleName}'); + if(!in_array(\$view_{$stuModuleName}->getVar('cid'), \$categories)) { + redirect_header('single.php?lid=' . \$view_{$stuModuleName}->getVar('lid'), 2, {$language}SINGLE_NOPERM); + exit(); + } + } +} +EOT; + + return \$ret; + } + + /* + * @public function getAdminPagesList + * @param string \$tableName + * @param string \$language + */ + /** + * @param \$module + * @param \$tableName + * @param \$language + * @return string + */ + public function getUserVisitForm(\$module, \$tableName, \$language) + { + \$stuModuleName = strtoupper(\$module->getVar('mod_name')); + \$ret = <<assign('navigation', \\$navigation); + // reference + // title of page + \\$title = {$language}SUBMIT_PROPOSER . ' - '; + \\$title .= \\$GLOBALS['xoopsModule']->name(); + \\$GLOBALS['xoopsTpl']->assign('xoops_pagetitle', \\$title); + //description + \\$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags({$language}SUBMIT_PROPOSER)); + // Description + \\$GLOBALS['xoTheme']->addMeta( 'meta', 'description', strip_tags({$language}SUBMIT)); + + // Create + \\${$tableName}Obj =& \\${$tableName}Handler->create(); + \\$form = \\${$tableName}Obj->getForm(); + \\$xoopsTpl->assign('form', \\$form->render());\n +EOT; + + return \$ret; + } + + /* + * @public function getUserVisitSave + * @param string \$moduleDirname + * @param string \$tableName + */ + /** + * @param \$moduleDirname + * @param \$table_id + * @param \$tableName + * @return string + */ + public function getUserVisitSave(\$moduleDirname, \$table_id, \$tableName) + { + \$ret = <<check() ) { + redirect_header('{$tableName}.php', 3, implode(',', \\$GLOBALS['xoopsSecurity']->getErrors())); + } + if (isset(\\$_REQUEST['{$fpif}'])) { + \\${$tableName}Obj =& \\${$tableName}Handler->get(\\$_REQUEST['{$fpif}']); + } else { + \\${$tableName}Obj =& \\${$tableName}Handler->create(); + } +EOT; + \$fields = \$this->getTableFields(\$table_id); + foreach (array_keys(\$fields) as \$f) { + \$fieldName = \$fields[\$f]->getVar('field_name'); + \$fieldElement = \$fields[\$f]->getVar('field_element'); + if ((5 == \$fieldElement) || (6 == \$fieldElement)) { + \$ret .= \$this->adminobjects->getCheckBoxOrRadioYN(\$tableName, \$fieldName); + } elseif (13 == \$fieldElement) { + \$ret .= \$this->adminobjects->getUploadImage(\$moduleDirname, \$tableName, \$fieldName); + } elseif (14 == \$fieldElement) { + \$ret .= \$this->adminobjects->getUploadFile(\$moduleDirname, \$tableName, \$fieldName); + } elseif (15 == \$fieldElement) { + \$ret .= \$this->adminobjects->getTextDateSelect(\$tableName, \$fieldName); + } else { + \$ret .= \$this->adminobjects->getSimpleSetVar(\$tableName, \$fieldName); + } + } + + \$ret .= <<insert(\\${$tableName}Obj)) { + redirect_header('index.php', 2, {$language}FORMOK); + } + + echo \\${$tableName}Obj->getHtmlErrors(); + \\$form =& \\${$tableName}Obj->getForm(); + \\$form->display(); + break;\n +EOT; + + return \$ret; + } + + /* + * @public function getUserVisitFooter + * @param null + */ + /** + * @return string + */ + public function getUserVisitFooter() + { + \$ret = <<getModule(); + \$table = \$this->getTable(); + \$filename = \$this->getFileName(); + \$moduleDirname = \$module->getVar('mod_dirname'); + \$table_id = \$table->getVar('table_id'); + \$tableName = \$table->getVar('table_name'); + \$language = \$this->getLanguage(\$moduleDirname, 'MA'); + \$content = \$this->getHeaderFilesComments(\$module, \$filename); + \$content .= \$this->getUserVisitHeader(\$moduleDirname); + \$content .= \$this->getUserVisitForm(\$module, \$tableName, \$language); + \$content .= \$this->getUserVisitSave(\$moduleDirname, \$table_id, \$tableName); + \$content .= \$this->getUserVisitFooter(); + \$this->tdmcfile->create(\$moduleDirname, '/', \$filename, \$content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); + + return \$this->tdmcfile->renderFile(); + } +} diff --git a/class/files/user/UserXoopsVersion.php b/class/files/user/UserXoopsVersion.php index f7c4101d..1483bfc0 100644 --- a/class/files/user/UserXoopsVersion.php +++ b/class/files/user/UserXoopsVersion.php @@ -219,7 +219,7 @@ private function getXoopsVersionHeader($module, $table, $language) * @param $table * @return string */ - private function getXoopsVersionMySQL($moduleDirname, $table) + private function getXoopsVersionMySQL($moduleDirname, $table, $tables) { $tableName = $table->getVar('table_name'); $n = 1; @@ -230,7 +230,6 @@ private function getXoopsVersionMySQL($moduleDirname, $table) \$modversion['sqlfile']['mysql'] = "sql/mysql.sql"; // Tables\n EOT; - $tables = $this->getTables(); foreach (array_keys($tables) as $t) { $ret .= <<getTables(); $ret = <<getTables(); $ret = << '{$moduleDirname}_header.tpl', 'description' => ''); @@ -359,12 +356,11 @@ private function getXoopsVersionTemplatesUser($moduleDirname) * @param $language * @return string */ - private function getXoopsVersionSubmenu($language) + private function getXoopsVersionSubmenu($language, $tables) { $ret = <<getTables(); $i = 1; foreach (array_keys($tables) as $t) { $tableName = $tables[$t]->getVar('table_name'); @@ -392,9 +388,8 @@ private function getXoopsVersionSubmenu($language) * @param $language * @return string */ - private function getXoopsVersionBlocks($moduleDirname, $language) + private function getXoopsVersionBlocks($moduleDirname, $tables, $language) { - $tables = $this->getTables(); $ret = <<getTables(); foreach (array_keys($tables) as $t) { $tableName = $tables[$t]->getVar('table_name'); if (1 == $tables[$t]->getVar('table_notifications')) { @@ -790,19 +784,20 @@ public function render() { $module = $this->getModule(); $table = $this->getTable(); + $tables = $this->getTables(); $filename = $this->getFileName(); $moduleDirname = $module->getVar('mod_dirname'); $language = $this->getLanguage($moduleDirname, 'MI'); $content = $this->getHeaderFilesComments($module, $filename); $content .= $this->getXoopsVersionHeader($module, $table, $language); if (1 == $module->getVar('mod_admin')) { - $content .= $this->getXoopsVersionTemplatesAdmin($moduleDirname, $table); + $content .= $this->getXoopsVersionTemplatesAdmin($moduleDirname, $table, $tables); } if (1 == $module->getVar('mod_user')) { - $content .= $this->getXoopsVersionTemplatesUser($moduleDirname); + $content .= $this->getXoopsVersionTemplatesUser($moduleDirname, $tables); } if (is_object($table)) { - $content .= $this->getXoopsVersionMySQL($moduleDirname, $table); + $content .= $this->getXoopsVersionMySQL($moduleDirname, $table, $tables); if (1 == $table->getVar('table_search')) { $content .= $this->getXoopsVersionSearch($moduleDirname); } @@ -814,12 +809,12 @@ public function render() $content .= $this->getXoopsVersionSubmenu($language); } if (1 == $table->getVar('table_blocks')) { - $content .= $this->getXoopsVersionBlocks($moduleDirname, $language); + $content .= $this->getXoopsVersionBlocks($moduleDirname, $tables, $language); } } $content .= $this->getXoopsVersionConfig($module, $table, $language); if (is_object($table) && 1 == $table->getVar('table_notifications')) { - $content .= $this->getXoopsVersionNotifications($moduleDirname, $language, $filename); + $content .= $this->getXoopsVersionNotifications($moduleDirname, $tables, $language, $filename); } $this->tdmcfile->create($moduleDirname, '/', $filename, $content, _AM_TDMCREATE_FILE_CREATED, _AM_TDMCREATE_FILE_NOTCREATED); diff --git a/class/form/TDMCreateFormRadio.php b/class/form/TDMCreateFormRadio.php index be3521ba..7a49703c 100644 --- a/class/form/TDMCreateFormRadio.php +++ b/class/form/TDMCreateFormRadio.php @@ -1,5 +1,4 @@ * @version $Id: TDMCreateFormRadio.php 12360 2014-12-06 13:18:22Z timgno $ */ -class TDMCreateFormRadio extends XoopsFormElement -{ - /** - * Array of Options - * - * @var array - * @access private - */ - public $_options = array(); - - /** - * Pre-selected value - * - * @var string - * @access private - */ - public $_value; - - /** - * HTML to seperate the elements - * - * @var string - * @access private - */ - public $_delimeter; - - /** - * Column number for rendering - * - * @var int - * @access public - */ - public $columns; - - /** - * Constructor - * - * @param string $caption Caption - * @param string $name "name" attribute - * @param string $value Pre-selected value - * @param string $delimeter - */ - public function TDMCreateFormRadio($caption, $name, $value = null, $delimeter = ' ') - { - $this->__construct($caption, $name, $value, $delimeter); - } - - /** - * @param $caption - * @param $name - * @param null $value - * @param string $delimeter - */ - public function __construct($caption, $name, $value = null, $delimeter = ' ') - { - $this->setCaption($caption); - $this->setName($name); - if (isset($value)) { - $this->setValue($value); - } - $this->_delimeter = $delimeter; - } - - - /** - * Get the "value" attribute - * - * @param bool $encode To sanitizer the text? - * @return string - */ - public function getValue($encode = false) - { - return ($encode && $this->_value !== null) ? htmlspecialchars($this->_value, ENT_QUOTES) : $this->_value; - } - - /** - * Set the pre-selected value - * - * @param $value string - */ - public function setValue($value) - { - $this->_value = $value; - } - - /** - * Add an option - * - * @param string $value "value" attribute - This gets submitted as form-data. - * @param string $name "name" attribute - This is displayed. If empty, we use the "value" instead. - */ - public function addOption($value, $name = '') - { - if ($name != '') { - $this->_options[$value] = $name; - } else { - $this->_options[$value] = $value; - } - } - - /** - * Adds multiple options - * - * @param array $options Associative array of value->name pairs. - */ - public function addOptionArray($options) - { - if (is_array($options)) { - foreach ($options as $k => $v) { - $this->addOption($k, $v); - } - } - } - - /** - * Get an array with all the options - * - * @param bool|int $encode To sanitizer the text? potential values: 0 - skip; 1 - only for value; 2 - for both value and name - * - * @return array Associative array of value->name pairs - */ - public function getOptions($encode = false) - { - if (!$encode) { - return $this->_options; - } - $value = array(); - foreach ($this->_options as $val => $name) { - $value[$encode ? htmlspecialchars($val, ENT_QUOTES) : $val] = ($encode > 1) ? htmlspecialchars($name, ENT_QUOTES) : $name; - } - - return $value; - } - - /** - * Get the delimiter of this group - * - * @param bool $encode To sanitizer the text? - * @return string The delimiter - */ - public function getDelimeter($encode = false) - { - return $encode ? htmlspecialchars(str_replace(' ', ' ', $this->_delimeter)) : $this->_delimeter; - } - +class TDMCreateFormRadio extends XoopsFormRadio +{ /** * Prepare HTML for output *