Esempio n. 1
0
 /**
  *@desc
  *@param CrudField $field
  *@param string $curValue
  *@return IXmlnukeDocumentObject
  */
 public function renderField($field, $curValue)
 {
     if ($field->fieldXmlInput == XmlInputObjectType::TEXTBOX || $field->fieldXmlInput == XmlInputObjectType::PASSWORD || $field->fieldXmlInput == XmlInputObjectType::TEXTBOX_AUTOCOMPLETE) {
         //			XmlInputTextBox $itb
         $itb = new XmlInputTextBox($field->fieldCaption, $field->fieldName, $curValue, $field->size);
         $itb->setRequired($field->required);
         $itb->setRange($field->rangeMin, $field->rangeMax);
         $itb->setDescription($field->fieldCaption);
         if ($field->fieldXmlInput == XmlInputObjectType::PASSWORD) {
             $itb->setInputTextBoxType(InputTextBoxType::PASSWORD);
         } elseif ($field->fieldXmlInput == XmlInputObjectType::TEXTBOX_AUTOCOMPLETE) {
             if (!is_array($field->arraySelectList) || $field->arraySelectList["URL"] == "" || $field->arraySelectList["PARAMREQ"] == "") {
                 throw new XMLNukeException("You have to pass a array to arraySelectList field parameter with the following keys: URL, PARAMREQ. Optional: ATTRINFO, ATTRID, JSCALLBACK");
             }
             $itb->setInputTextBoxType(InputTextBoxType::TEXT);
             $itb->setAutosuggest($this->_context, $field->arraySelectList["URL"], $field->arraySelectList["PARAMREQ"], $field->arraySelectList["JSCALLBACK"]);
         } else {
             $itb->setInputTextBoxType(InputTextBoxType::TEXT);
         }
         $itb->setReadOnly($this->isReadOnly($field));
         $itb->setMaxLength($field->maxLength);
         $itb->setDataType($field->dataType);
         return $itb;
     } else {
         if ($field->fieldXmlInput == XmlInputObjectType::RADIOBUTTON || $field->fieldXmlInput == XmlInputObjectType::CHECKBOX) {
             //			XmlInputCheck $ic
             $ic = new XmlInputCheck($field->fieldCaption, $field->fieldName, $field->defaultValue);
             if ($field->fieldXmlInput == XmlInputObjectType::TEXTBOX) {
                 $ic->setType(InputCheckType::CHECKBOX);
             } else {
                 $ic->setType(InputCheckType::CHECKBOX);
             }
             $ic->setChecked($field->defaultValue == $curValue);
             $ic->setReadOnly($this->isReadOnly($field));
             return $ic;
         } else {
             if ($field->fieldXmlInput == XmlInputObjectType::MEMO) {
                 //			XmlInputMemo $im
                 $im = new XmlInputMemo($field->fieldCaption, $field->fieldName, $curValue);
                 $im->setWrap("SOFT");
                 $im->setSize(50, 8);
                 $im->setReadOnly($this->isReadOnly($field));
                 return $im;
             } else {
                 if ($field->fieldXmlInput == XmlInputObjectType::HTMLTEXT) {
                     //			XmlInputMemo $im
                     $im = new XmlInputMemo($field->fieldCaption, $field->fieldName, $curValue);
                     //$im->setWrap("SOFT");
                     //$im->setSize(50, 8);
                     $im->setVisualEditor(true);
                     $im->setReadOnly($this->isReadOnly($field));
                     return $im;
                 } else {
                     if ($field->fieldXmlInput == XmlInputObjectType::HIDDEN) {
                         //			XmlInputHidden $ih
                         $ih = new XmlInputHidden($field->fieldName, $curValue);
                         return $ih;
                     } else {
                         if ($field->fieldXmlInput == XmlInputObjectType::SELECTLIST) {
                             //			XmlEasyList $el
                             $el = new XmlEasyList(EasyListType::SELECTLIST, $field->fieldName, $field->fieldCaption, $field->arraySelectList, $curValue);
                             $el->setReadOnly($this->isReadOnly($field));
                             return $el;
                         } else {
                             if ($field->fieldXmlInput == XmlInputObjectType::DUALLIST) {
                                 $ards = new ArrayDataset($field->arraySelectList, "value");
                                 $duallist = new XmlDualList($this->_context, $field->fieldName, $this->_lang->Value("TXT_AVAILABLE", $field->fieldCaption), $this->_lang->Value("TXT_USED", $field->fieldCaption));
                                 $duallist->createDefaultButtons();
                                 $duallist->setDataSourceFieldName("key", "value");
                                 if ($curValue != "") {
                                     $ardt = explode(",", $curValue);
                                     $ardt = array_flip($ardt);
                                     foreach ($ardt as $key => $value) {
                                         $ardt[$key] = $field->arraySelectList[$key];
                                     }
                                 } else {
                                     $ardt = array();
                                 }
                                 $ards2 = new ArrayDataset($ardt, "value");
                                 $duallist->setDataSource($ards->getIterator(), $ards2->getIterator());
                                 $label = new XmlInputLabelObjects("=>");
                                 $label->addXmlnukeObject($duallist);
                                 return $label;
                             } else {
                                 if ($field->fieldXmlInput == XmlInputObjectType::DATE || $field->fieldXmlInput == XmlInputObjectType::DATETIME) {
                                     $cur = explode(" ", $curValue);
                                     if (count($cur) == 0) {
                                         $cur = array('', '');
                                     } else {
                                         if (count($cur) == 1) {
                                             $cur[] = '';
                                         }
                                     }
                                     $idt = new XmlInputDateTime($field->fieldCaption, $field->fieldName, $this->_dateFormat, $field->fieldXmlInput == XmlInputObjectType::DATETIME, $cur[0], $cur[1]);
                                     return $idt;
                                 } else {
                                     if ($field->fieldXmlInput == XmlInputObjectType::FILEUPLOAD) {
                                         $file = new XmlInputFile($field->fieldCaption, $field->fieldName);
                                         return $file;
                                     } else {
                                         //			XmlInputLabelField xlf
                                         $xlf = new XmlInputLabelField($field->fieldCaption, $curValue);
                                         return $xlf;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Esempio n. 2
0
 public function EditUser($users, $uid)
 {
     $user = $users->getById($uid);
     $block = new XmlBlockCollection($this->myWords->Value("EDITUSER") . $user->getField($users->getUserTable()->username), BlockPosition::Center);
     if (!$this->isUserAdmin() && $user->getField($users->getUserTable()->admin) == "yes") {
         $p = new XmlParagraphCollection();
         $p->addXmlnukeObject(new XmlnukeText($this->myWords->Value("CANNOTEDITADMIN")));
         $block->addXmlnukeObject($p);
         $this->defaultXmlnukeDocument->addXmlnukeObject($block);
         return;
     }
     $tabview = new XmlnukeTabView();
     $block->addXmlnukeObject($tabview);
     // -------------------------------------------------------------------
     // EDITAR USUÁRIO
     $form = new XmlFormCollection($this->_context, $this->url, "");
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("action", "update"));
     $form->addXmlnukeObject(new XmlInputHidden("curpage", $this->_context->get("curpage")));
     $form->addXmlnukeObject(new XmlInputHidden("valueid", $uid));
     $textbox = new XmlInputTextBox($this->myWords->Value("LABEL_LOGIN"), "login", $user->getField($users->getUserTable()->username));
     $textbox->setDataType(INPUTTYPE::TEXT);
     $textbox->setRequired(true);
     $textbox->setReadOnly(true);
     $form->addXmlnukeObject($textbox);
     $textbox = new XmlInputTextBox($this->myWords->Value("LABEL_NAME"), "name", $user->getField($users->getUserTable()->name));
     $textbox->setDataType(INPUTTYPE::TEXT);
     $textbox->setRequired(true);
     $form->addXmlnukeObject($textbox);
     $textbox = new XmlInputTextBox($this->myWords->Value("LABEL_EMAIL"), "email", $user->getField($users->getUserTable()->email));
     $textbox->setDataType(INPUTTYPE::EMAIL);
     $textbox->setRequired(true);
     $form->addXmlnukeObject($textbox);
     $textbox = new XmlInputLabelField($this->myWords->Value("LABEL_PASSWORD"), $this->myWords->Value("FORMPASSWORDNOTVIEW"));
     $form->addXmlnukeObject($textbox);
     $check = new XmlInputCheck($this->myWords->Value("FORMADMINISTRADOR"), "admin", "yes");
     $check->setChecked($user->getField($users->getUserTable()->admin));
     $check->setReadOnly(!$this->isUserAdmin());
     $form->addXmlnukeObject($check);
     $boxButton = new XmlInputButtons();
     $boxButton->addSubmit($this->myWords->Value("TXT_UPDATE"), "");
     $form->addXmlnukeObject($boxButton);
     $tabview->addTabItem($this->myWords->Value("TABEDITUSER"), $form);
     // -------------------------------------------------------------------
     // ALTERAR SENHA
     $form = new XmlFormCollection($this->_context, $this->url, "");
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("action", "changepassword"));
     $form->addXmlnukeObject(new XmlInputHidden("curpage", $this->_context->get("curpage")));
     $form->addXmlnukeObject(new XmlInputHidden("valueid", $uid));
     $textbox = new XmlInputTextBox($this->myWords->Value("FORMNEWPASSWORD"), "password", "");
     $textbox->setInputTextBoxType(InputTextBoxType::PASSWORD);
     $textbox->setDataType(INPUTTYPE::TEXT);
     $textbox->setRequired(true);
     $form->addXmlnukeObject($textbox);
     $boxButton = new XmlInputButtons();
     $boxButton->addSubmit($this->myWords->Value("TXT_CHANGE"), "");
     $form->addXmlnukeObject($boxButton);
     $tabview->addTabItem($this->myWords->Value("TABCHANGEPASSWD"), $form);
     // -------------------------------------------------------------------
     // REMOVER USUARIO
     $form = new XmlFormCollection($this->_context, $this->url, "");
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("action", "delete"));
     $form->addXmlnukeObject(new XmlInputHidden("curpage", $this->_context->get("curpage")));
     $form->addXmlnukeObject(new XmlInputHidden("valueid", $uid));
     $boxButton = new XmlInputButtons();
     $boxButton->addSubmit($this->myWords->Value("BUTTONREMOVE"), "");
     $form->addXmlnukeObject($boxButton);
     $tabview->addTabItem($this->myWords->Value("TABREMOVEUSER"), $form);
     // -------------------------------------------------------------------
     // REMOVER PAPEL DO USUARIO
     $para = new XmlParagraphCollection();
     $form = new XmlFormCollection($this->_context, $this->url, $this->myWords->Value("FORMEDITROLES"));
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("action", "removerole"));
     $form->addXmlnukeObject(new XmlInputHidden("curpage", $this->_context->get("curpage")));
     $form->addXmlnukeObject(new XmlInputHidden("valueid", $uid));
     $userroles = $users->returnUserProperty($uid, UserProperty::Role);
     $userroles = is_null($userroles) ? array() : $userroles;
     $roles = array();
     foreach ($userroles as $i) {
         $roles[$i] = $i;
     }
     $form->addXmlnukeObject(new XmlEasyList(EasyListType::SELECTLIST, "role", $this->myWords->Value("FORMUSERROLES"), $roles));
     $boxButton = new XmlInputButtons();
     $boxButton->addSubmit($this->myWords->Value("TXT_REMOVE"), "");
     $form->addXmlnukeObject($boxButton);
     $para->addXmlnukeObject($form);
     // -------------------------------------------------------------------
     // ADICIONAR PAPEL AO USUARIO
     $form = new XmlFormCollection($this->_context, $this->url, "");
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("action", "addrole"));
     $form->addXmlnukeObject(new XmlInputHidden("curpage", $this->_context->get("curpage")));
     $form->addXmlnukeObject(new XmlInputHidden("valueid", $uid));
     //		$textbox = new XmlInputTextBox($this->myWords->Value("FORMROLES"), "role", "", 10);
     //		$textbox->setInputTextBoxType(InputTextBoxType::TEXT);
     //		$textbox->setDataType(INPUTTYPE::TEXT);
     //		$textbox->setRequired(true);
     //		$form->addXmlnukeObject($textbox);
     //		$form->addXmlnukeObject(new XmlInputLabelField("DEFAULT ROLES", "EDITOR"));
     //		$form->addXmlnukeObject(new XmlInputLabelField("", "DESIGNER"));
     //		$form->addXmlnukeObject(new XmlInputLabelField("", "MANAGER"));
     $roleData = $this->getAllRoles($users);
     $selectRole = new XmlEasyList(EasyListType::SELECTLIST, "role", $this->myWords->Value("FORMROLES"), $roleData);
     $form->addXmlnukeObject($selectRole);
     $boxButton = new XmlInputButtons();
     $boxButton->addSubmit($this->myWords->Value("TXT_ADD"), "");
     $form->addXmlnukeObject($boxButton);
     $para->addXmlnukeObject($form);
     $tabview->addTabItem($this->myWords->Value("TABMANROLE"), $para, $this->_action == "addrole" || $this->_action == "removerole");
     //------------------------------------------------------------------------
     // CUSTOM FIELDS
     //------------------------------------------------------------------------
     $block2 = new XmlnukeSpanCollection();
     $table = new XmlTableCollection();
     $row = new XmlTableRowCollection();
     $col = new XmlTableColumnCollection();
     $col->addXmlnukeObject(new XmlnukeText($this->myWords->Value("ACTION"), true));
     $row->addXmlnukeObject($col);
     $col = new XmlTableColumnCollection();
     $col->addXmlnukeObject(new XmlnukeText($this->myWords->Value("GRIDFIELD"), true));
     $row->addXmlnukeObject($col);
     $col = new XmlTableColumnCollection();
     $col->addXmlnukeObject(new XmlnukeText($this->myWords->Value("GRIDVALUE"), true));
     $row->addXmlnukeObject($col);
     $table->addXmlnukeObject($row);
     $fields = $user->getFieldNames();
     $fieldsLength = count($fields);
     foreach ($fields as $fldValue => $fldName) {
         $values = $user->getFieldArray($fldName);
         foreach ($values as $value) {
             $row = new XmlTableRowCollection();
             $col = new XmlTableColumnCollection();
             if ($fldName != $users->getUserTable()->name && $fldName != $users->getUserTable()->username && $fldName != $users->getUserTable()->email && $fldName != $users->getUserTable()->password && $fldName != $users->getUserTable()->created && $fldName != $users->getUserTable()->admin && $fldName != $users->getUserTable()->id) {
                 $href = new XmlAnchorCollection("module:Xmlnuke.Admin.ManageUsers?action=removecustomvalue&customfield=" . $fldName . "&valueid=" . $uid . "&customvalue=" . urlencode($value), "");
                 $href->addXmlnukeObject(new XmlnukeText($this->myWords->Value("TXT_REMOVE")));
                 $col->addXmlnukeObject($href);
             } else {
                 $col->addXmlnukeObject(new XmlnukeText("---"));
             }
             $row->addXmlnukeObject($col);
             $col = new XmlTableColumnCollection();
             $col->addXmlnukeObject(new XmlnukeText($fldName));
             $row->addXmlnukeObject($col);
             $col = new XmlTableColumnCollection();
             $col->addXmlnukeObject(new XmlnukeText($value));
             $row->addXmlnukeObject($col);
             $table->addXmlnukeObject($row);
         }
     }
     $paragraph = new XmlParagraphCollection();
     $paragraph->addXmlnukeObject($table);
     $block2->addXmlnukeObject($paragraph);
     $table = new XmlTableCollection();
     $row = new XmlTableRowCollection();
     $col = new XmlTableColumnCollection();
     $form = new XmlFormCollection($this->_context, $this->url, $this->myWords->Value("GRIDVALUE"));
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("action", "addcustomvalue"));
     $form->addXmlnukeObject(new XmlInputHidden("curpage", $this->_context->get("curpage")));
     $form->addXmlnukeObject(new XmlInputHidden("valueid", $uid));
     $textbox = new XmlInputTextBox($this->myWords->Value("FORMFIELD"), "customfield", "", 20);
     $textbox->setInputTextBoxType(InputTextBoxType::TEXT);
     $textbox->setDataType(INPUTTYPE::TEXT);
     $textbox->setRequired(true);
     $form->addXmlnukeObject($textbox);
     $textbox = new XmlInputTextBox($this->myWords->Value("FORMVALUE"), "customvalue", "", 40);
     $textbox->setInputTextBoxType(InputTextBoxType::TEXT);
     $textbox->setDataType(INPUTTYPE::TEXT);
     $textbox->setRequired(true);
     $form->addXmlnukeObject($textbox);
     $boxButton = new XmlInputButtons();
     $boxButton->addSubmit($this->myWords->Value("TXT_ADD"), "");
     $form->addXmlnukeObject($boxButton);
     $col->addXmlnukeObject($form);
     $row->addXmlnukeObject($col);
     $table->addXmlnukeObject($row);
     $paragraph = new XmlParagraphCollection();
     $paragraph->addXmlnukeObject($table);
     $block2->addXmlnukeObject($paragraph);
     $tabview->addTabItem($this->myWords->Value("TABCUSTOMVALUE"), $block2, $this->_action == "addcustomvalue" || $this->_action == "removecustomvalue");
     $this->defaultXmlnukeDocument->addXmlnukeObject($block);
 }
Esempio n. 3
0
 /**
  * Show The Form Exemple
  *
  */
 protected function actionForm()
 {
     $blockCenter = new XmlBlockCollection($this->_myWords->Value("FORM"), BlockPosition::Center);
     $breakLine = new XmlnukeBreakLine();
     $paragraph = new XmlParagraphCollection();
     $blockCenter->addXmlnukeObject($paragraph);
     $paragraph->addXmlnukeObject(new XmlnukeText($this->_myWords->Value("FORMTEXT")));
     $form = new XmlFormCollection($this->_context, $this->_url, $this->_myWords->Value("FORMEDIT"));
     $paragraph->addXmlnukeObject($form);
     $form->setJSValidate(true);
     $form->addXmlnukeObject(new XmlInputHidden("op", "2"));
     $form->addXmlnukeObject(new XmlInputLabelField("Caption", $this->_myWords->Value("VALUE")));
     $text = new XmlInputTextBox($this->_myWords->Value("FIELDREQUIRED"), "field1", "");
     $text->setRequired(true);
     $form->addXmlnukeObject($text);
     $text = new XmlInputDateTime("Date Picker", "date1", DATEFORMAT::DMY, false);
     $form->addXmlnukeObject($text);
     $text = new XmlInputDateTime("Date Picker", "date2", DATEFORMAT::YMD, true);
     $form->addXmlnukeObject($text);
     $text = new XmlInputTextBox($this->_myWords->Value("FIELDEMAIL"), "field2", "");
     $text->setRequired(true);
     $text->setDataType(INPUTTYPE::EMAIL);
     $form->addXmlnukeObject($text);
     $form->addXmlnukeObject(new XmlInputMemo($this->_myWords->Value("MEMO"), "field3", $this->_myWords->Value("VALUE")));
     $form->addXmlnukeObject(new XmlInputCheck($this->_myWords->Value("CHECKBOX"), "check1", $this->_myWords->Value("VALUE")));
     $inputCheck = new XmlInputCheck($this->_myWords->Value("CAPTIONREADONLY"), "check2", $this->_myWords->Value("VALUE"));
     $inputCheck->setChecked(true);
     $inputCheck->setReadOnly(true);
     $form->addXmlnukeObject($inputCheck);
     $inputTextBox = new XmlInputTextBox($this->_myWords->Value("INPUTREADONLY"), "field4", $this->_myWords->Value("VALUE"));
     $inputTextBox->setReadOnly(true);
     $form->addXmlnukeObject($inputTextBox);
     $buttons = new XmlInputButtons();
     $buttons->addSubmit($this->_myWords->Value("SUBMIT"), "bs");
     $buttons->addReset($this->_myWords->Value("RESET"), "br");
     $buttons->addButton($this->_myWords->Value("BUTTON"), "bt", "javascript:alert('ok')");
     $form->addXmlnukeObject($buttons);
     $this->_document->addXmlnukeObject($blockCenter);
 }