/** * Build the form and show the template * * @param array $dirty reference to unverified $_POST */ function formBuild(&$dirty) { if (!empty($dirty)) { $this->tpl->assign($dirty); } else { suxValidate::disconnect(); } if (!suxValidate::is_registered_form()) { suxValidate::connect($this->tpl, true); // Reset connection // Register our additional criterias suxValidate::register_criteria('isDuplicateFeed', 'this->isDuplicateFeed'); suxValidate::register_criteria('isValidFeed', 'this->isValidFeed'); // Register our validators // register_validator($id, $field, $criteria, $empty = false, $halt = false, $transform = null, $form = 'default') suxValidate::register_validator('url', 'url', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('url2', 'url', 'isURL'); suxValidate::register_validator('url3', 'url', 'isDuplicateFeed'); suxValidate::register_validator('url4', 'url', 'isValidFeed'); } // Urls $this->r->text['form_url'] = suxFunct::makeUrl('/feeds/suggest'); $this->r->text['back_url'] = suxFunct::getPreviousURL(); $this->r->title .= " | {$this->r->gtext['suggest']}"; // Template $this->tpl->display('suggest.tpl'); }
/** * Build the form and show the template * * @param array $dirty reference to unverified $_POST */ function formBuild(&$dirty) { // -------------------------------------------------------------------- // Get existing user info if available // -------------------------------------------------------------------- // $u = array(); // Get stuff from the database // $this->tpl->assign($u); // -------------------------------------------------------------------- // Form logic // -------------------------------------------------------------------- if (!empty($dirty)) { $this->tpl->assign($dirty); } else { suxValidate::disconnect(true); } if (empty($dirty['action']) || !suxValidate::is_registered_form($dirty['action'])) { suxValidate::connect($this->tpl, true); // Reset connection // Register additional forms suxValidate::register_form('addvec'); suxValidate::register_form('addcat'); suxValidate::register_form('adddoc'); suxValidate::register_form('remcat'); suxValidate::register_form('remvec'); suxValidate::register_form('remdoc'); suxValidate::register_form('sharevec'); suxValidate::register_form('unsharevec'); // Register our additional criterias suxValidate::register_criteria('invalidShare', 'this->invalidShare', 'sharevec'); suxValidate::register_criteria('userExists', 'this->userExists', 'sharevec'); // Register our validators // register_validator($id, $field, $criteria, $empty = false, $halt = false, $transform = null, $form = 'default') // Add vector suxValidate::register_validator('addvec1', 'vector', 'notEmpty', false, false, 'trim', 'addvec'); suxValidate::register_validator('addvec2', "vector:-1:{$this->nb->getMaxVectorLength()}", 'isLength', false, false, 'trim', 'addvec'); // Add category suxValidate::register_validator('addcat1', 'category', 'notEmpty', false, true, 'trim', 'addcat'); suxValidate::register_validator('addcat2', 'vector_id', 'isInt', false, true, 'trim', 'addcat'); suxValidate::register_validator('addcat3', "category:-1:{$this->nb->getMaxCategoryLength()}", 'isLength', false, false, 'trim', 'addcat'); // Remove category suxValidate::register_validator('remcat1', 'category_id', 'isInt', false, false, 'trim', 'remcat'); // Remove vector suxValidate::register_validator('remvec1', 'vector_id', 'isInt', false, false, 'trim', 'remvec'); // Add document suxValidate::register_validator('adddoc1', 'document', 'notEmpty', false, true, 'trim', 'adddoc'); suxValidate::register_validator('adddoc2', 'category_id', 'isInt', false, false, 'trim', 'adddoc'); // Remove document suxValidate::register_validator('remdoc1', 'document_id', 'isInt', false, false, 'trim', 'remdoc'); // Share vector suxValidate::register_validator('sharevec1', 'vector_id', 'isInt', false, false, 'trim', 'sharevec'); suxValidate::register_validator('sharevec2', 'users_id', 'isInt', false, false, 'trim', 'sharevec'); suxValidate::register_validator('sharevec3', 'trainer:1:1', 'isRange', true, false, 'trim', 'sharevec'); suxValidate::register_validator('sharevec4', 'owner:1:1', 'isRange', true, false, 'trim', 'sharevec'); suxValidate::register_validator('sharevec5', 'users_id', 'invalidShare', true, false, 'trim', 'sharevec'); suxValidate::register_validator('sharevec6', 'users_id', 'userExists', true, false, 'trim', 'sharevec'); // Unshare vector suxValidate::register_validator('unsharevec1', 'unshare', 'dummyValid', false, false, null, 'unsharevec'); } // Additional variables $this->r->text['form_url'] = suxFunct::makeUrl('/bayes'); $this->r->title .= " | {$this->r->gtext['edit_bayes']}"; // Template $this->tpl->display('edit.tpl'); }
/** * Build the form and show the template * * @param array $dirty reference to unverified $_POST * @param array $filthy reference to unverified $_GET */ function formBuild(&$dirty, &$filthy) { // -------------------------------------------------------------------- // Pre assign template variables, maybe overwritten by &$dirty // -------------------------------------------------------------------- $u = array(); if ($this->isOpenID()) { // OpenID Registration $this->r->bool['openid'] = true; $this->r->text['openid_url'] = $_SESSION['openid_url_registration']; // Sreg if (!empty($filthy['nickname'])) { $u['nickname'] = $filthy['nickname']; } if (!empty($filthy['email'])) { $u['email'] = $filthy['email']; } if (!empty($filthy['fullname'])) { // \w means alphanumeric characters, \W is the negated version of \w $tmp = mb_split("\\W", $filthy['fullname']); $u['given_name'] = array_shift($tmp); $u['family_name'] = array_pop($tmp); } if (!empty($filthy['dob'])) { $tmp = mb_split("-", $filthy['dob']); $u['Date_Year'] = array_shift($tmp); $u['Date_Month'] = array_shift($tmp); $u['Date_Day'] = array_shift($tmp); } if (!empty($filthy['country'])) { $u['country'] = mb_strtolower($filthy['country']); } if (!empty($filthy['gender'])) { $u['gender'] = mb_strtolower($filthy['gender']); } if (!empty($filthy['postcode'])) { $u['postcode'] = $filthy['postcode']; } if (!empty($filthy['language'])) { $u['language'] = mb_strtolower($filthy['language']); } if (!empty($filthy['timezone'])) { $u['timezone'] = $filthy['timezone']; } } elseif ($this->mode == 'edit') { $u = $this->user->getByID($this->users_id, true); // Unset unset($u['password']); unset($u['root']); // Dob if (!empty($u['dob'])) { $tmp = mb_split("-", $u['dob']); $u['Date_Year'] = array_shift($tmp); $u['Date_Month'] = array_shift($tmp); $u['Date_Day'] = array_shift($tmp); } unset($u['dob']); // Country if (!empty($u['country'])) { $u['country'] = mb_strtolower($u['country']); } // Don't allow spoofing unset($dirty['nickname']); } // Assign user $this->tpl->assign($u); // -------------------------------------------------------------------- // Form logic // -------------------------------------------------------------------- if (!empty($dirty)) { $this->tpl->assign($dirty); } else { suxValidate::disconnect(); } if (!suxValidate::is_registered_form()) { suxValidate::connect($this->tpl, true); // Reset connection // Register our additional criterias suxValidate::register_criteria('invalidCharacters', 'this->invalidCharacters'); suxValidate::register_criteria('isDuplicateNickname', 'this->isDuplicateNickname'); suxValidate::register_criteria('isReservedNickname', 'this->isReservedNickname'); suxValidate::register_criteria('isDuplicateEmail', 'this->isDuplicateEmail'); suxValidate::register_criteria('isValidCaptcha', 'this->isValidCaptcha'); // Register our validators // register_validator($id, $field, $criteria, $empty = false, $halt = false, $transform = null, $form = 'default') suxValidate::register_validator('nickname', 'nickname', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('nickname2', 'nickname', 'invalidCharacters'); suxValidate::register_validator('nickname3', 'nickname', 'isDuplicateNickname'); suxValidate::register_validator('nickname4', 'nickname', 'isReservedNickname'); suxValidate::register_validator('email', 'email', 'isEmail', false, false, 'trim'); suxValidate::register_validator('email2', 'email', 'isDuplicateEmail'); if ($this->mode == 'edit') { suxValidate::register_validator('integrity', 'integrity:nickname', 'hasIntegrity'); } // -------------------------------------------------------------------- // Validators with special conditions // -------------------------------------------------------------------- // Passwords if (!$this->isOpenID()) { if ($this->mode == 'edit') { // Empty is ok in edit mode suxValidate::register_validator('password', 'password:6:-1', 'isLength', true, false, 'trim'); suxValidate::register_validator('password2', 'password:password_verify', 'isEqual', true); } else { suxValidate::register_validator('password', 'password:6:-1', 'isLength', false, false, 'trim'); suxValidate::register_validator('password2', 'password:password_verify', 'isEqual'); } } // Captcha if ($this->mode != 'edit') { suxValidate::register_validator('captcha', 'captcha', 'isValidCaptcha'); } } // -------------------------------------------------------------------- // Template // -------------------------------------------------------------------- // Defaults if (!$this->tpl->getTemplateVars('country')) { $this->tpl->assign('country', $GLOBALS['CONFIG']['COUNTRY']); } // Country if (!$this->tpl->getTemplateVars('timezone')) { $this->tpl->assign('timezone', $GLOBALS['CONFIG']['TIMEZONE']); } // Timezone if (!$this->tpl->getTemplateVars('language')) { $this->tpl->assign('language', $GLOBALS['CONFIG']['LANGUAGE']); } // Languages // Additional variables $this->r->text['form_url'] = suxFunct::makeUrl('/user/register'); // Register // Overrides for edit mode if ($this->mode == 'edit') { $this->r->text['form_url'] = suxFunct::makeUrl('/user/edit/' . @$u['nickname']); // Edit $this->r->bool['edit'] = true; } $this->r->text['back_url'] = suxFunct::getPreviousURL(); if ($this->mode == 'edit') { $this->r->title .= " | {$this->r->gtext['edit_profile']}"; } else { $this->r->title .= " | {$this->r->gtext['reg']}"; } // Template $this->tpl->display('edit.tpl'); }
/** * Build the form and show the template * * @param array $dirty reference to unverified $_POST */ function formBuild(&$dirty) { unset($dirty['id']); // Don't allow spoofing $bookmark = array(); if ($this->id) { // Editing a bookmark post $tmp = $this->bm->getByID($this->id); $bookmark['id'] = $tmp['id']; $bookmark['title'] = $tmp['title']; $bookmark['url'] = $tmp['url']; $bookmark['body'] = htmlentities($tmp['body_html'], ENT_QUOTES, 'UTF-8'); // Textarea fix $bookmark['draft'] = $tmp['draft']; // Get publish date // regex must match '2008-06-18 16:53:29' or '2008-06-18T16:53:29-04:00' $matches = array(); $regex = '/^(\\d{4})-(0[0-9]|1[0,1,2])-([0,1,2][0-9]|3[0,1]).+(\\d{2}):(\\d{2}):(\\d{2})/'; preg_match($regex, $tmp['published_on'], $matches); $bookmark['Date_Year'] = @$matches[1]; // year $bookmark['Date_Month'] = @$matches[2]; // month $bookmark['Date_Day'] = @$matches[3]; // day $bookmark['Time_Hour'] = @$matches[4]; // hour $bookmark['Time_Minute'] = @$matches[5]; // minutes $bookmark['Time_Second'] = @$matches[6]; //seconds /* Tags */ $links = $this->link->getLinks('link__bookmarks__tags', 'bookmarks', $bookmark['id']); $bookmark['tags'] = ''; foreach ($links as $val) { $tmp = $this->tags->getByID($val); $bookmark['tags'] .= $tmp['tag'] . ', '; } $bookmark['tags'] = rtrim($bookmark['tags'], ', '); } // Assign bookmark // new dBug($bookmark); $this->tpl->assign($bookmark); // -------------------------------------------------------------------- // Form logic // -------------------------------------------------------------------- if (!empty($dirty)) { $this->tpl->assign($dirty); } else { suxValidate::disconnect(); } if (!suxValidate::is_registered_form()) { suxValidate::connect($this->tpl, true); // Reset connection // Register our additional criterias suxValidate::register_criteria('isDuplicateBookmark', 'this->isDuplicateBookmark'); suxValidate::register_criteria('isValidBookmark', 'this->isValidBookmark'); // Register our validators if ($this->id) { suxValidate::register_validator('integrity', 'integrity:id', 'hasIntegrity'); } suxValidate::register_validator('url', 'url', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('url2', 'url', 'isURL'); suxValidate::register_validator('url3', 'url', 'isDuplicateBookmark'); suxValidate::register_validator('url4', 'url', 'isValidBookmark'); suxValidate::register_validator('title', 'title', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('body', 'body', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('date', 'Date:Date_Year:Date_Month:Date_Day', 'isDate', false, false, 'makeDate'); suxValidate::register_validator('time', 'Time_Hour', 'isInt'); suxValidate::register_validator('time2', 'Time_Minute', 'isInt'); suxValidate::register_validator('time3', 'Time_Second', 'isInt'); } // Additional variables $this->r->text['form_url'] = suxFunct::makeUrl('/bookmarks/edit/' . $this->id); $this->r->text['back_url'] = suxFunct::getPreviousURL($this->prev_skip); if (!$this->tpl->getTemplateVars('Date_Year')) { // Today's Date $this->tpl->assign('Date_Year', date('Y')); $this->tpl->assign('Date_Month', date('m')); $this->tpl->assign('Date_Day', date('j')); } if (!$this->tpl->getTemplateVars('Time_Hour')) { // Current Time $this->tpl->assign('Time_Hour', date('H')); $this->tpl->assign('Time_Minute', date('i')); $this->tpl->assign('Time_Second', date('s')); } $this->r->title .= " | {$this->r->gtext['edit_2']}"; // Template $this->tpl->display('edit.tpl'); }
/** * Build the form and show the template * * @param array $dirty reference to unverified $_POST */ function formBuild(&$dirty) { unset($dirty['id']); // Don't allow spoofing $feed = array(); if ($this->id) { // Editing a feed $tmp = $this->rss->getFeedByID($this->id); $feed['id'] = $tmp['id']; $feed['title'] = $tmp['title']; $feed['url'] = $tmp['url']; $feed['body'] = htmlentities($tmp['body_html'], ENT_QUOTES, 'UTF-8'); // Textarea fix $feed['draft'] = $tmp['draft']; } // Assign feed // new dBug($feed); $this->tpl->assign($feed); // -------------------------------------------------------------------- // Form logic // -------------------------------------------------------------------- if (!empty($dirty)) { $this->tpl->assign($dirty); } else { suxValidate::disconnect(); } if (!suxValidate::is_registered_form()) { suxValidate::connect($this->tpl, true); // Reset connection // Register our additional criterias suxValidate::register_criteria('isDuplicateFeed', 'this->isDuplicateFeed'); suxValidate::register_criteria('isValidFeed', 'this->isValidFeed'); // Register our validators if ($this->id) { suxValidate::register_validator('integrity', 'integrity:id', 'hasIntegrity'); } suxValidate::register_validator('url', 'url', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('url2', 'url', 'isURL'); suxValidate::register_validator('url3', 'url', 'isDuplicateFeed'); suxValidate::register_validator('url4', 'url', 'isValidFeed'); suxValidate::register_validator('title', 'title', 'notEmpty', false, false, 'trim'); suxValidate::register_validator('body', 'body', 'notEmpty', false, false, 'trim'); } // Additional variables $this->r->text['form_url'] = suxFunct::makeUrl('/feeds/edit/' . $this->id); $this->r->text['back_url'] = suxFunct::getPreviousURL($this->prev_skip); $this->r->title .= " | {$this->r->gtext['edit_2']}"; // Template $this->tpl->display('edit.tpl'); }