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;
 }
Beispiel #4
0
}
$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;
 }
Beispiel #6
0
 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;
 }
Beispiel #9
0
 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;
 }