function actionDefault() { // Create the form $form = new YDForm('form1'); $form->registerFilter('reverse', 'strrev'); $form->setDefaults(array('txt2' => 'First text', 'txt3' => "2\nlines", 'hid1' => 'me hidden', 'chk1' => 'x', 'chk2' => false, 'sel1' => 2)); $text =& $form->addElement('text', 'txt1', 'Enter text 1:'); $text->_label = 'new label for txt1'; $form->addElement('text', 'txt2', 'Enter text 2:', array('class' => 'textInputClass', 'name' => 'x')); $form->addElement('textarea', 'txt3', 'Enter text 2:'); $form->addElement('textareacounter', 'txtcounter_1', 'Textarea counter 1', array(), array('maxlength' => 10, 'before' => ' (', 'after' => ' characters remaining)')); $form->addElement('textareacounter', 'txtcounter_2', 'Textarea counter 2'); $form->addElement('radio', 'rad1', 'Select a value 1:', array(), array(1 => 'een', 2 => 'twee')); $form->addElement('radio', 'rad2', 'Select a value 2:', array(), array(1 => 'een<br/>', 2 => 'twee')); $form->addElement('hidden', 'hid1', ''); $form->addElement('hidden', 'hid2', '', array(), 'i am also hidden'); $form->addElement('image', 'img1', '', array(), 'http://www.scripting.com/images/xml.gif'); $form->addElement('password', 'pas1', 'Enter your password'); $form->addElement('bbtextarea', 'bbt1', 'Enter your BBCode'); $form->addElement('checkbox', 'chk1', 'Select me please'); $form->addElement('checkbox', 'chk2', 'Select me please'); $form->addElement('select', 'sel1', 'Select an option:', array(), array(1 => 'een', 2 => 'twee')); $form->addElement('span', 'span1', 'This is a span. The next element is an image (img).'); $form->addElement('img', 'img2', 'http://www.scripting.com/images/xml.gif'); $form->addElement('file', 'fil1', 'Select an file:'); $form->addElement('submit', 'cmd1', 'Send'); $form->addElement('reset', 'res1', 'Reset'); $form->addFilter('__ALL__', 'upper'); $form->addFilter('txt1', 'trim'); $form->addFilter('txt2', 'reverse'); $form->addRule('txt1', 'required', 'txt1 is required'); $form->addRule('chk2', 'exact', 'chk2 is required', 1); $form->addFormRule(array(&$this, 'formrule'), 'txt1 is required'); if (YDConfig::get('YD_DEBUG') == 1 || YDConfig::get('YD_DEBUG') == 2) { YDDebugUtil::dump($form->_regElements, 'Registered elements'); YDDebugUtil::dump($form->_regRules, 'Registered rules'); YDDebugUtil::dump($form->_regFilters, 'Registered filters'); YDDebugUtil::dump($form->_filters, 'Filters'); YDDebugUtil::dump($form->_rules, 'Rules'); YDDebugUtil::dump($form->_formrules, 'Form Rules'); YDDebugUtil::dump($form->getValue('txt1'), 'txt1'); YDDebugUtil::dump($form->getValue('txt2'), 'txt2'); YDDebugUtil::dump($_POST, '$_POST'); YDDebugUtil::dump($_FILES, '$_FILES'); YDDebugUtil::dump($form->toArray()); } if ($form->validate()) { YDDebugUtil::dump($form->getModifiedValues(), 'Form modified values'); YDDebugUtil::dump($form->getValues(), 'Form values'); } else { $form->display(); } // Create the form $form2 = new YDForm('form2'); $form2->setDefaults(array('txt1' => 'First text')); $form2->addElement('text', 'txt1', 'Enter text 1:'); $form2->addElement('text', 'txt2', 'Enter text 2:'); $form2->addElement('submit', 'cmd1', 'Send'); $form2->display(); }
function actionDefault() { // Create the form $form = new YDForm('form1', 'GET', '', '_self', array('class' => 'myform')); // Add elements $form->addElement('text', 'txt1', 'Enter text 1:'); $form->addElement('text', 'txt2', 'Enter text 2:'); $form->addElement('submit', 'cmdSubmit', 'submit'); $form->addRule('txt1', 'required', 'txt1 is required'); $form->addRule('txt1', 'maxlength', 'txt1 must be smaller than 15', 15); $form->addCompareRule(array('txt1', 'txt2'), 'equal', 'txt1 and txt2 must be equal'); $form->addFormRule('formrule1'); $form->addFormRule(array('YDValidateRule', 'formrule2')); $form->addFilter('txt1', 'trim'); $form->addFilter('txt2', 'trim'); // Convert the form to XML $xml = $form->render('xml'); YDDebugUtil::dump($xml, 'Form as XML data'); //YDDebugUtil::dump( $form ); // Recreate a new form from the XML data $form2 = new YDForm('form1'); $form2->import('xml', $xml); //YDDebugUtil::dump( $form2 ); YDDebugUtil::dump(array_diff_assoc($form->toArray(), $form2->toArray()), 'toArray difference'); YDDebugUtil::dump(array_diff_assoc($form->_attributes, $form2->_attributes), '_attributes difference'); YDDebugUtil::dump(array_diff_assoc($form->_elements, $form2->_elements), '_elements difference'); YDDebugUtil::dump(array_diff_assoc($form->_rules, $form2->_rules), '_rules difference'); YDDebugUtil::dump(array_diff_assoc($form->_filters, $form2->_filters), '_filters difference'); YDDebugUtil::dump(array_diff_assoc($form->_comparerules, $form2->_comparerules), '_comparerules difference'); YDDebugUtil::dump(array_diff_assoc($form->_formrules, $form2->_formrules), '_formrules difference'); YDDebugUtil::dump(array_diff_assoc($form->_regElements, $form2->_regElements), '_regElements difference'); YDDebugUtil::dump(array_diff_assoc($form->_regRules, $form2->_regRules), '_regRules difference'); YDDebugUtil::dump(array_diff_assoc($form->_regFilters, $form2->_regFilters), '_regFilters difference'); YDDebugUtil::dump(array_diff_assoc($form->_regRenderers, $form2->_regRenderers), '_regRenderers difference'); }
function actionSearch() { // retrieve list of forums $forumLogic = new ForumsLogic(); $forums = $forumLogic->retrieveAllByOrderSimple(); $selectForums = array(); foreach ($forums as $i => $item) { $selectForums["" . $item->id] = $item->name; } // Create the search form $form = new YDForm('searchForm'); $form->addElement('text', 'searchKeys', t('forums.searchstring'), array("size" => 40)); $form->addElement('select', 'searchForum', t('forums.searchforum'), array("width" => 60), $selectForums); $form->addElement('submit', 'cmdSubmit', t('forums.search')); // Add rules $form->addFormRule(array(&$this, 'checkSearch')); // Process the form if ($form->validate()) { $this->actionTpl->assign('searched', true); // get and show results $forum = $forumLogic->retrieveForumById($form->getValue('searchForum')); $forum->loadSubjectsMatching($form->getValue('searchKeys')); // number of results $this->actionTpl->assign('nbposts', count($forum->subjects)); $this->actionTpl->assign('posts', $forum->subjects); } // Assign variables to the template $this->actionTpl->assign('form', $form->toArray()); $content = new page($this->actionTpl->fetch('templates/forums.search.tpl'), t('forums.searching')); $this->display($content); }
function actionEditPost() { if (!isset($_GET['idPost'])) { $this->errorRequete(); return; } if ($this->user->authentificated) { $postlogic = new PostsLogic(); $post = $postlogic->retrievePostById($_GET['idPost']); if ($post != null) { if ($this->user->rightslevel >= LEVEL_MODERATOR || $this->user->id == $post->idAuthor) { // Create the add post form $form = new YDForm('postEdit'); $form->addElement('hidden', 'idPost', $post->id); $form->addElement('text', 'postTitle', t('posts.messagetitle'), array("size" => 60)); $form->addElement('textarea', 'postContent', t('posts.message'), array("cols" => 50, "rows" => 8)); $form->addElement('submit', 'cmdSubmit', t('posts.editmessage')); // Add rules $form->addFormRule(array(&$this, 'simpleCheckPost')); // Process the form if ($form->validate()) { $post->title = $form->getValue('postTitle'); $post->content = $form->getValue('postContent'); $post->idEditor = $this->user->id; $post->ipEditor = $this->user->ip; $post->dateEdited = date('Y-m-d H:i:s', mktime()); $post->update(); // on redirige sur le post parent si il existe if ($post->idPostParent != null) { $postParent = $postlogic->retrievePostById($post->idPostParent); $postParent->dateAnswer = date('Y-m-d H:i:s', mktime()); $postParent->update(); $this->actionTpl->assign('post', $postParent); } else { $this->actionTpl->assign('post', $post); } $this->actionTpl->assign('editMessage', true); // we are editing the message $content = new page($this->actionTpl->fetch('templates/posts.success.tpl'), t('posts.updsuccess')); $this->display($content); return; } $form->setDefaults(array('postTitle' => $post->title)); $form->setDefaults(array('postContent' => $post->content)); // Assign variables to the template $this->actionTpl->assign('form', $form->toArray()); // forms $this->actionTpl->assign('user', $this->user); // user for rights $this->actionTpl->assign('editMessage', true); // we are editing the message $content = new page($this->actionTpl->fetch('templates/posts.new.tpl'), t('posts.messageupdate')); $this->display($content); return; } else { $this->errorRequete(t('posts.notrightupdate')); return; } } else { $this->errorRequete(t('posts.donotexists')); return; } } else { $content = new page($this->actionTpl->fetch('templates/user.notAuth.tpl'), t('global.notconnected')); } }
function actionSuscribe() { if (!$this->user->authentificated) { // Create the profile form $form = new YDForm('suscribeForm'); $form->addElement('text', 'suscribeLogin', t('user.login')); $form->addElement('textarea', 'suscribeDescription', t('user.desc')); $form->addElement('password', 'suscribePassUn', t('user.pwd')); $form->addElement('password', 'suscribePassDeux', t('user.confirmpwd')); $form->addElement('submit', 'cmdSubmit', t('user.valid')); // Add rules $form->addFormRule(array(&$this, 'checkSuscribe')); // Process the form if ($form->validate()) { // Insert profile $this->user->id = ''; $this->user->login = $form->getValue('suscribeLogin'); $this->user->description = $form->getValue('suscribeDescription'); $this->user->password = md5($form->getValue('suscribePassUn')); $this->user->insert(); $this->user->auth(); $_GET['idUser'] = $this->user->id; $_SESSION['s_user'] = YDObjectUtil::serialize($this->user); // Redirect sur les forums header('location: forums.php'); return; } // Assign variables to the template $this->actionTpl->assign('form', $form->toArray()); $content = new page($this->actionTpl->fetch('templates/user.suscribe.tpl'), 'Inscription'); // Display the action template into the master template $this->display($content); } else { $this->actionMonProfil(); return; } }
function actionLogin() { // Redirect to default action if already logged in if ($this->isAuthenticated() === true) { $this->forward('default'); return; } // Create the login form $form = new YDForm('loginForm'); $form->addElement('text', 'loginName', t('user.login')); $form->addElement('password', 'loginPass', t('user.pwd')); $form->addElement('submit', 'cmdSubmit', 'Login'); $form->setDefaults(array('loginPass' => '')); // Add the rules $form->addFormRule(array(&$this, 'checkLogin')); // Process the form if ($form->validate()) { // Mark the form as valid $this->authenticationSucceeded(); header('location: forums.php'); return; } // Assign variables to the action template $this->actionTpl->assign('form', $form->toArray()); $content = new Page($this->actionTpl->fetch('templates/user.login.tpl'), ''); // Display the action template into the master template $this->display($content); }
function actionManageForums() { // Create the addForum form $form = new YDForm('forumForm'); $form->addElement('text', 'forumTitle', t('admin.newforumtitle'), array("size" => 40)); $form->addElement('text', 'forumPoids', t('admin.forumweightorder'), array()); $form->addElement('submit', 'cmdSubmit', t('admin.forumcreate')); // Add rules $form->addFormRule(array(&$this, 'checkNewForum')); $form->addRule('forumPoids', 'numeric', t('admin.forumweightinteger')); // Process the form if ($form->validate()) { // get and show results $forum = new ForumObject($form->getValue('forumTitle'), $form->getValue('forumPoids')); $forum->insert(); } // Future defaults values $form->setDefaults(array('forumTitle' => '')); $form->setDefaults(array('forumPoids' => '')); // retrieve existing forums $forumLogic = new ForumsLogic(); $forums = $forumLogic->retrieveAllByOrderSimple(); // Assign variables to the template $this->actionTpl->assign('form', $form->toArray()); $this->actionTpl->assign('forums', $forums); $content = new Page($this->actionTpl->fetch('templates/admin.forums.list.tpl'), t('admin.manageforums'), $this->menusAdmin); // Display the action template into the master template $this->display($content); }