Exemplo n.º 1
0
 /**
  * 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');
 }
Exemplo n.º 2
0
 /**
  * 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');
 }
Exemplo n.º 3
0
 /**
  * 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');
 }
Exemplo n.º 4
0
 /**
  * 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');
 }
Exemplo n.º 5
0
 /**
  * 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');
 }