function _buildQuery() { global $database; $query = DBModel::getInstance(); $query->reset('Comments'); $query->setQualifier('blogid', 'equals', getBlogId()); $query->setQualifier('entry', 'equals', 0); if (isset($this->id)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setQualifier('id', 'equals', $this->id); } if (isset($this->parent)) { if (!Validator::number($this->parent, 1)) { return $this->_error('parent'); } } $query->setAttribute('parent', $this->parent); if (isset($this->commenter)) { if (!Validator::number($this->commenter, 1)) { return $this->_error('commenter'); } if (!($this->name = User::getName($this->commenter))) { return $this->_error('commenter'); } $query->setAttribute('replier', $this->commenter); } if (isset($this->name)) { $this->name = Utils_Unicode::lessenAsEncoding(trim($this->name), 80); if (empty($this->name)) { return $this->_error('name'); } $query->setAttribute('name', $this->name, true); } if (isset($this->openid)) { $this->openid = Utils_Unicode::lessenAsEncoding(trim($this->openid), 128); if (empty($this->openid)) { return $this->_error('openid'); } $query->setAttribute('openid', $this->openid, true); } if (isset($this->homepage)) { $this->homepage = Utils_Unicode::lessenAsEncoding(trim($this->homepage), 80); if (empty($this->homepage)) { return $this->_error('homepage'); } $query->setAttribute('homepage', $this->homepage, true); } if (isset($this->ip)) { if (!Validator::ip($this->ip)) { return $this->_error('ip'); } $query->setAttribute('ip', $this->ip, true); } if (isset($this->secret)) { $query->setAttribute('secret', Validator::getBit($this->secret)); } if (isset($this->content)) { $this->content = trim($this->content); if (empty($this->content)) { return $this->_error('content'); } $query->setAttribute('comment', $this->content, true); } if (isset($this->written)) { if (!Validator::timestamp($this->written)) { return $this->_error('written'); } $query->setAttribute('written', $this->written); } if (isset($this->isfiltered)) { $query->setAttribute('isfiltered', Validator::getBit($this->isfiltered)); } if (isset($this->password)) { $this->password = Utils_Unicode::lessenAsEncoding($this->password, 32); $query->setAttribute('password', $this->password, true); $this->password = null; } return $query; }
function save() { global $database; importlib('model.common.setting'); if (isset($this->name)) { $this->name = trim($this->name); if (!BlogSetting::validateName($this->name)) { return $this->_error('name'); } Setting::setBlogSettingGlobal('name', $this->name); } if (isset($this->secondaryDomain)) { $this->secondaryDomain = trim($this->secondaryDomain); if (!Validator::domain($this->secondaryDomain)) { return $this->_error('secondaryDomain'); } Setting::setBlogSettingGlobal('secondaryDomain', $this->secondaryDomain); } if (isset($this->defaultDomain)) { Setting::setBlogSettingGlobal('defaultDomain', Validator::getBit($this->defaultDomain)); } if (isset($this->title)) { $this->title = trim($this->title); Setting::setBlogSettingGlobal('title', $this->title); } if (isset($this->description)) { $this->description = trim($this->description); Setting::setBlogSettingGlobal('description', $this->description); } if (isset($this->banner)) { if (strlen($this->banner) != 0 && !Validator::filename($this->banner)) { return $this->_error('banner'); } Setting::setBlogSettingGlobal('logo', $this->banner); } if (isset($this->useSloganOnPost)) { Setting::setBlogSettingGlobal('useSloganOnPost', Validator::getBit($this->useSloganOnPost)); } if (isset($this->useSloganOnCategory)) { Setting::setBlogSettingGlobal('useSloganOnCategory', Validator::getBit($this->useSloganOnCategory)); } if (isset($this->useSloganOnTag)) { Setting::setBlogSettingGlobal('useSloganOnTag', Validator::getBit($this->useSloganOnTag)); } if (isset($this->postsOnPage)) { if (!Validator::number($this->postsOnPage, 1)) { return $this->_error('postsOnPage'); } Setting::setBlogSettingGlobal('entriesOnPage', $this->postsOnPage); } if (isset($this->postsOnList)) { if (!Validator::number($this->postsOnList, 1)) { return $this->_error('postsOnList'); } Setting::setBlogSettingGlobal('entriesOnList', $this->postsOnList); } if (isset($this->postsOnFeed)) { if (!Validator::number($this->postsOnFeed, 1)) { return $this->_error('postsOnFeed'); } Setting::setBlogSettingGlobal('entriesOnRSS', $this->postsOnFeed); } if (isset($this->publishWholeOnFeed)) { Setting::setBlogSettingGlobal('publishWholeOnRSS', Validator::getBit($this->publishWholeOnFeed)); } if (isset($this->acceptGuestComment)) { Setting::setBlogSettingGlobal('allowWriteOnGuestbook', Validator::getBit($this->acceptGuestComment)); } if (isset($this->acceptcommentOnGuestComment)) { Setting::setBlogSettingGlobal('allowWriteDblCommentOnGuestbook', Validator::getBit($this->acceptcommentOnGuestComment)); } if (isset($this->language)) { if (!Validator::language($this->language)) { return $this->_error('language'); } Setting::setBlogSettingGlobal('language', $this->language); } if (isset($this->timezone)) { if (empty($this->timezone)) { return $this->_error('timezone'); } Setting::setBlogSettingGlobal('timezone', $this->timezone); } return true; }
function _buildQuery() { $query = DBModel::getInstance(); $query->reset('RemoteResponses'); $query->setQualifier('blogid', getBlogId()); $query->setQualifier('responsetype', 'pingback'); if (isset($this->id)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setQualifier('id', $this->id); } if (isset($this->entry)) { if (!Validator::number($this->entry, 1)) { return $this->_error('entry'); } $query->setQualifier('entry', $this->entry); } if (isset($this->url)) { $this->url = Utils_Unicode::lessenAsEncoding(trim($this->url), 255); if (empty($this->url)) { return $this->_error('url'); } $query->setQualifier('url', $this->url, true); } if (isset($this->ip)) { if (!Validator::ip($this->ip)) { return $this->_error('ip'); } $query->setAttribute('ip', $this->ip, true); } if (isset($this->received)) { if (!Validator::timestamp($this->received)) { return $this->_error('received'); } $query->setAttribute('written', $this->received); } if (isset($this->isFiltered)) { if ($this->isFiltered) { $query->setAttribute('isFiltered', 'UNIX_TIMESTAMP()'); } else { $query->setAttribute('isFiltered', Validator::getBit($this->isFiltered)); } } return $query; }
} $newlineStyle = !is_null(Setting::getServiceSettingGlobal('newlineStyle')) ? ' format="' . Setting::getServiceSettingGlobal('newlineStyle') . '"' : ''; $writer->write('<?xml version="1.0" encoding="utf-8" ?>'); $writer->write('<blog type="tattertools/1.1" extension="textcube/2.0" migrational="false">'); $setting = new BlogSetting(); if ($setting->load()) { $setting->escape(); $writer->write('<setting>' . '<name>' . $setting->name . '</name>' . '<secondaryDomain>' . $setting->secondaryDomain . '</secondaryDomain>' . '<defaultDomain>' . Validator::getBit($setting->defaultDomain) . '</defaultDomain>' . '<title>' . $setting->title . '</title>' . '<description>' . Utils_Unicode::correct($setting->description) . '</description>' . '<banner><name>' . $setting->banner . '</name>'); if ($includeFileContents && file_exists(__TEXTCUBE_ATTACH_DIR__ . "/{$blogid}/{$setting->banner}")) { $writer->write('<content>'); if (!empty($setting->banner) && file_exists(__TEXTCUBE_ATTACH_DIR__ . "/{$blogid}/" . $setting->banner)) { Base64Stream::encode(__TEXTCUBE_ATTACH_DIR__ . "/{$blogid}/{$setting->banner}", $writer); } $writer->write('</content>'); } $writer->write('</banner>' . '<useSloganOnPost>' . Validator::getBit($setting->useSloganOnPost) . '</useSloganOnPost>' . '<postsOnPage>' . $setting->postsOnPage . '</postsOnPage>' . '<postsOnList>' . $setting->postsOnList . '</postsOnList>' . '<postsOnFeed>' . $setting->postsOnFeed . '</postsOnFeed>' . '<publishWholeOnFeed>' . Validator::getBit($setting->publishWholeOnFeed) . '</publishWholeOnFeed>' . '<acceptGuestComment>' . Validator::getBit($setting->acceptGuestComment) . '</acceptGuestComment>' . '<acceptcommentOnGuestComment>' . Validator::getBit($setting->acceptcommentOnGuestComment) . '</acceptcommentOnGuestComment>' . '<language>' . $setting->language . '</language>' . '<timezone>' . $setting->timezone . '</timezone>' . '</setting>'); $writer->write(CRLF); } $category = new Category(); if ($category->open()) { do { if ($category->id != 0) { $category->escape(); $writer->write('<category>' . '<name>' . $category->name . '</name>' . '<priority>' . $category->priority . '</priority>'); if ($childCategory = $category->getChildren()) { do { $childCategory->escape(); $writer->write('<category>' . '<name>' . $childCategory->name . '</name>' . '<priority>' . $childCategory->priority . '</priority>' . '</category>'); } while ($childCategory->shift()); $childCategory->close(); }
public function save() { if (isset($this->skin)) { if (strncmp($this->skin, 'customize/', 10) == 0) { if (strcmp($this->skin, "customize/" . getBlogId()) != 0) { return $this->_error('skin'); } } else { if (!Validator::filename($this->skin)) { return $this->_error('skin'); } } if (!Validator::path($this->skin) || !file_exists(ROOT . '/skin/' . $this->skin)) { return $this->_error('skin'); } Setting::setSkinSetting('skin', $this->skin); } if (isset($this->entriesOnRecent)) { if (!Validator::number($this->entriesOnRecent, 1)) { return $this->_error('entriesOnRecent'); } Setting::setSkinSetting('entriesOnRecent', $this->entriesOnRecent); } if (isset($this->commentsOnRecent)) { if (!Validator::number($this->commentsOnRecent, 1)) { return $this->_error('commentsOnRecent'); } Setting::setSkinSetting('commentsOnRecent', $this->commentsOnRecent); } if (isset($this->trackbacksOnRecent)) { if (!Validator::number($this->trackbacksOnRecent, 1)) { return $this->_error('trackbacksOnRecent'); } Setting::setSkinSetting('trackbacksOnRecent', $this->trackbacksOnRecent); } if (isset($this->commentsOnGuestbook)) { if (!Validator::number($this->commentsOnGuestbook, 1)) { return $this->_error('commentsOnGuestbook'); } Setting::setSkinSetting('commentsOnGuestbook', $this->commentsOnGuestbook); } if (isset($this->tagsOnTagbox)) { if (!Validator::number($this->tagsOnTagbox, 1)) { return $this->_error('tagsOnTagbox'); } Setting::setSkinSetting('tagsOnTagbox', $this->tagsOnTagbox); } if (isset($this->alignOnTagbox)) { if (!Validator::number($this->alignOnTagbox, 1, 3)) { return $this->_error('alignOnTagbox'); } Setting::setSkinSetting('tagboxAlign', $this->alignOnTagbox); } if (isset($this->expandComment)) { Setting::setSkinSetting('expandComment', Validator::getBit($this->expandComment)); } if (isset($this->expandTrackback)) { Setting::setSkinSetting('expandTrackback', Validator::getBit($this->expandTrackback)); } if (isset($this->recentNoticeLength)) { if (!Validator::number($this->recentNoticeLength, 0)) { return $this->_error('recentNoticeLength'); } Setting::setSkinSetting('recentNoticeLength', $this->recentNoticeLength); } if (isset($this->recentPageLength)) { if (!Validator::number($this->recentPageLength, 0)) { return $this->_error('recentPageLength'); } Setting::setSkinSetting('recentPageLength', $this->recentPageLength); } if (isset($this->recentTrackbackLength)) { if (!Validator::number($this->recentTrackbackLength, 0)) { return $this->_error('recentTrackbackLength'); } Setting::setSkinSetting('recentTrackbackLength', $this->recentTrackbackLength); } if (isset($this->linkLength)) { if (!Validator::number($this->linkLength, 0)) { return $this->_error('linkLength'); } Setting::setSkinSetting('linkLength', $this->linkLength); } if (isset($this->showListOnCategory)) { Setting::setSkinSetting('showListOnCategory', Validator::getBit($this->showListOnCategory)); } if (isset($this->showListOnArchive)) { Setting::setSkinSetting('showListOnArchive', Validator::getBit($this->showListOnArchive)); } if (isset($this->tree)) { if (!Validator::directory($this->tree) || !file_exists(ROOT . '/skin/tree/' . $this->tree)) { return $this->_error('tree'); } Setting::setSkinSetting('tree', $this->tree); } if (isset($this->colorOnTree)) { Setting::setSkinSetting('colorOnTree', $this->colorOnTree); } if (isset($this->bgcolorOnTree)) { Setting::setSkinSetting('bgcolorOnTree', $this->bgcolorOnTree); } if (isset($this->activecolorOnTree)) { Setting::setSkinSetting('activecolorOnTree', $this->activecolorOnTree); } if (isset($this->activebgcolorOnTree)) { Setting::setSkinSetting('activebgcolorOnTree', $this->activebgcolorOnTree); } if (isset($this->labelLengthOnTree)) { if (!Validator::number($this->labelLengthOnTree, 0)) { return $this->_error('labelLengthOnTree'); } Setting::setSkinSetting('labelLengthOnTree', $this->labelLengthOnTree); } if (isset($this->showValueOnTree)) { Setting::setSkinSetting('showValueOnTree', Validator::getBit($this->showValueOnTree)); } return true; }
static function validateArray(&$array, &$rules) { // Workaround for non Fancy-URL user. $cropArray = array(); foreach ($array as $name => $value) { $doesHaveRequest = strpos($name, '?'); if ($doesHaveRequest !== false) { $name = substr($name, $doesHaveRequest + 1); } $cropArray[$name] = $value; } $array = $cropArray; foreach ($rules as $key => $rule) { if (!isset($rule[0])) { trigger_error("Validator: The type of '{$key}' is not defined", E_USER_WARNING); continue; } if (isset($array[$key]) && ($rule[0] == 'file' || strlen($array[$key]) > 0)) { $value =& $array[$key]; if (isset($rule['min'])) { $rule[1] = $rule['min']; } if (isset($rule['max'])) { $rule[2] = $rule['max']; } if (isset($rule['bypass'])) { $rule[3] = $rule['bypass']; } switch ($rule[0]) { case 'any': if (isset($rule[1]) && strlen($value) < $rule[1]) { return false; } if (isset($rule[2]) && strlen($value) > $rule[2]) { return false; } break; case 'bit': $array[$key] = Validator::getBit($value); break; case 'bool': $array[$key] = Validator::getBool($value); break; case 'number': if (!Validator::number($value, isset($rule[1]) ? $rule[1] : null, isset($rule[2]) ? $rule[2] : null, isset($rule[3]) ? $rule[3] : false)) { return false; } break; case 'int': if (!Validator::isInteger($value, isset($rule[1]) ? $rule[1] : -2147483648.0, isset($rule[2]) ? $rule[2] : 2147483647, isset($rule[3]) ? $rule[3] : false)) { return false; } break; case 'id': if (!Validator::id($value, isset($rule[1]) ? $rule[1] : 1, isset($rule[2]) ? $rule[2] : 2147483647)) { return false; } break; case 'url': case 'string': if (!Utils_Unicode::validate($value)) { $value = Utils_Unicode::bring($value); if (!Utils_Unicode::validate($value)) { return false; } } $value = $array[$key] = Utils_Unicode::correct($value); if (isset($rule[1]) && Utils_Unicode::length($value) < $rule[1]) { return false; } if (isset($rule[2]) && Utils_Unicode::length($value) > $rule[2]) { return false; } break; case 'list': if (!Validator::isList($value)) { return false; } break; case 'timestamp': if (!Validator::timestamp($value)) { return false; } break; case 'period': if (!Validator::period($value)) { return false; } break; case 'ip': if (!Validator::ip($value)) { return false; } break; case 'domain': if (!Validator::domain($value)) { return false; } break; case 'email': if (!Validator::email($value)) { return false; } break; case 'language': if (!Validator::language($value)) { return false; } break; case 'filename': if (!Validator::filename($value)) { return false; } break; case 'directory': if (!Validator::directory($value)) { return false; } break; case 'path': if (!Validator::path($value)) { return false; } break; case 'file': if (!isset($value['name']) || preg_match('@[/\\\\]@', $value['name'])) { return false; } break; default: if (is_array($rule[0])) { if (!in_array($value, $rule[0])) { return false; } } else { trigger_error("Validator: The type of '{$key}' is unknown", E_USER_WARNING); } break; } if (isset($rule['check'])) { $rule[5] = $rule['check']; } if (isset($rule[5])) { if (function_exists($rule[5])) { if (!call_user_func($rule[5], $value)) { return false; } } else { trigger_error("Validator: The check function of '{$key}' is not defined", E_USER_WARNING); } } } else { if (array_key_exists(3, $rule)) { $array[$key] = $rule[3]; } else { if (array_key_exists('default', $rule)) { $array[$key] = $rule['default']; } else { if ((!isset($rule[4]) || $rule[4]) && (!isset($rule['mandatory']) || $rule['mandatory'])) { return false; } } } } } return true; }
function _buildQuery() { global $database; $query = DBModel::getInstance(); $query->reset('Comments'); $query->setQualifier('blogid', 'equals', getBlogId()); if (isset($this->id)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setQualifier('id', 'equals', $this->id); } if (isset($this->entry)) { if (!Validator::number($this->entry, 1)) { return $this->_error('entry'); } $query->setAttribute('entry', $this->entry); } if (isset($this->parent)) { if (!Validator::number($this->parent, 1)) { return $this->_error('parent'); } } $query->setAttribute('parent', $this->parent); if (isset($this->commenter)) { if (!Validator::number($this->commenter, 1)) { return $this->_error('commenter'); } if (!isset($this->name)) { if (!($this->name = User::getName($this->commenter))) { return $this->_error('commenter'); } } else { // name information exists. however, replier maybe different from services. // It is a limitation of spec. if ($this->name == User::getName($this->commenter)) { // If name == commenter, it is same service (maybe). $query->setAttribute('replier', $this->commenter); } } // $query->setAttribute('replier', $this->commenter); } if (isset($this->name)) { $this->name = Utils_Unicode::lessenAsEncoding(trim($this->name), 80); if (empty($this->name)) { return $this->_error('name'); } $query->setAttribute('name', $this->name, true); } if (isset($this->openid)) { $this->openid = Utils_Unicode::lessenAsEncoding(trim($this->openid), 128); if (empty($this->openid)) { return $this->_error('openid'); } $query->setAttribute('openid', $this->openid, true); } if (isset($this->homepage)) { $this->homepage = Utils_Unicode::lessenAsEncoding(trim($this->homepage), 80); if (empty($this->homepage)) { return $this->_error('homepage'); } $query->setAttribute('homepage', $this->homepage, true); } if (isset($this->ip)) { if (!Validator::ip($this->ip)) { return $this->_error('ip'); } $query->setAttribute('ip', $this->ip, true); } if (isset($this->secret)) { $query->setAttribute('secret', Validator::getBit($this->secret)); } if (isset($this->content)) { $this->content = trim($this->content); if (empty($this->content)) { return $this->_error('content'); } $query->setAttribute('comment', $this->content, true); } if (isset($this->longitude) && Validator::number($this->longitude)) { $query->setAttribute('longitude', $this->longitude, false); } else { $query->setAttribute('longitude', null); } if (isset($this->latitude) && Validator::number($this->latitude)) { $query->setAttribute('latitude', $this->latitude, false); } else { $query->setAttribute('latitude', null); } if (isset($this->written)) { if (!Validator::timestamp($this->written)) { return $this->_error('written'); } $query->setAttribute('written', $this->written); } if (isset($this->isfiltered)) { $query->setAttribute('isfiltered', Validator::getBit($this->isfiltered)); } if (isset($this->password)) { $this->password = Utils_Unicode::lessenAsEncoding($this->password, 32); $query->setAttribute('password', $this->password, true); $this->password = null; } return $query; }
function _buildQuery() { if (!Validator::filename($this->name)) { return $this->_error('name'); } $query = DBModel::getInstance(); $query->reset('Attachments'); $query->setQualifier('blogid', 'equals', getBlogId()); $query->setQualifier('name', 'equals', $this->name, true); if (isset($this->parent)) { if (!Validator::number($this->parent, -1)) { return $this->_error('parent'); } $query->setAttribute('parent', $this->parent); } if (isset($this->label)) { $this->label = Utils_Unicode::lessenAsEncoding(trim($this->label), 64); if (empty($this->label)) { return $this->_error('label'); } $query->setAttribute('label', $this->label, true); } if (isset($this->mime)) { $this->mime = Utils_Unicode::lessenAsEncoding(trim($this->mime), 32); $query->setAttribute('mime', $this->mime, true); } if (isset($this->size)) { if (!Validator::number($this->size, 0)) { return $this->_error('size'); } $query->setAttribute('size', $this->size); } if (isset($this->width)) { if (!Validator::number($this->width, 0)) { return $this->_error('width'); } $query->setAttribute('width', $this->width); } if (isset($this->height)) { if (!Validator::number($this->height, 0)) { return $this->_error('height'); } $query->setAttribute('height', $this->height); } if (isset($this->downloads)) { if (!Validator::number($this->downloads, 0)) { return $this->_error('downloads'); } $query->setAttribute('downloads', $this->downloads); } if (isset($this->enclosure)) { $query->setAttribute('enclosure', Validator::getBit($this->enclosure)); } if (isset($this->attached)) { if (!Validator::number($this->attached, 1)) { return $this->_error('attached'); } $query->setAttribute('attached', $this->attached); } return $query; }
function _buildQuery() { global $database; $this->init(); $query = DBModel::getInstance(); $query->reset('Entries'); $query->setQualifier('blogid', 'equals', $this->blogid); if (isset($this->id)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setQualifier('id', 'equals', $this->id); } if (isset($this->userid)) { if (!Validator::number($this->userid, 1)) { return $this->_error('userid'); } $query->setQualifier('userid', 'equals', $this->userid); } if (isset($this->title)) { $query->setAttribute('title', Utils_Unicode::lessenAsEncoding($this->title, 255), true); } if (isset($this->content)) { $query->setAttribute('content', $this->content, true); $query->setAttribute('contentformatter', $this->contentformatter, true); $query->setAttribute('contenteditor', $this->contenteditor, true); } if (isset($this->visibility)) { switch ($this->visibility) { case 'appointed': $query->setAttribute('visibility', -2); break; case 'private': $query->setAttribute('visibility', 0); break; case 'protected': $query->setAttribute('visibility', 1); if (empty($this->password)) { $this->password = $this->makePassword(); } break; case 'public': $query->setAttribute('visibility', 2); break; case 'syndicated': $query->setAttribute('visibility', 3); break; default: return $this->_error('visibility'); } } if (isset($this->starred)) { $query->setAttribute('starred', $this->starred); } else { $query->setAttribute('starred', 0); } if (isset($this->category)) { if (!Category::doesExist($this->category)) { return $this->_error('category'); } $query->setAttribute('category', $this->category); } if (isset($this->location)) { $query->setAttribute('location', Utils_Unicode::lessenAsEncoding($this->location, 255), true); } if (isset($this->password)) { $query->setAttribute('password', $this->password, true); } if (isset($this->acceptcomment)) { $query->setAttribute('acceptcomment', Validator::getBit($this->acceptcomment)); } if (isset($this->accepttrackback)) { $query->setAttribute('accepttrackback', Validator::getBit($this->accepttrackback)); } if (isset($this->published)) { if (!Validator::number($this->published, 0)) { return $this->_error('published'); } $query->setAttribute('published', $this->published); } if (isset($this->longitude) && Validator::number($this->longitude)) { $query->setAttribute('longitude', $this->longitude); } if (isset($this->latitude) && Validator::number($this->latitude)) { $query->setAttribute('latitude', $this->latitude); } if (isset($this->created)) { if (!Validator::number($this->created, 0)) { return $this->_error('created'); } $query->setAttribute('created', $this->created); } if (isset($this->modified)) { if (!Validator::number($this->modified, 0)) { return $this->_error('modified'); } $query->setAttribute('modified', $this->modified); } return $query; }
function _buildQuery() { $query = DBModel::getInstance(); $query->reset('CommentsNotified'); $query->setQualifier('blogid', 'equals', getBlogId()); if (isset($this->id)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setQualifier('id', 'equals', $this->id); } if (isset($this->entry)) { if (!Validator::number($this->entry, 0)) { return $this->_error('entry'); } $query->setAttribute('entry', $this->entry); } if (isset($this->parent)) { if (empty($this->parent)) { $this->parent = NULL; } else { if (!Validator::number($this->parent, 0)) { return $this->_error('parent'); } } } $query->setAttribute('parent', $this->parent); if (isset($this->commenter)) { if (!Validator::number($this->commenter, 1)) { return $this->_error('commenter'); } if (!($this->name = User::getName($this->commenter))) { return $this->_error('commenter'); } $query->setAttribute('replier', $this->commenter); } if (isset($this->name)) { $this->name = Utils_Unicode::lessenAsEncoding(trim($this->name), 80); if (empty($this->name)) { return $this->_error('name'); } $query->setAttribute('name', $this->name, true); } if (isset($this->homepage) && !empty($this->homepage)) { $this->homepage = Utils_Unicode::lessenAsEncoding(trim($this->homepage), 80); $query->setAttribute('homepage', $this->homepage, true); } if (isset($this->ip) && !empty($this->ip)) { if (!Validator::ip($this->ip)) { return $this->_error('ip'); } $query->setAttribute('ip', $this->ip, true); } if (isset($this->secret)) { $query->setAttribute('secret', Validator::getBit($this->secret)); } if (isset($this->isnew)) { $query->setAttribute('isnew', Validator::getBit($this->isnew)); } if (isset($this->content)) { $this->content = trim($this->content); if (empty($this->content)) { return $this->_error('content'); } $query->setAttribute('comment', $this->content, true); } if (isset($this->written)) { if (!Validator::timestamp($this->written)) { return $this->_error('written'); } $query->setAttribute('written', $this->written); } if (isset($this->modified)) { if (!Validator::timestamp($this->modified)) { return $this->_error('modified'); } $query->setAttribute('modified', $this->modified); } if (isset($this->siteid)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setAttribute('siteid', $this->siteid); } if (isset($this->remoteid)) { if (!Validator::number($this->id, 1)) { return $this->_error('id'); } $query->setAttribute('remoteid', $this->remoteid); } if (isset($this->url) && !empty($this->url)) { // TODO: url validator doesn't validate correctly? //if (!Validator::url($this->url)) // return $this->_error('url'); $query->setAttribute('url', $this->url, true); } if (isset($this->entrytitle)) { $this->entrytitle = Utils_Unicode::lessenAsEncoding(trim($this->entrytitle), 255); if (empty($this->entrytitle)) { return $this->_error('entrytitle'); } $query->setAttribute('entrytitle', $this->entrytitle, true); } if (isset($this->entryurl)) { //if (!Validator::url($this->entryurl)) // return $this->_error('entryurl'); $query->setAttribute('entryurl', $this->entryurl, true); } if (isset($this->password)) { $this->password = Utils_Unicode::lessenAsEncoding($this->password, 32); $query->setAttribute('password', $this->password, true); $this->password = null; } return $query; }