示例#1
0
 public function postBlog($items, $users)
 {
     $stream = array();
     loader::model('blogs/blogs');
     $params = array('select_users' => false);
     // Get blogs
     $columns = array('`b`.`blog_id` IN (' . implode(',', array_keys($items)) . ')');
     $blogs = codebreeder::instance()->blogs_model->getBlogs('in_list', $columns, array(), false, count($items), $params);
     foreach ($items as $itemID => $data) {
         if (isset($blogs[$itemID]) && isset($users[$blogs[$itemID]['user_id']])) {
             foreach ($data as $actionID => $item) {
                 $stream[$itemID][$actionID]['html'] = view::load('blogs/timeline/blog', array('user' => $users[$blogs[$itemID]['user_id']], 'blog' => $blogs[$itemID], 'params' => $item['params']), true);
                 $stream[$itemID][$actionID]['rating']['total_votes'] = $blogs[$itemID]['total_votes'];
                 $stream[$itemID][$actionID]['rating']['total_score'] = $blogs[$itemID]['total_score'];
                 $stream[$itemID][$actionID]['rating']['total_rating'] = $blogs[$itemID]['total_rating'];
                 $stream[$itemID][$actionID]['rating']['total_likes'] = $blogs[$itemID]['total_likes'];
                 $stream[$itemID][$actionID]['rating']['type'] = config::item('blog_rating', 'blogs');
                 $stream[$itemID][$actionID]['comments']['total_comments'] = $blogs[$itemID]['total_comments'];
                 $stream[$itemID][$actionID]['comments']['privacy'] = $blogs[$itemID]['comments'];
                 $stream[$itemID][$actionID]['comments']['post'] = $blogs[$itemID]['comments'] && codebreeder::instance()->users_model->getPrivacyAccess($blogs[$itemID]['user_id'], $blogs[$itemID]['comments'], false, $users[$blogs[$itemID]['user_id']]['friends'] ? 1 : 0) ? true : false;
             }
         }
     }
     return $stream;
 }
示例#2
0
 public static function getPictures($params = array())
 {
     if (!session::permission('users_groups_browse', 'users') && !session::permission('users_types_browse', 'users')) {
         return '';
     }
     loader::model('pictures/pictures');
     $template = isset($params['template']) ? $params['template'] : 'pictures/helpers/pictures';
     $user = isset($params['user']) && $params['user'] ? $params['user'] : array();
     $userID = $user ? $user['user_id'] : (isset($params['user_id']) ? $params['user_id'] : 0);
     $params['albums'] = true;
     if ($userID) {
         $params['join_columns'][] = '`p`.`user_id`=' . $userID;
     }
     if (!$userID || $userID != session::item('user_id')) {
         if ($userID) {
             $params['privacy'] = $userID;
         } else {
             $params['join_columns'][] = '`a`.`public`=1';
             $params['join_columns'][] = '`u`.`verified`=1';
             $params['join_columns'][] = '`u`.`active`=1';
             $params['join_columns'][] = '`u`.`group_id` IN (' . implode(',', session::permission('users_groups_browse', 'users')) . ')';
             $params['join_columns'][] = '`u`.`type_id` IN (' . implode(',', session::permission('users_types_browse', 'users')) . ')';
         }
     }
     $params['limit'] = isset($params['limit']) ? $params['limit'] : 10;
     $params['order'] = isset($params['order']) ? $params['order'] : '';
     $pictures = codebreeder::instance()->pictures_model->getPictures('in_list', $params['join_columns'], array(), $params['order'], $params['limit'], $params);
     view::assign(array('pictures' => $pictures, 'user' => $user, 'params' => $params), '', $template);
     return view::load($template, array(), 1);
 }
