Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
 /**
  * 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);
 }