/** * Album detail * * @access public * @params integer * @return Response */ public function action_detail($id = null) { $id = (int) $id; $album = Model_Album::check_authority($id, null, 'member'); $this->check_browse_authority($album->public_flag, $album->member_id); // 既読処理 if (\Auth::check()) { $this->change_notice_status2read($this->u->id, 'album', $id); } $disabled_to_update = \Album\Site_Util::check_album_disabled_to_update($album->foreign_table); list($limit, $page) = $this->common_get_pager_list_params(\Config::get('articles.limit'), \Config::get('articles.limit_max')); $data = Model_AlbumImage::get_pager_list(array('related' => array('album'), 'where' => \Site_Model::get_where_params4list(0, \Auth::check() ? $this->u->id : 0, $this->check_is_mypage($album->member_id), array(array('album_id', $id))), 'limit' => $limit, 'order_by' => array('id' => 'desc')), $page); if (\Config::get('album.display_setting.detail.display_upload_form') && !$disabled_to_update && \Auth::check() && $album->member_id == $this->u->id) { $data['val'] = self::get_validation_public_flag(); } $data['id'] = $id; $data['album'] = $album; $data['is_member_page'] = true; $data['disabled_to_update'] = $disabled_to_update; $data['liked_album_image_ids'] = conf('like.isEnabled') && \Auth::check() ? \Site_Model::get_liked_ids('album_image', $this->u->id, $data['list']) : array(); $this->set_title_and_breadcrumbs($album->name, null, $album->member, 'album', null, false, false, array('title' => $album->name, 'description' => $album->body, 'image' => \Site_Util::get_image_uri4image_list($data['list'], 'ai', 'raw'))); $this->template->subtitle = \View::forge('_parts/detail_subtitle', array('album' => $album, 'disabled_to_update' => $disabled_to_update)); $this->template->post_footer = \View::forge('_parts/detail_footer'); $this->template->post_footer = \View::forge('_parts/detail_footer', array('is_mypage' => check_uid($album->member_id))); $this->template->content = \View::forge('detail', $data); }
* Public License) as published by the Free Software Foundation. * The full license can be read in "/info/license/license_gpl.txt". * * Contact address: GUnet Asynchronous eLearning Group, * Network Operations Center, University of Athens, * Panepistimiopolis Ilissia, 15784, Athens, Greece * e-mail: info@openeclass.org * ======================================================================== */ $require_login = true; $require_valid_uid = TRUE; include '../../include/baseTheme.php'; load_js('tools.js'); $toolName = $langMyProfile; $pageName = $langEmailUnsubscribe; $navigation[] = array('url' => 'display_profile.php', 'name' => $langMyProfile); check_uid(); if (isset($_POST['submit'])) { if (isset($_POST['unsub'])) { Database::get()->query("UPDATE user SET receive_mail = 1 WHERE id = ?d", $uid); } if (isset($_POST['cid'])) { // change email subscription for one course $cid = intval($_POST['cid']); if (isset($_POST['c_unsub'])) { Database::get()->query("UPDATE course_user SET receive_mail = 1\n WHERE user_id = ?d AND course_id = ?d", $uid, $cid); } else { Database::get()->query("UPDATE course_user SET receive_mail = 0\n WHERE user_id = ?d AND course_id = ?d", $uid, $cid); } $course_title = course_id_to_title($cid); $tool_content .= "<div class='alert alert-success'>" . q(sprintf($course_title, $langEmailUnsubSuccess)) . "</div>"; } else {
/** * Note detail * * @access public * @params integer * @return Response */ public function action_detail($id = null) { $note_id = (int) $id; $note = Model_Note::check_authority($note_id); $this->check_browse_authority($note->public_flag, $note->member_id); // 既読処理 if (\Auth::check()) { $this->change_notice_status2read($this->u->id, 'note', $id); } // note_album_image $images = is_enabled('album') ? Model_NoteAlbumImage::get_album_image4note_id($id) : array(); // note_comment $default_params = array('latest' => 1); list($limit, $is_latest, $is_desc, $since_id, $max_id) = $this->common_get_list_params($default_params, conf('view_params_default.detail.comment.limit_max')); list($list, $next_id, $all_comment_count) = Model_NoteComment::get_list(array('note_id' => $note_id), $limit, $is_latest, $is_desc, $since_id, $max_id, null, false, true); // note_like $is_liked_self = \Auth::check() ? Model_NoteLike::check_liked($id, $this->u->id) : false; $title = array('name' => $note->title); $header_info = array(); if (!$note->is_published) { $title['label'] = array('name' => term('form.draft')); $header_info = array('body' => sprintf('この%sはまだ公開されていません。', term('note'))); } $ogp_infos = array('title' => $note->title, 'description' => $note->body); if ($images) { $ogp_infos['image'] = \Site_Util::get_image_uri4image_list($images, 'ai', 'raw'); } $this->set_title_and_breadcrumbs($title, null, $note->member, 'note', $header_info, false, false, $ogp_infos); $this->template->subtitle = \View::forge('_parts/detail_subtitle', array('note' => $note)); $this->template->post_footer = \View::forge('_parts/detail_footer', array('is_mypage' => check_uid($note->member_id))); $data = array('note' => $note, 'images' => $images, 'comments' => $list, 'all_comment_count' => $all_comment_count, 'comment_next_id' => $next_id, 'is_liked_self' => $is_liked_self, 'liked_ids' => conf('like.isEnabled') && \Auth::check() && $list ? \Site_Model::get_liked_ids('note_comment', $this->u->id, $list) : array()); $this->template->content = \View::forge('detail', $data); }
function avatar_get($run = 0) { if (!session_id()) { session_start(); } pload('F:spider'); if (intval($_GET['clear'])) { unset($_SESSION['avatar_get']); } $save_data = $_SESSION['avatar_get'] ? $_SESSION['avatar_get'] : ''; global $head_url, $header_config, $_G; if (!$_GET['submit'] || $run == 0) { $info['header'] = pick_header_output($header_config, $head_url); $info['save_data'] = $save_data; return $info; } else { $submit = intval($_GET['submit']); if ($submit == 2) { unset($save_data); } if (!$save_data) { show_pick_info(milu_lang('start_config')); } $info = pick_common_get(); if (!$info['avatar_web_url']) { show_pick_info(milu_lang('please_set_avatar_url'), 'show_err'); return FALSE; } if (!$info['avata_from_uid']) { show_pick_info(milu_lang('set_pick_uid_start'), 'show_err'); return FALSE; } $info['avata_jump_num'] = $info['avata_jump_num'] ? $info['avata_jump_num'] : 100; $now_get = $save_data['now_get'] ? $save_data['now_get'] : 0; $limit_num = $info['avata_jump_num'] ? $info['avata_jump_num'] : 50; $success_count = $save_data['success_count'] ? $save_data['success_count'] : 0; if ($info['avatar_setting_member'] == 1) { //设置所有已导入的会员 if ($save_data['get_count']) { //查询总共需要设置的 $get_count = $save_data['get_count']; } else { $all_count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_member') . " c Inner Join " . DB::table('strayer_member') . " p ON p.data_uid=c.uid WHERE p.data_uid>0 "), 0); $get_count = $_SESSION['avatar_get']['get_count'] = $all_count; } if (!$get_count) { show_pick_info(milu_lang('no_import_user_data'), 'show_err'); return FALSE; } $query = DB::query("SELECT c.uid,c.username,p.data_uid FROM " . DB::table('common_member') . " c Inner Join " . DB::table('strayer_member') . " p ON p.data_uid=c.uid WHERE p.data_uid>0 ORDER BY p.get_dateline DESC LIMIT {$success_count},{$limit_num} "); while ($v = DB::fetch($query)) { $uid_arr[] = $v['uid']; } } else { //用户自定义 $re_arr = get_data_range($info['avatar_user_set'], $success_count, $limit_num); $uid_arr = $re_arr['list']; $_SESSION['avatar_get']['get_count'] = $get_count = $save_data['get_count'] ? $save_data['get_count'] : $re_arr['all_num']; //var_dump($get_count); } $avatar_get_uid = $save_data['avatar_get_uid'] ? $save_data['avatar_get_uid'] : $info['avata_from_uid']; $all_get_time = $save_data['all_get_time'] ? $save_data['all_get_time'] : 0; $snoop_obj = get_snoopy_obj($snoopy_args); foreach ($uid_arr as $k => $uid) { $v['avatar_web_url'] = $info['avatar_web_url']; $v['avatar_get_uid'] = $avatar_get_uid + 1; $v['cover_avatar'] = $info['cover_avatar']; $v['now_get'] = $now_get + 1; $v['uid'] = $uid; $v['get_count'] = $get_count; $v['cover_avatar'] = $info['cover_avatar']; $v['success_count'] = $success_count; $v['all_get_time'] = $all_get_time; $v['avata_jump_num'] = $info['avata_jump_num']; if (!check_uid($uid)) { //不存在的用户 $show_arr = get_show_arr($now_get, $success_count, $get_count, $all_get_time); $show_args = array_merge($show_arr, array('li_no_end' => 1, 'no_border' => 1, 'now' => $v['now_get'])); show_pick_info(array(milu_lang('uid_no_exists', array('u' => '<a target="_blank" href="home.php?mod=space&uid=' . $uid . '&do=profile">' . $uid . '</a>'))), 'left', $show_args); $get_re['success_count'] = $v['success_count'] = $v['success_count'] + 1; $get_re['get_count'] = $get_count; $get_re['now'] = $v['now_get'] = $v['now_get']; $get_re['all_get_time'] = $all_get_time; $get_re['avatar_get_uid'] = $v['avatar_get_uid']; $_SESSION['avatar_get']['now_get'] = $v['now_get']; $_SESSION['avatar_get']['avatar_get_uid'] = $v['avatar_get_uid']; $_SESSION['avatar_get']['all_get_time'] = $all_get_time; $_SESSION['avatar_get']['success_count'] = $v['success_count']; $show_args = get_show_arr($v['now_get'], $v['success_count'], $get_count, $all_get_time); show_pick_info(milu_lang('jump'), 'err', $show_args); avatar_page_jump($v['now_get'], $v['avata_jump_num'], $get_count); } else { $get_re = $test_re = get_web_avatar($v); //采集头像 } unset($test_re['content']); //debug $now_get = $get_re['now']; $success_count = $get_re['success_count']; $all_get_time = $get_re['all_get_time']; $get_count = $get_re['get_count']; $avatar_get_uid = $_SESSION['avatar_get']['avatar_get_uid'] = $get_re['avatar_get_uid']; $show_arr = get_show_arr($now_get, $success_count, $get_count, $all_get_time); $_SESSION['avatar_get']['now_get'] = $now_get; $_SESSION['avatar_get']['all_get_time'] = $all_get_time; } $all_get_time_str = diff_time($all_get_time, 1); $all_get_time_str = $all_get_time_str ? $all_get_time_str : ceil($all_get_time) . milu_lang('sec'); $avg_get_time = $all_get_time / $success_count; $finsh_output = milu_lang('pick_avatar_finsh', array('n' => $now_get, 'g' => $success_count, 'all' => $all_get_time_str, 'avg' => sprintf('%.2f', $avg_get_time))); //unset($_SESSION['avatar_get']); show_pick_info($finsh_output, 'finsh'); } }
function check_uid($uid, $event_key, $time) { if ($time > 500) { return false; } else { if ($uid > 0) { return true; } else { ++$time; usleep(100); $content = ""; if (file_exists(QISHI_ROOT_PATH . "data/weixin/" . $event_key . ".txt")) { $content = file_get_contents(QISHI_ROOT_PATH . "data/weixin/" . $event_key . ".txt"); } $uid = intval($content); check_uid($uid, $event_key, $time); } } }
function article_edit() { global $_G; include_once libfile('function/portalcp'); include_once libfile('function/spacecp'); include_once libfile('function/home'); require_once libfile('function/forumlist'); pload('F:spider'); if ($_GET['submit']) { $setarr = $_GET['set']; if (check_uid($setarr['uid']) == 'no') { cpmsg_error(milu_lang('user_no_exists')); } $pick_common_set = get_pick_set(); $pid = intval($_GET['pid']); $p_arr = get_pick_info($pid); $setarr['portal_cid'] = $_GET['portal']; $setarr['forum_fid'] = $_GET['forums']; $setarr['forum_typeid'] = $_GET['threadtypeid']; $setarr['blog_big_cid'] = $_GET['blog']; $setarr['blog_small_cid'] = $_GET['classid']; $setarr['title'] = getstr(trim($setarr['title']), 80, 1, 1); if (strlen($setarr['title']) < 1) { cpmsg_error(milu_lang('title_no_empty')); } if (empty($setarr['summary'])) { $setarr['summary'] = portalcp_get_summary(stripslashes($_GET['message'])); } $set_arr['summary'] = addslashes($setarr['summary']); $setarr['public_time'] = strtotime($setarr['public_time']); $setarr['from'] = dhtmlspecialchars($setarr['from']); $setarr['article_tag'] = dhtmlspecialchars($setarr['article_tag']); $setarr['fromurl'] = str_replace('&', '&', dhtmlspecialchars($setarr['fromurl'])); $aid = intval($_GET['aid']); $pid = intval($_GET['pid']); $status = intval($_GET['status']); $relatedarr = array(); if ($_GET['raids']) { $relatedarr = array_map('intval', $_GET['raids']); $relatedarr = array_unique($relatedarr); $relatedarr = array_filter($relatedarr); $setarr['raids'] = serialize($relatedarr); } $setarr['tag'] = article_make_tag($_GET['tag']); $setarr['last_modify'] = $_G['timestamp']; $user_info = get_user_info($setarr['uid']); $setarr['username'] = $user_info['username']; $article_arr = $setarr; DB::update('strayer_article_title', paddslashes($setarr), array('aid' => $aid)); $article_arr['is_download_img'] = $setarr['is_download_img']; $article_arr['is_water_img'] = $setarr['is_water_img']; $setarr = array(); $content = $_GET['message']; if (!$_GET['is_bbs']) { $regexp = '/(###NextPage(\\[title=(.*?)\\])?###)+/'; preg_match_all($regexp, $content, $arr); $contents = preg_split($regexp, $content); DB::delete('strayer_article_content', "aid='{$aid}'"); foreach ($contents as $k => $v) { $v = dstripslashes($v); $setarr['content'] = trim($v); $setarr['pageorder'] = $k + 1; $setarr['aid'] = $aid; $setarr['dateline'] = $_G['timestamp']; $article_arr['content_arr'][$k] = $setarr; DB::insert("strayer_article_content", paddslashes($setarr), true); } } else { //如果是带回复的 $setarr['content'] = trim($content); $setarr = dstripslashes($setarr); DB::update("strayer_article_content", paddslashes($setarr), array('aid' => $aid, 'pageorder' => 1)); } //var_dump($aid);exit(); $setarr = array(); $article_view_url = ''; if ($_GET['public_flag']) { $select = $_GET['select']; $article_arr['is_bbs'] = $_GET['is_bbs']; $article_arr['contents'] = $article_arr['is_bbs'] ? 1 : count($contents); $article_arr['content'] = dstripslashes(clear_ad_html($_GET['message'])); $article_arr['public_reply_seq'] = $p_arr['public_reply_seq']; $article_arr['is_public_reply'] = $p_arr['is_public_reply']; $article_arr['reply_uid'] = $p_arr['reply_uid']; $article_arr['is_page_public'] = $p_arr['is_page_public']; if ($p_arr['is_word_replace'] == 1) { //同义词替换 if ($article_arr['is_bbs'] != 1 && $article_arr['contents'] > 0) { //有几页的文章 $article_arr['content_arr'] = article_words_replace($article_arr['content_arr']); } $article_arr['content'] = article_words_replace($article_arr['content']); $article_arr['title'] = article_words_replace($article_arr['title']); if ($article_arr['reply']) { $article_arr['reply'] = article_words_replace($article_arr['reply']); } } $article_arr['content'] = str_replace("###NextPage###", "<\\br>", $article_arr['content']); $arr['content'] = htmlspecialchars_decode($arr['content'], ENT_QUOTES); $arr['content'] = format_html($arr['content']); $data_article_arr = article_info($aid); $is_timing = $pick_common_set['is_timing']; //if(!VIP) $is_timing = 0; //发布时间大于当前时间,放入定时发布中 if ($article_arr['public_time'] > $_G['timestamp'] && $is_timing == 1 && $aid) { if ($select == 1) { //门户 $timing_public_arr['portal'] = $article_arr['portal_cid']; } else { if ($select == 2) { //论坛 $timing_public_arr['forums'] = $article_arr['forum_fid']; $timing_public_arr['threadtypeid'] = $article_arr['forum_typeid']; } else { $timing_public_arr['blog'] = $article_arr['blog_big_cid']; $timing_public_arr['classid'] = $article_arr['blog_small_cid']; } } $timing_setarr = array('public_type' => $select, 'data_id' => $aid, 'content_type' => 1, 'public_dateline' => $article_arr['public_time'], 'pid' => $pid, 'public_info' => serialize($timing_public_arr)); article_timing_add($timing_setarr); cpmsg(milu_lang('article_public_timming', array('d' => dgmdate($article_arr['public_time'], 'u'))), PICK_GO . 'picker_manage&myfunc=article_edit&aid=' . $aid . '&pid=' . $pid, 'succeed'); return; } if ($select == 1) { //门户 $old_arr['portal_id'] = intval($_GET['old_portal_id']); $article_arr['relatedarr'] = $relatedarr; $setarr['portal_id'] = $article_arr['aid'] = article_move_portal($article_arr, $old_arr); //var_dump($setarr['portal_id']);exit(); $article_arr['cookie'] = $p_arr['login_cookie']; $article_arr['page_url'] = $data_article_arr['url']; $article_arr['is_download_file'] = $p_arr['is_download_file']; $article_arr['content_filter_html'] = unserialize(dstripslashes($p_arr['content_filter_html'])); downremotefile($article_arr, 'portal', $old_arr); article_thumb($setarr['portal_id']); $article_view_url = 'portal.php?mod=view&aid=' . $setarr['portal_id']; } else { if ($select == 2) { //论坛 if ($article_arr['contents'] > 1 && $article_arr['is_bbs'] == 0 && $p_arr['is_page_public'] == 1) { $article_arr['is_public_reply'] = 1; $article_arr['public_reply_seq'] = 0; $article_arr['is_content_reply'] = 1; $article_arr['is_bbs'] = 1; $article_arr['content'] = $article_arr['content_arr'][0]['content']; } else { if ($article_arr['is_bbs'] != 1) { $article_arr['reply'] = array(); } } if ($article_arr['is_bbs']) { $article_arr['reply'] = $data_article_arr['reply']; } $article_arr['cookie'] = $p_arr['login_cookie']; $article_arr['page_url'] = $data_article_arr['url']; $old_arr['forum_id'] = intval($_GET['old_forum_id']); $forum_arr = article_move_forums($article_arr, $old_arr); if ($forum_arr['is_download_img'] == 1) { //下载图片 $forum_arr['cookie'] = $p_arr['login_cookie']; $forum_arr['is_download_img'] = $article_arr['is_download_img']; $forum_arr['is_download_file'] = $p_arr['is_download_file']; $forum_arr['is_water_img'] = $article_arr['is_water_img']; forum_downremotefile($forum_arr, $old_arr); } $setarr['forum_id'] = $article_arr['tid'] = $forum_arr['tid']; $article_view_url = 'forum.php?mod=viewthread&tid=' . $setarr['forum_id']; } else { //博客 $old_arr['catid'] = intval($_GET['old_blog_big_cid']); $old_arr['classid'] = intval($_GET['old_blog_small_cid']); $old_arr['uid'] = intval($_GET['old_uid']); $old_arr['username'] = $_GET['old_username']; $old_arr['blog_id'] = $_GET['old_blog_id']; $setarr['blog_id'] = $article_arr['aid'] = article_move_blog($article_arr, $old_arr); $article_arr['cookie'] = $p_arr['login_cookie']; $article_arr['page_url'] = $data_article_arr['url']; $arr['is_download_file'] = $p_arr['is_download_file']; $arr['content_filter_html'] = unserialize(dstripslashes($p_arr['content_filter_html'])); downremotefile($article_arr, 'album', $old_arr); $article_view_url = 'home.php?mod=space&do=blog&uid=' . $article_arr['uid'] . '&id=' . $setarr['blog_id']; } } $setarr['status'] = 2; DB::update('strayer_article_title', $setarr, array('aid' => $aid)); } $msg = $_GET['public_flag'] ? milu_lang('public') : milu_lang('save'); $return_url = '?' . PICK_GO . 'picker_manage&myac=article_manage&p=1&pid=' . $pid . $_GET['url_args']; $return_list_html = '<a href="' . $return_url . '">' . milu_lang('return_list') . '</a>'; if ($article_view_url) { $article_view_output = ' <span class="pipe">|</span> <a target="_blank" href="' . $article_view_url . '">' . milu_lang('view_article') . '</a>'; } cpmsg(milu_lang('save_success', array('msg' => $msg)) . '<br><br><a href="?' . PICK_GO . 'picker_manage&myfunc=article_edit&aid=' . $aid . '&pid=' . $pid . '">' . milu_lang('continue_edit') . '</a> <span class="pipe">|</span> ' . $return_list_html . $article_view_output, PICK_GO . 'picker_manage&myfunc=article_edit&aid=' . $aid . '&pid=' . $pid, 'succeed'); } else { $pid = intval($_GET['pid']); $p_arr = get_pick_info($pid); $p_arr['public_class'] = unserialize($p_arr['public_class']); $aid = intval($_GET['aid']); $data = article_info($aid); $data['p_arr'] = $p_arr; $data['status'] = intval($_GET['status']); if (!$data['view_num']) { $view_arr = format_wrap($p_arr['view_num'], ','); if ($view_arr) { $data['view_num'] = rand($view_arr[0], $view_arr[1]); } } if ($data['contents'] > 1) { if ($data['content_arr']) { $data['content'] = content_merge($data['content_arr'], 1); } } $time_arr = create_public_time($data, 1); $data['public_time'] = array_pop($time_arr); $data['public_time'] = dgmdate($data['public_time'], 'Y-m-d H:i'); if (!$data['uid']) { $rand_arr = get_rand_uid($p_arr); $data['uid'] = $rand_arr[0]['uid']; } $data['raids'] = unserialize($data['raids']); if ($data['raids']) { $query = DB::query("SELECT title,aid FROM " . DB::table('portal_article_title') . " WHERE aid IN (" . dimplode($data['raids']) . ")"); $list = array(); while ($value = DB::fetch($query)) { $list[$value['aid']] = $value; $data['raids_html'] .= '<li id="raid_li_' . $value['aid'] . '"><input type="hidden" name="raids[]" value="' . $value['aid'] . '" size="5"><a href="portal.php?mod=view&aid=' . $value['aid'] . '" target="_blank">' . $value['title'] . '</a>(' . milu_lang('article') . ' ID: ' . $value['aid'] . ')<a href="javascript:;" onclick="raid_delete(' . $value['aid'] . ');" class="xg1">' . milu_lang('del') . '</a></li>'; } } if (!$data['forum_typeid']) { $data['forum_typeid'] = $p_arr['public_class'][1]; } $data['threadtypes'] = getthreadtypes(array('typeid' => $p_arr['public_class'][1], 'fid' => $p_arr['public_class'][0])); $data['forumselect'] = '<select id="forums" name="forums" onchange="getthreadtypes(this.value, 0)">' . forumselect(FALSE, 0, $p_arr['public_class'][0], TRUE) . '</select> <span id="threadtypes">' . $data['threadtypes'] . '</span>'; $data['portalselect'] = category_showselect('portal', 'portal', $p_arr['public_class'][0]); $data['blogselect'] = category_showselect('blog', 'blog', $p_arr['public_class'][0]); $data['article_tags'] = article_parse_tags($data['tag']); $data['tag_names'] = article_tagnames(); $data['show_blog_class'] = get_person_blog_class($data['uid'], $data['blog_small_cid']); $data['pid'] = $pid; $data['public_type'] = $p_arr['public_type']; $data['content'] = dhtmlspecialchars($data['content']); $data['url_args'] = $_GET['url_args']; return $data; } }