示例#3
0
 public static function getTimeline($user = array(), $privacy = 2, $template = 'timeline/helpers/timeline')
 {
     loader::model('timeline/timeline');
     // Get actions
     $actions = codebreeder::instance()->timeline_model->getActions($user ? $user['user_id'] : 0, true, 0, config::item('actions_per_page', 'timeline'));
     $ratings = array();
     // Do we have actions and are we logged in?
     if ($actions && users_helper::isLoggedin()) {
         foreach ($actions as $action) {
             if ($action['rating']) {
                 $ratings[$action['relative_resource']][] = $action['item_id'];
             } else {
                 $ratings['timeline'][] = $action['action_id'];
             }
         }
         // Load votes and like models
         loader::model('comments/votes');
         loader::model('comments/likes');
         // Get likes and votes
         $likes = codebreeder::instance()->likes_model->getMultiLikes($ratings);
         $votes = codebreeder::instance()->votes_model->getMultiVotes($ratings);
         $ratings = $likes + $votes;
     }
     // Can we post messages?
     $post = session::permission('messages_post', 'timeline') && codebreeder::instance()->users_model->getPrivacyAccess($user['user_id'], $privacy, false) ? true : false;
     view::assign(array('actions' => $actions, 'user' => $user, 'post' => $post, 'ratings' => $ratings), '', $template);
     // Update comments pagination
     config::set('comments_per_page', config::item('comments_per_page', 'timeline'), 'comments');
     return view::load($template, array(), 1);
 }
示例#4
0
文件: form.php 项目: soremi/tutornavi
 public static function captcha($name, $value = '')
 {
     $service = config::item('default_captcha', 'security');
     $settings = config::item('default_captcha_settings', 'security');
     // Load library
     loader::library('captchas/' . $service, $settings, 'captcha_' . $service);
     $str = codebreeder::instance()->{'captcha_' . $service}->getCaptcha($name);
     return $str;
 }
示例#5
0
 public static function getComments($resource, $userID, $itemID, $total, $privacy = 2, $post = true, $info = true, $static = false)
 {
     // Can we post comments?
     $post = $post && session::permission('comments_view', 'comments') && session::permission('comments_post', 'comments') ? true : false;
     if ($userID) {
         $post = $privacy && codebreeder::instance()->users_model->getPrivacyAccess($userID, $privacy, false) ? true : false;
     }
     loader::controller('comments');
     echo codebreeder::instance()->comments->browse($resource, $itemID, $total, 1, $post, $info, $static);
 }
示例#6
0
文件: news.php 项目: soremi/tutornavi
 public static function getNews($params = array())
 {
     loader::model('news/news');
     $template = isset($params['template']) ? $params['template'] : 'news/helpers/news';
     $params['join_columns'][] = '`n`.`active`=1';
     $params['limit'] = isset($params['limit']) ? $params['limit'] : 10;
     $params['order'] = isset($params['order']) ? $params['order'] : '';
     $entries = codebreeder::instance()->news_model->getEntries('in_list', $params['join_columns'], array(), $params['order'], $params['limit'], $params);
     view::assign(array('entries' => $entries, 'params' => $params), '', $template);
     return view::load($template, array(), 1);
 }
示例#7
0
文件: load.php 项目: soremi/tutornavi
 public function css()
 {
     // echo 123;
     // exit;
     $template = strtolower(uri::segment(3));
     if ($template != 'cp' && !in_array($template, config::item('templates', 'core', 'keywords'))) {
         error::show404();
     }
     $output = $this->getStylesheets($template, $template == 'cp' ? true : false);
     codebreeder::setHeader('Content-Type: text/css');
     echo $output;
     exit;
 }
示例#8
0
 public static function getFilePath($serviceID, $path, $name, $ext, $suffix = '')
 {
     // Get storage service and settings
     $service = config::item('storages', 'core', $serviceID);
     $settings = config::item('storages', 'core', 'settings', $serviceID);
     if (!$service) {
         return '';
     }
     // Load library
     loader::library('storages/' . $service, $settings, 'storage_' . $service);
     $str = codebreeder::instance()->{'storage_' . $service}->getFilePath($path, $name, $ext, $suffix);
     return $str;
 }
