/** * Enter description here... * * @param XmlBlockCollection $block * @param string $pollname */ protected function ListAnswers($block, $pollname, $lang) { $yesno = array("Y" => $this->myWords->Value("YES"), "N" => $this->myWords->Value("NO")); $processfields = new CrudFieldCollection(); $field = CrudField::FactoryMinimal("name", $this->myWords->Value("POLLNAME"), 15, true, true); $field->key = true; $field->editable = $this->_context->get("acao") == XmlnukeCrudBase::ACTION_NEW_CONFIRM; $field->defaultValue = $pollname; $processfields->addCrudField($field); $field = CrudField::FactoryMinimal("lang", $this->myWords->Value("POLLLANG"), 5, true, true); $field->key = true; $field->editable = $this->_context->get("acao") == XmlnukeCrudBase::ACTION_NEW_CONFIRM; $field->fieldXmlInput = XmlInputObjectType::SELECTLIST; $field->arraySelectList = $this->_context->LanguagesAvailable(); $field->defaultValue = $lang; $processfields->addCrudField($field); $field = CrudField::FactoryMinimal("code", $this->myWords->Value("ANSWERCODE"), 3, true, true); $field->key = true; $field->dataType = INPUTTYPE::NUMBER; $processfields->addCrudField($field); $field = CrudField::FactoryMinimal("short", $this->myWords->Value("SHORTTEXT"), 10, true, true); $processfields->addCrudField($field); $field = CrudField::FactoryMinimal("answer", $this->myWords->Value("ANSWERTEXT"), 50, true, true); $processfields->addCrudField($field); $field = CrudField::FactoryMinimal("votes", $this->myWords->Value("ANSWERVOTES"), 3, true, true); $field->editable = false; $field->defaultValue = 0; $field->dataType = INPUTTYPE::NUMBER; $processfields->addCrudField($field); if ($this->_isdb) { $crud = new XmlnukeCrudDB($this->_context, $processfields, $this->myWords->Value("AVAILABLEANSWER", $pollname), $this->_moduleUrl, null, $this->_tblanswer, $this->_connection); $crud->setFilter("name = '" . $pollname . "' and lang='" . $lang . "'"); } else { $anydatafile = new AnydatasetFilenameProcessor("poll_" . $pollname . "_" . $lang); $crud = new XmlnukeCrudAnydata($this->_context, $processfields, $this->myWords->Value("AVAILABLEANSWER", $pollname), $this->_moduleUrl, null, $anydatafile); } $crud->addParameter("op", "answernav"); $crud->addParameter("curpoll", $pollname); $crud->addParameter("curlang", $lang); $block->addXmlnukeObject($crud); }
/** * Edit DataBase * */ protected function actionEditDB() { $blockCenter = new XmlBlockCollection($this->_myWords->Value("DATABASE"), BlockPosition::Center); $breakline = new XmlnukeBreakLine(); $paragraph = new XmlParagraphCollection(); $paragraph->addXmlnukeObject(new XmlnukeText($this->_myWords->Value("DATABASETEXT"))); $paragraph->addXmlnukeObject($breakline); $secop = $this->_context->get("secop"); // Menu $form = new XmlFormCollection($this->_context, $this->_url . "?op=5", "Menu"); $optionlist = array(); $optionlist[""] = "-- Selecione --"; $optionlist["setup"] = "Configurar a Conexão"; $optionlist["test"] = "Testar a conexão"; $optionlist["create"] = "Create Sample Table"; $optionlist["edit"] = "Edit Sample Table"; $list = new XmlEasyList(EasyListType::SELECTLIST, "secop", "Selecione a Ação", $optionlist, $secop); $form->addXmlnukeObject($list); $btnmenu = new XmlInputButtons(); $btnmenu->addSubmit("Selecionar"); $form->addXmlnukeObject($btnmenu); $blockCenter->addXmlnukeObject($form); // Opções: switch ($secop) { case "setup": $formsetup = new XmlFormCollection($this->_context, $this->_url . "?op=5", "Editar Conexão"); $formsetup->addXmlnukeObject(new XmlInputHidden("secop", "setupconf")); $text = new XmlInputTextBox("Connection String", "connection", "adodriver://*****:*****@server/datasource"); $text->setRequired(true); $formsetup->addXmlnukeObject($text); $btn = new XmlInputButtons(); $btn->addSubmit("Salvar"); $formsetup->addXmlnukeObject($btn); $blockCenter->addXmlnukeObject($formsetup); break; case "setupconf": $filename = new AnydatasetFilenameProcessor("_db"); $anydata = new AnyDataset($filename->FullQualifiedNameAndPath()); $itf = new IteratorFilter(); $itf->addRelation("dbname", Relation::EQUAL, "sampledb"); $it = $anydata->getIterator($itf); if ($it->hasNext()) { $sr = $it->moveNext(); $sr->setField("dbtype", "dsn"); $sr->setField("dbconnectionstring", $this->_context->get("connection")); } else { $anydata->appendRow(); $anydata->addField("dbname", "sampledb"); $anydata->addField("dbtype", "dsn"); $anydata->addField("dbconnectionstring", $this->_context->get("connection")); } $anydata->Save(); $paragraph->addXmlnukeObject(new XmlnukeText("Updated!", true)); break; case "test": $db = new DBDataset("sampledb"); $db->TestConnection(); $paragraph->addXmlnukeObject(new XmlnukeText("I suppose it is fine the connection string!", true)); break; case "create": $db = new DBDataset("sampledb"); $sql = "create table sample (fieldkey integer, fieldname varchar(20))"; $db->execSQL($sql); $db->TestConnection(); $paragraph->addXmlnukeObject(new XmlnukeText("Table Created!", true)); break; case "edit": // Cria um acesso a $crud $pageFields = new CrudFieldCollection(); $fieldPage = new CrudField(); $fieldPage->fieldName = "fieldkey"; $fieldPage->key = true; $fieldPage->dataType = INPUTTYPE::NUMBER; $fieldPage->fieldCaption = "Código"; $fieldPage->fieldXmlInput = XmlInputObjectType::TEXTBOX; $fieldPage->visibleInList = true; $fieldPage->editable = true; $fieldPage->required = true; $fieldPage->rangeMin = "100"; $fieldPage->rangeMax = "999"; $pageFields->addCrudField($fieldPage); $fieldPage = new CrudField(); $fieldPage->fieldName = "fieldname"; $fieldPage->key = false; $fieldPage->dataType = INPUTTYPE::TEXT; $fieldPage->fieldCaption = "Name"; $fieldPage->fieldXmlInput = XmlInputObjectType::TEXTBOX; $fieldPage->visibleInList = true; $fieldPage->editable = true; $fieldPage->required = true; $fieldPage->maxLength = 20; $pageFields->addCrudField($fieldPage); $crud = new XmlnukeCrudDB($this->_context, $pageFields, "Edição teste usando Banco de Dados", $this->_url . "?op=5", null, "sample", "sampledb"); $crud->setPageSize(3, 0); $crud->addParameter("secop", "edit"); $paragraph->addXmlnukeObject($crud); break; } $blockCenter->addXmlnukeObject($paragraph); $this->_document->addXmlnukeObject($blockCenter); }