示例#9
0
 public static function showBanner($group, $banner = '')
 {
     if (!config::item('plugins', 'core', 'banners') || !session::permission('banners_show', 'banners')) {
         return '';
     }
     loader::model('banners/banners');
     $banner = codebreeder::instance()->banners_model->getBanner($banner, $group);
     if (!$banner || input::protocol() == 'https' && !$banner['secure_mode']) {
         return '';
     }
     if ($banner['count_views']) {
         codebreeder::instance()->banners_model->updateViews($banner['banner_id']);
     }
     if ($banner['count_clicks']) {
         $banner['code'] = '<div style="display:block" onclick="$(\'#banner_id_' . $banner['banner_id'] . '\').attr(\'src\',\'' . html_helper::siteURL('banners/click/' . $banner['banner_id']) . '\');return true;">' . $banner['code'] . '<img src="' . html_helper::baseURL('assets/images/banners/blank.gif') . '" border="0" style="width:0px;height:0px;" alt="" id="banner_id_' . $banner['banner_id'] . '" /></div>';
     }
     return $banner['code'];
 }
示例#10
0
 public function postPicture($items, $users)
 {
     $stream = array();
     loader::model('pictures/pictures');
     loader::model('pictures/albums', array(), 'pictures_albums_model');
     $params = array('select_users' => false);
     // Get file IDs
     $files = array();
     foreach ($items as $itemID => $data) {
         foreach ($data as $actionID => $item) {
             foreach ($item['attachments'] as $fileID) {
                 $files[$fileID] = $actionID;
             }
         }
     }
     if (!$files) {
         return array();
     }
     // Get albums
     $columns = array('`a`.`album_id` IN (' . implode(',', array_keys($items)) . ')');
     $albums = codebreeder::instance()->pictures_albums_model->getAlbums('in_list', $columns, array(), false, count($items), $params);
     // Get pictures
     $columns = array('`p`.`file_id` IN (' . implode(',', array_keys($files)) . ')');
     $pictures = codebreeder::instance()->pictures_model->getPictures('in_list', $columns, array(), false, count($files), $params);
     foreach ($items as $itemID => $data) {
         if (isset($albums[$itemID]) && isset($users[$albums[$itemID]['user_id']])) {
             foreach ($data as $actionID => $item) {
                 foreach ($pictures as $pictureID => $picture) {
                     if (isset($item['attachments'][$picture['file_id']])) {
                         $item['attachments'][$picture['file_id']] = $picture;
                         unset($picture[$pictureID]);
                     }
                 }
                 $stream[$itemID][$actionID]['html'] = view::load('pictures/timeline/pictures', array('user' => $users[$albums[$itemID]['user_id']], 'album' => $albums[$itemID], 'pictures' => $item['attachments'], 'params' => $item['params']), true);
                 $stream[$itemID][$actionID]['rating']['total_votes'] = $albums[$itemID]['total_votes'];
                 $stream[$itemID][$actionID]['rating']['total_score'] = $albums[$itemID]['total_score'];
                 $stream[$itemID][$actionID]['rating']['total_rating'] = $albums[$itemID]['total_rating'];
                 $stream[$itemID][$actionID]['rating']['total_likes'] = $albums[$itemID]['total_likes'];
                 $stream[$itemID][$actionID]['rating']['type'] = config::item('album_rating', 'pictures');
             }
         }
     }
     return $stream;
 }
示例#11
0
 public static function getAds($params = array())
 {
     loader::model('classifieds/classifieds');
     $template = isset($params['template']) ? $params['template'] : 'classifieds/helpers/classifieds';
     $user = isset($params['user']) && $params['user'] ? $params['user'] : array();
     $userID = $user ? $user['user_id'] : (isset($params['user_id']) ? $params['user_id'] : 0);
     if ($userID) {
         $params['join_columns'][] = '`a`.`user_id`=' . $userID;
     }
     if (!$userID || $userID != session::item('user_id')) {
         if ($userID) {
             $params['join_columns'][] = '`a`.`post_date`>' . (date_helper::now() - config::item('ad_expiration', 'classifieds') * 60 * 60 * 24);
         } else {
             $params['join_columns'][] = '`u`.`active`=1';
         }
     }
     $params['limit'] = isset($params['limit']) ? $params['limit'] : 10;
     $params['order'] = isset($params['order']) ? $params['order'] : '';
     $ads = codebreeder::instance()->classifieds_model->getAds('in_list', $params['join_columns'], array(), $params['order'], $params['limit'], $params);
     view::assign(array('ads' => $ads, 'user' => $user, 'params' => $params), '', $template);
     return view::load($template, array(), 1);
 }
示例#12
0
 public function postMessage($items, $users)
 {
     $stream = array();
     loader::model('timeline/messages', array(), 'timeline_messages_model');
     $params = array('select_users' => false);
     // Get messages
     $columns = array('`m`.`message_id` IN (' . implode(',', array_keys($items)) . ')');
     $messages = codebreeder::instance()->timeline_messages_model->getMessages(0, $columns, false, count($items), $params);
     foreach ($items as $itemID => $data) {
         if (isset($messages[$itemID]) && isset($users[$messages[$itemID]['user_id']]) && isset($users[$messages[$itemID]['poster_id']])) {
             foreach ($data as $actionID => $item) {
                 $stream[$itemID][$actionID]['html'] = view::load('timeline/timeline/message', array('user' => $users[$messages[$itemID]['user_id']], 'poster' => $users[$messages[$itemID]['poster_id']], 'message' => $messages[$itemID], 'params' => $item['params']), true);
                 $stream[$itemID][$actionID]['rating']['total_votes'] = $messages[$itemID]['total_votes'];
                 $stream[$itemID][$actionID]['rating']['total_score'] = $messages[$itemID]['total_score'];
                 $stream[$itemID][$actionID]['rating']['total_rating'] = $messages[$itemID]['total_rating'];
                 $stream[$itemID][$actionID]['rating']['total_likes'] = $messages[$itemID]['total_likes'];
                 $stream[$itemID][$actionID]['rating']['type'] = config::item('timeline_rating', 'timeline');
                 $stream[$itemID][$actionID]['comments']['total_comments'] = $messages[$itemID]['total_comments'];
                 $stream[$itemID][$actionID]['comments']['post'] = session::permission('comments_view', 'comments') && session::permission('comments_post', 'comments') ? true : false;
             }
         }
     }
     return $stream;
 }
示例#13
0
文件: geo.php 项目: soremi/tutornavi
 public static function getCity($cityID)
 {
     $str = codebreeder::instance()->geo_model->getCity($cityID);
     return $str;
 }
示例#14
0
 public static function getUsers($params = array())
 {
     if (!session::permission('users_groups_browse', 'users') && !session::permission('users_types_browse', 'users')) {
         return '';
     }
     $template = isset($params['template']) ? $params['template'] : 'users/helpers/users';
     $params['join_columns'][] = '`u`.`verified`=1';
     $params['join_columns'][] = '`u`.`active`=1';
     $params['join_columns'][] = '`u`.`group_id` IN (' . implode(',', session::permission('users_groups_browse', 'users')) . ')';
     $params['join_columns'][] = '`u`.`type_id` IN (' . implode(',', session::permission('users_types_browse', 'users')) . ')';
     $params['limit'] = isset($params['limit']) ? $params['limit'] : 10;
     $params['order'] = isset($params['order']) ? $params['order'] : '`u`.`join_date` DESC';
     $users = codebreeder::instance()->users_model->getUsers('in_list', 0, $params['join_columns'], array(), $params['order'], $params['limit'], $params);
     view::assign(array('users' => $users, 'params' => $params), '', $template);
     return view::load($template, array(), 1);
 }
示例#15
0
 public function settings()
 {
     // Get URI vars
     $keyword = uri::segment(5);
     // Get plugin
     if (!$keyword || !($plugin = $this->plugins_model->getPlugin($keyword))) {
         view::setError(__('no_plugin', 'system_plugins'));
         router::redirect('cp/system/plugins');
     }
     // Do we have settings enabled?
     if (!$plugin['settings']) {
         view::setError(__('no_plugin_settings', 'system_plugins'));
         router::redirect('cp/system/plugins');
     }
     // Assign vars
     view::assign(array('plugin' => $plugin));
     // Set title
     view::setTitle(__('plugin_settings', 'system_plugins'));
     // Set trail
     view::setTrail('cp/system/plugins/view/' . $keyword, __('plugin_view', 'system_plugins') . ' - ' . $plugin['name']);
     // Load settings controller
     loader::controller('cp/system/config/system', array(), 'system_settings');
     codebreeder::instance()->controller->system_settings->browse($keyword);
 }