Example #1
0
function search_blog()
{
    global $database, $url, $results_per_page, $p, $search_text, $t, $search_objects, $results, $total_results;
    // CONSTRUCT QUERY
    $sql = "\r\n    SELECT\r\n      se_blogentries.blogentry_id,\r\n      se_blogentries.blogentry_title,\r\n      se_blogentries.blogentry_body,\r\n      se_users.user_id,\r\n      se_users.user_username,\r\n      se_users.user_photo,\r\n      se_users.user_fname,\r\n      se_users.user_lname\r\n    FROM\r\n      se_blogentries,\r\n      se_users,\r\n      se_levels\r\n    WHERE\r\n      se_blogentries.blogentry_user_id=se_users.user_id &&\r\n      se_users.user_level_id=se_levels.level_id &&\r\n      (\r\n        se_blogentries.blogentry_search='1' ||\r\n        se_levels.level_blog_search='0'\r\n      ) \r\n  ";
    $sql .= " && MATCH (`blogentry_title`, `blogentry_body`) AGAINST ('{$search_text}' IN BOOLEAN MODE)";
    /*
    $sql .= " && (
          blogentry_title LIKE '%$search_text%' ||
          blogentry_body LIKE '%$search_text%'
        )
    ";
    */
    // GET TOTAL ENTRIES
    $sql2 = $sql . " LIMIT 201";
    $resource = $database->database_query($sql2);
    $total_entries = $database->database_num_rows($resource);
    // IF NOT TOTAL ONLY
    if ($t == "blog") {
        // MAKE BLOG PAGES
        $start = ($p - 1) * $results_per_page;
        $limit = $results_per_page + 1;
        // SEARCH BLOGS
        $sql3 = $sql . " ORDER BY blogentry_id DESC LIMIT {$start}, {$limit}";
        $resource = $database->database_query($sql3);
        while ($blogentry_info = $database->database_fetch_assoc($resource)) {
            // CREATE AN OBJECT FOR AUTHOR
            $profile = new se_user();
            $profile->user_info['user_id'] = $blogentry_info['user_id'];
            $profile->user_info['user_username'] = $blogentry_info['user_username'];
            $profile->user_info['user_photo'] = $blogentry_info['user_photo'];
            $profile->user_info['user_fname'] = $blogentry_info['user_fname'];
            $profile->user_info['user_lname'] = $blogentry_info['user_lname'];
            $profile->user_displayname();
            // IF EMPTY TITLE
            if (!trim($blogentry_info['blogentry_title'])) {
                $blogentry_info['blogentry_title'] = SE_Language::get(589);
            }
            $blogentry_info['blogentry_body'] = cleanHTML($blogentry_info['blogentry_body'], '');
            // IF BODY IS LONG
            if (strlen($blogentry_info['blogentry_body']) > 150) {
                $blogentry_info['blogentry_body'] = substr($blogentry_info['blogentry_body'], 0, 147) . "...";
            }
            $result_url = $url->url_create('blog_entry', $blogentry_info['user_username'], $blogentry_info['blogentry_id']);
            $result_name = 1500118;
            $result_desc = 1500119;
            $results[] = array('result_url' => $result_url, 'result_icon' => './images/icons/blog_blog48.gif', 'result_name' => $result_name, 'result_name_1' => $blogentry_info['blogentry_title'], 'result_desc' => $result_desc, 'result_desc_1' => $url->url_create('profile', $blogentry_info['user_username']), 'result_desc_2' => $profile->user_displayname, 'result_desc_3' => $blogentry_info['blogentry_body']);
        }
        // SET TOTAL RESULTS
        $total_results = $total_entries;
    }
    // SET ARRAY VALUES
    SE_Language::_preload_multi(1500118, 1500119, 1500120);
    if ($total_albums > 200) {
        $total_albums = "200+";
    }
    $search_objects[] = array('search_type' => 'blog', 'search_lang' => 1500120, 'search_total' => $total_entries);
}
Example #2
0
 function comment_list($start, $limit)
 {
     global $database, $setting, $user;
     $comment_array = array();
     $comment_query = "\r\n      SELECT \r\n\t\t\t\t`se_{$this->comment_type}comments`.*, \r\n\t\t\t\tse_users.user_id, \r\n\t\t\t\tse_users.user_username, \r\n\t\t\t\tse_users.user_fname,\r\n\t\t\t\tse_users.user_lname,\r\n\t\t\t\tse_users.user_photo,\r\n\t\t\tCASE\r\n\t\t\t  WHEN ((se_users.user_privacy & @SE_PRIVACY_REGISTERED) AND '{$user->user_exists}'<>0)\r\n\t\t\t    THEN FALSE\r\n\t\t\t  WHEN ((se_users.user_privacy & @SE_PRIVACY_ANONYMOUS) AND '{$user->user_exists}'=0)\r\n\t\t\t    THEN FALSE\r\n\t\t\t  WHEN ((se_users.user_privacy & @SE_PRIVACY_SELF) AND se_users.user_id='{$user->user_info['user_id']}')\r\n\t\t\t    THEN FALSE\r\n\t\t\t  WHEN ((se_users.user_privacy & @SE_PRIVACY_FRIEND) AND (SELECT TRUE FROM se_friends WHERE friend_user_id1=se_users.user_id AND friend_user_id2='{$user->user_info['user_id']}' AND friend_status='1' LIMIT 1))\r\n\t\t\t    THEN FALSE\r\n\t\t\t  WHEN ((se_users.user_privacy & @SE_PRIVACY_SUBNET) AND se_users.user_subnet_id='{$user->user_info['user_subnet_id']}')\r\n\t\t\t    THEN FALSE\r\n\t\t\t  WHEN ((se_users.user_privacy & @SE_PRIVACY_FRIEND2) AND se_users.user_subnet_id='{$user->user_info['user_subnet_id']}' AND (SELECT TRUE FROM se_friends AS friends_primary LEFT JOIN se_friends AS friends_secondary ON friends_primary.friend_user_id2=friends_secondary.friend_user_id1 WHERE friends_primary.friend_user_id1=se_users.user_id AND friends_secondary.friend_user_id2='{$user->user_info['user_id']}' LIMIT 1))\r\n\t\t\t    THEN FALSE\r\n\t\t\t  ELSE TRUE\r\n\t\t\tEND\r\n\t\t\tAS is_profile_private\r\n\t\t\tFROM \r\n\t\t\t\t`se_{$this->comment_type}comments`\r\n\t\t\tLEFT JOIN \r\n\t\t\t\tse_users \r\n\t\t\tON \r\n\t\t\t\t`se_{$this->comment_type}comments`.`{$this->comment_type}comment_authoruser_id`=se_users.user_id \r\n\t\t\tWHERE \r\n\t\t\t\t`{$this->comment_type}comment_{$this->comment_identifier}`='{$this->comment_identifying_value}' \r\n\t\t\tORDER BY\r\n        `{$this->comment_type}comment_id` DESC \r\n\t\t\tLIMIT\r\n        {$start}, {$limit}\r\n    ";
     $comments = $database->database_query($comment_query);
     while ($comment_info = $database->database_fetch_assoc($comments)) {
         // CREATE AN OBJECT FOR AUTHOR
         $author = new se_user();
         if ($comment_info['user_id'] != $comment_info[$this->comment_type . 'comment_authoruser_id']) {
             $author->user_exists = FALSE;
         } else {
             $author->user_exists = TRUE;
             $author->user_info['user_id'] = $comment_info['user_id'];
             $author->user_info['user_username'] = $comment_info['user_username'];
             $author->user_info['user_fname'] = $comment_info['user_fname'];
             $author->user_info['user_lname'] = $comment_info['user_lname'];
             $author->user_info['user_photo'] = $comment_info['user_photo'];
             $author->user_displayname();
         }
         // SET COMMENT ARRAY
         $comment_array[] = array('comment_id' => $comment_info[$this->comment_type . 'comment_id'], 'comment_authoruser_id' => $comment_info[$this->comment_type . 'comment_authoruser_id'], 'comment_author' => $author, 'comment_date' => $comment_info[$this->comment_type . 'comment_date'], 'comment_body' => $comment_info[$this->comment_type . 'comment_body'], 'comment_author_private' => $comment_info['is_profile_private']);
     }
     return $comment_array;
 }
Example #3
0
function search_poll()
{
    global $database, $url, $results_per_page, $p, $search_text, $t, $search_objects, $results, $total_results;
    // CONSTRUCT QUERY
    $sql = "\r\n    SELECT\r\n      se_polls.poll_id,\r\n      se_polls.poll_title,\r\n      se_users.user_id,\r\n      se_users.user_username,\r\n      se_users.user_photo,\r\n      se_users.user_fname,\r\n      se_users.user_lname\r\n    FROM\r\n      se_polls,\r\n      se_users,\r\n      se_levels\r\n    WHERE\r\n      se_polls.poll_user_id=se_users.user_id &&\r\n      se_users.user_level_id=se_levels.level_id &&\r\n      (\r\n        se_polls.poll_search='1' ||\r\n        se_levels.level_poll_search='0'\r\n      ) &&\r\n      (\r\n        poll_title LIKE '%{$search_text}%' ||\r\n        poll_desc LIKE '%{$search_text}%' ||\r\n        poll_options LIKE '%{$search_text}%'\r\n      )\r\n  ";
    // GET TOTAL ENTRIES
    $total_polls = $database->database_num_rows($database->database_query($sql . " LIMIT 201"));
    // IF NOT TOTAL ONLY
    if ($t == "poll") {
        // MAKE POLL PAGES
        $start = ($p - 1) * $results_per_page;
        $limit = $results_per_page + 1;
        // SEARCH POLLS
        $sql .= " ORDER BY se_polls.poll_id DESC LIMIT {$start}, {$limit}";
        $resource = $database->database_query($sql) or die($database->database_error());
        while ($poll_info = $database->database_fetch_assoc($resource)) {
            // CREATE AN OBJECT FOR AUTHOR
            $profile = new se_user();
            $profile->user_info['user_id'] = $poll_info['user_id'];
            $profile->user_info['user_username'] = $poll_info['user_username'];
            $profile->user_info['user_fname'] = $poll_info['user_fname'];
            $profile->user_info['user_lname'] = $poll_info['user_lname'];
            $profile->user_info['user_photo'] = $poll_info['user_photo'];
            $profile->user_displayname();
            $result_url = $url->url_create('poll', $poll_info['user_username'], $poll_info['poll_id']);
            $result_name = 2500112;
            $result_desc = 2500113;
            // IF EMPTY TITLE
            if (!trim($poll_info['poll_title'])) {
                SE_Language::_preload(589);
                SE_Language::load();
                $poll_info['poll_title'] = SE_Language::_get(589);
            }
            $results[] = array('result_url' => $result_url, 'result_icon' => './images/icons/poll_poll48.gif', 'result_name' => $result_name, 'result_name_1' => $poll_info['poll_title'], 'result_desc' => $result_desc, 'result_desc_1' => $url->url_create('profile', $profile->user_info['user_username']), 'result_desc_2' => $profile->user_displayname, 'result_desc_3' => $poll_info['poll_desc']);
        }
        // SET TOTAL RESULTS
        $total_results = $total_polls;
    }
    // SET ARRAY VALUES
    SE_Language::_preload_multi(2500111, 2500112, 2500113);
    if ($total_polls > 200) {
        $total_polls = "200+";
    }
    $search_objects[] = array('search_type' => 'poll', 'search_lang' => 2500111, 'search_total' => $total_polls);
}
function search_documents()
{
    global $database, $url, $results_per_page, $p, $search_text, $t, $search_objects, $results, $total_results;
    // START TO QUERY BUILD
    $sql = "\r\n    SELECT\r\n      se_documents.document_id,\r\n      se_documents.document_title,\r\n      se_documents.document_slug,\r\n      se_documents.document_description,\r\n      se_users.user_id,\r\n      se_users.user_username,\r\n      se_users.user_photo,\r\n      se_users.user_fname,\r\n      se_users.user_lname\r\n    FROM\r\n      se_documents \r\n      INNER JOIN \r\n       se_users \r\n       ON se_documents.document_user_id=se_users.user_id\r\n      INNER JOIN\r\n       se_levels\r\n      ON se_users.user_level_id=se_levels.level_id \r\n      LEFT JOIN\r\n\t       se_document_tags\r\n\t       ON se_documents.document_id = se_document_tags.document_id\r\n\t    LEFT JOIN se_documenttags\r\n\t       ON se_document_tags.tag_id = se_documenttags.id  \r\n    WHERE\r\n\r\n      (\r\n        se_documents.document_search='1' ||\r\n        se_levels.level_document_search='0'\r\n      ) &&\r\n      (\r\n        document_title LIKE '%{$search_text}%' ||\r\n        document_description LIKE '%{$search_text}%' ||\r\n        document_fulltext LIKE '%{$search_text}%' ||\r\n        tag_name LIKE '%{$search_text}%'\r\n      )\r\n      &&\r\n      (\r\n        se_documents.document_approved='1'\r\n      )\r\n      &&\r\n      (\r\n        se_documents.document_publish='1'\r\n      )\r\n      &&\r\n      (\r\n        se_documents.document_status='1'\r\n      )\r\n     GROUP BY se_documents.document_id \r\n  ";
    // GET TOTAL DOCUMNETS
    $total_documents = $database->database_num_rows($database->database_query($sql . " LIMIT 201"));
    // IF NOT TOTAL ONLY
    if ($t == "document") {
        //  DOCUMENTS PAGES
        $start = ($p - 1) * $results_per_page;
        $limit = $results_per_page + 1;
        // SEARCH DOCUMENTS
        $sql .= " ORDER BY se_documents.document_id DESC LIMIT {$start}, {$limit}";
        $resource = $database->database_query($sql) or die($database->database_error());
        while ($document_info = $database->database_fetch_assoc($resource)) {
            // CREATE AN OBJECT FOR AUTHOR
            $profile = new se_user();
            $profile->user_info['user_id'] = $document_info['user_id'];
            $profile->user_info['user_username'] = $document_info['user_username'];
            $profile->user_info['user_fname'] = $document_info['user_fname'];
            $profile->user_info['user_lname'] = $document_info['user_lname'];
            $profile->user_info['user_photo'] = $document_info['user_photo'];
            $profile->user_displayname();
            $result_url = $url->url_create("document", $document_info['user_username'], $document_info['document_id'], $document_info['document_slug']);
            $result_name = 650003007;
            $result_desc = 650003008;
            $results[] = array('result_url' => $result_url, 'result_icon' => './images/icons/document60.gif', 'result_name' => $result_name, 'result_name_1' => $document_info['document_title'], 'result_desc' => $result_desc, 'result_desc_1' => $url->url_create('profile', $profile->user_info['user_username']), 'result_desc_2' => $profile->user_displayname, 'result_desc_3' => $document_info['document_description']);
        }
        // SET TOTAL RESULTS
        $total_results = $total_documents;
    }
    // SET ARRAY VALUES
    SE_Language::_preload_multi(650003009, 650003007, 650003008);
    if ($total_documents > 200) {
        $total_documents = "200+";
    }
    $search_objects[] = array('search_type' => 'document', 'search_lang' => 650003009, 'search_total' => $total_documents);
}
Example #5
0
    }
}
if ($task == "step2do") {
    // PROFILE FIELD INPUTS PROCESSED AND CHECKED FOR ERRORS ABOVE
    // IF THERE IS NO ERROR, ADD USER AND USER PROFILE AND CONTINUE TO STEP 3
    if ($is_error == 0) {
        $new_user->user_create($signup_email, $signup_username, $signup_password, $signup_timezone, $signup_lang, $signup_cat, $field->field_query);
        // INVITE CODE FEATURES
        if ($setting['setting_signup_invite'] != 0) {
            if ($setting['setting_signup_invite_checkemail'] != 0) {
                $invitation = $database->database_fetch_assoc($database->database_query("SELECT * FROM se_invites WHERE invite_code='{$signup_invite}' AND invite_email='{$signup_email}' LIMIT 1"));
            } else {
                $invitation = $database->database_fetch_assoc($database->database_query("SELECT * FROM se_invites WHERE invite_code='{$signup_invite}' LIMIT 1"));
            }
            // ADD USER TO INVITER'S FRIENDLIST
            $friend = new se_user(array($invitation['invite_user_id']));
            if ($friend->user_exists == 1) {
                if ($setting['setting_connection_allow'] == 3 || $setting['setting_connection_allow'] == 1 || $setting['setting_connection_allow'] == 2 && $new_user->user_info['user_subnet_id'] == $friend->user_info['user_subnet_id']) {
                    // SET RESULT, DIRECTION, STATUS
                    switch ($setting['setting_connection_framework']) {
                        case "0":
                            $direction = 2;
                            $friend_status = 0;
                            break;
                        case "1":
                            $direction = 1;
                            $friend_status = 0;
                            break;
                        case "2":
                            $direction = 2;
                            $friend_status = 1;
$actiontypes_disallowed = explode(",", $user->usersetting_info['usersetting_actions_dontpublish']);
$actiontypes_query = $database->database_query("SELECT * FROM se_actiontypes WHERE actiontype_enabled=1 AND actiontype_setting=1");
while ($actiontype = $database->database_fetch_assoc($actiontypes_query)) {
    // MAKE THIS ACTION TYPE SELECTED IF ITS NOT DISALLOWED BY USER
    $actiontype_selected = 1;
    if (in_array($actiontype['actiontype_id'], $actiontypes_disallowed)) {
        $actiontype_selected = 0;
    }
    SE_Language::_preload($actiontype['actiontype_desc']);
    $actiontypes_array[] = array('actiontype_id' => $actiontype['actiontype_id'], 'actiontype_selected' => $actiontype_selected, 'actiontype_desc' => $actiontype['actiontype_desc']);
}
// CREATE ARRAY OF BLOCKED USERS
if ($user->user_info['user_blocklist'] != "") {
    $blocked_users = $database->database_query("SELECT user_id, user_username, user_fname, user_lname, user_photo FROM se_users WHERE user_id IN('" . implode("','", array_filter(explode(",", $user->user_info['user_blocklist']))) . "')");
    while ($block = $database->database_fetch_assoc($blocked_users)) {
        $block_user = new se_user();
        $block_user->user_info['user_id'] = $block['user_id'];
        $block_user->user_info['user_username'] = $block['user_username'];
        $block_user->user_info['user_photo'] = $block['user_photo'];
        $block_user->user_info['user_fname'] = $block['user_fname'];
        $block_user->user_info['user_lname'] = $block['user_lname'];
        $block_user->user_displayname();
        $block_array[] = $block_user;
    }
}
// GET PREVIOUS PRIVACY SETTINGS
for ($c = 0; $c < count($level_profile_privacy); $c++) {
    if (user_privacy_levels($level_profile_privacy[$c]) != "") {
        SE_Language::_preload(user_privacy_levels($level_profile_privacy[$c]));
        $privacy_options[$level_profile_privacy[$c]] = user_privacy_levels($level_profile_privacy[$c]);
    }
}
// RESEND EMAIL
if ($task == "resend_do") {
    $resend = 1;
    $resend_email = $_POST['resend_email'];
    $user_query = $database->database_query("SELECT user_id, user_email, user_code, user_username, user_fname, user_lname, user_verified, user_newemail FROM se_users WHERE user_newemail='{$resend_email}'");
    // VERIFY USER EXISTS
    if ($database->database_num_rows($user_query) != 1) {
        $is_error = 1038;
        $user_info['user_code'] = "";
        $user_info['user_email'] = "";
        $user_info['user_newemail'] = "";
        $user_info['user_verified'] = "";
    } else {
        $user_info = $database->database_fetch_assoc($user_query);
        $thisuser = new se_user();
        $thisuser->user_exists = 1;
        $thisuser->user_info['user_id'] = $user_info['user_id'];
        $thisuser->user_info['user_username'] = $user_info['user_username'];
        $thisuser->user_info['user_fname'] = $user_info['user_fname'];
        $thisuser->user_info['user_lname'] = $user_info['user_lname'];
        $thisuser->user_info['user_email'] = $user_info['user_email'];
        $thisuser->user_info['user_newemail'] = $user_info['user_newemail'];
        $thisuser->user_info['user_code'] = $user_info['user_code'];
        $thisuser->user_displayname();
    }
    // VERIFY USER IS NOT ALREADY VERIFIED
    if ($user_info['user_verified'] == 1 && $user_info['user_email'] == $user_info['user_newemail']) {
        $is_error = 1044;
    }
    // NO ERROR, RESEND EMAIL
Example #8
0
  function load_se_user()
  { 	
		$user = new se_user();
		$user->user_exists = 1;
		$user->user_info = $this->getProperties();
    $this->se_user = $user;
    $this->se_user->user_displayname();
    $this->user_displayname_short = $this->se_user->user_displayname_short;
    $this->user_displayname = $this->se_user->user_displayname;
    return $this->se_user;
  }
Example #9
0
// CHECK FOR SECOND PAGE OWNER
if (isset($_POST['user2'])) {
    $user2_username = $_POST['user2'];
} elseif (isset($_GET['user2'])) {
    $user2_username = $_GET['user2'];
} else {
    $user2_username = "";
}
if (isset($_POST['user2_id'])) {
    $user2_id = $_POST['user2_id'];
} elseif (isset($_GET['user2_id'])) {
    $user2_id = $_GET['user2_id'];
} else {
    $user2_id = "";
}
$owner2 = new se_user(array($user2_id, $user2_username));
// DISPLAY ERROR PAGE IF USER IS NOT LOGGED IN AND ADMIN SETTING REQUIRES REGISTRATION
if ($user->user_exists == 0 && $setting['setting_permission_profile'] == 0) {
    exit;
}
// DISPLAY ERROR PAGE IF NO OWNER
if ($owner->user_exists == 0 || $owner2->user_exists == 0) {
    exit;
}
// GET PRIVACY LEVEL FOR OWNER 1
$privacy_max = $owner->user_privacy_max($user);
$is_profile_private = 0;
if (!($privacy_max & $owner->user_info['user_privacy'])) {
    exit;
}
// GET PRIVACY LEVEL FOR OWNER 2
Example #10
0
        if (count($usersettings) > 0) {
            $database->database_query("UPDATE se_usersettings SET " . implode(", ", $usersettings) . " WHERE usersetting_user_id='{$user->user_info['user_id']}' LIMIT 1");
            // Flush cached usersettings
            $usersettings_static =& SEUser::getUserSettings($user->user_info['user_id']);
            $usersettings_static = NULL;
            $cache_object = SECache::getInstance();
            if (is_object($cache_object)) {
                $cache_object->remove('site_user_settings_' . $user->user_info['user_id']);
            }
        }
        // IF USERNAME HAS CHANGED, DELETE OLD RECENT ACTIVITY
        if ($user->user_info['user_username'] != $user_username) {
            $database->database_query("DELETE FROM se_actions WHERE action_user_id='{$user->user_info['user_id']}'");
        }
        // RESET USER INFO
        $user = new se_user(array($user->user_info['user_id']));
        // UPDATE COOKIES
        $user->user_setcookies();
    }
}
// GET PROFILE CATEGORIES
$field = new se_field("profile");
$field->cat_list(0, 0, 0, "profilecat_signup='1' || profilecat_id='{$user->user_info['user_profilecat_id']}'", "profilecat_id='0'", "");
// ASSIGN VARIABLES AND INCLUDE FOOTER
$smarty->assign('result', $result);
$smarty->assign('is_error', $is_error);
$smarty->assign('cats', $field->cats);
$smarty->assign('notifytypes', $notifytypes);
$smarty->assign('old_subnet_name', $subnet[2]);
$smarty->assign('new_subnet_name', $subnet[1]);
include "footer.php";
Example #11
0
// IF LOGGED IN, SET COOKIE TO SIGNAL FORUM IS "READ"
if ($user->user_exists) {
    setcookie("forum_{$user->user_info[user_id]}_{$forum_info[forum_id]}", time(), time() + 99999999, "/");
}
// GET TOTAL TOPICS
$total_topics = $forum_info[forum_totaltopics];
// MAKE TOPIC PAGES
$topics_per_page = 25;
$page_vars = make_page($total_topics, $topics_per_page, $p);
// SET TOPIC ARRAY
$topic_array = $forum->forum_topic_list($forum_info[forum_id], $page_vars[0], $topics_per_page);
// GET MODERATORS
$mod_array = array();
$mods = $database->database_query("SELECT se_users.user_id, se_users.user_username, se_users.user_fname, se_users.user_lname FROM se_forummoderators LEFT JOIN se_users ON se_forummoderators.forummoderator_user_id=se_users.user_id WHERE se_forummoderators.forummoderator_forum_id='{$forum_info['forum_id']}' AND se_users.user_id IS NOT NULL");
while ($user_info = $database->database_fetch_assoc($mods)) {
    $mod_user = new se_user();
    $mod_user->user_info[user_id] = $user_info[user_id];
    $mod_user->user_info[user_username] = $user_info[user_username];
    $mod_user->user_info[user_fname] = $user_info[user_fname];
    $mod_user->user_info[user_lname] = $user_info[user_lname];
    $mod_user->user_displayname();
    $mod_array[] = $mod_user;
}
// ASSIGN SMARTY VARS AND INCLUDE FOOTER
$smarty->assign('forum_info', $forum_info);
$smarty->assign('topics', $topic_array);
$smarty->assign('moderators', $mod_array);
$smarty->assign('forum_permission', $forum_permission);
$smarty->assign('p', $page_vars[1]);
$smarty->assign('maxpage', $page_vars[2]);
include "footer.php";
Example #12
0
 function documents_list($start, $limit, $sort_by = "created DESC", $where = "", $document_details = 0)
 {
     global $database, $user;
     // START THE SQL QUERY
     $sql = "\r\n      SELECT\r\n        se_documents.*,\r\n        se_documents.document_totalcomments AS total_comments,\r\n        se_document_categories.category_name,\r\n        se_document_categories.category_id\r\n    ";
     // SELECT USER  DETAIL OF DOCUMENT IF REQUIRED
     if ($document_details == 1) {
         $sql .= ",\r\n        se_users.user_id,\r\n        se_users.user_username,\r\n        se_users.user_photo,\r\n        se_users.user_fname,\r\n        se_users.user_lname\r\n    ";
     }
     // ADD FROM TABLE
     $sql .= "\r\n      FROM\r\n        se_documents\r\n    ";
     if ($document_details == 1) {
         $sql .= "\r\n      LEFT JOIN\r\n        se_users\r\n        ON se_documents.document_user_id=se_users.user_id\r\n    ";
     }
     // JOIN WITH THE CATEGORIES TABLE
     $sql .= "\r\n\t     LEFT JOIN\r\n\t       se_document_categories\r\n\t       ON se_documents.document_category_id = se_document_categories.category_id\r\n\t  ";
     // JOIN WITH THE TAGS TABLE
     $sql .= "\r\n\t    LEFT JOIN\r\n\t       se_document_tags\r\n\t       ON se_documents.document_id = se_document_tags.document_id\r\n\t    LEFT JOIN se_documenttags\r\n\t       ON se_document_tags.tag_id = se_documenttags.id\r\n\t     ";
     // ADD WHERE STATMENT IF REQUIRED
     if ($where != "" | $this->user_id != 0) {
         $sql .= "\r\n      WHERE\r\n    ";
     }
     // CHECK FOR USER ID
     if ($this->user_id != 0) {
         $sql .= "\r\n        se_documents.document_user_id='{$this->user_id}'\r\n    ";
     }
     // ADD AND STATMENT IF REQUIRED
     if ($this->user_id != 0 & $where != "") {
         $sql .= " AND";
     }
     // ADD WHERE CONDITION, IF REQUIRED
     if ($where != "") {
         $sql .= "\r\n        {$where}\r\n    ";
     }
     // ADD ORDER, AND LIMIT CLAUSE
     $sql .= "\r\n\t    GROUP BY\r\n\t      se_documents.document_id\r\n      ORDER BY\r\n        {$sort_by}\r\n      LIMIT\r\n        {$start}, {$limit}\r\n    ";
     $resource = $database->database_query($sql) or die($database->database_error() . " SQL: " . $sql);
     $document_array = array();
     while ($document_info = $database->database_fetch_assoc($resource)) {
         // CREATE OBJECT FOR DOCUMENT
         $document = new Document(null, null, $document_info['user_id']);
         $document->document_exists = TRUE;
         // CREATE OBJECT FOR DOCUMENT CREATOR IF DOCUMENT DETAILS
         if ($document_details) {
             $document_creator = new se_user();
             $document_creator->user_exists = TRUE;
             $document_creator->user_info['user_id'] = $document_info['user_id'];
             $document_creator->user_info['user_username'] = $document_info['user_username'];
             $document_creator->user_info['user_photo'] = $document_info['user_photo'];
             $document_creator->user_info['user_fname'] = $document_info['user_fname'];
             $document_creator->user_info['user_lname'] = $document_info['user_lname'];
             $document_creator->user_displayname();
             $document->document_owner =& $document_creator;
             unset($document_creator);
         }
         //CHECKING IF THE ASSOCIATED CATEGORY HAS A MAIN CATEGORY
         $main_cat = $database->database_fetch_assoc($database->database_query("SELECT t2.category_id, t2.category_name FROM se_document_categories as t1 INNER JOIN se_document_categories t2 ON t1.cat_dependency = t2.category_id WHERE t1.category_id = '{$document_info['category_id']}'"));
         if (!empty($main_cat)) {
             $document_info['main_cat'] = $main_cat;
         }
         //GETTING THE TAGS ASSOCIATED WITH THE DOCUMENT
         $tag_array = array();
         $query = "SELECT tag_name FROM se_document_tags INNER JOIN se_documenttags ON se_document_tags.tag_id = se_documenttags.id WHERE se_document_tags.document_id = '{$document_info['document_id']}'";
         $result = $database->database_query($query);
         while ($info = $database->database_fetch_assoc($result)) {
             $tag_array[] = $info['tag_name'];
         }
         $document_info['tags'] = $tag_array;
         $document->document_info = $document_info;
         $document_array[] = $document;
     }
     // RETURN ARRAY
     return $document_array;
 }
function userconnection_users_information($path_array)
{
    global $setting, $database, $user;
    $path = NULL;
    // CACHING
    $cache_object = SECache::getInstance('serial');
    if (is_object($cache_object)) {
        $path = $cache_object->get('shortest_path');
    }
    // RETRIEVAL
    if (!is_array($path)) {
        // HERE WE WILL TAKE ALL USER ID'S IN A SINGLE VARIABLE $USERS_ID
        $users_id = implode(",", $path_array);
        $id = $user->user_info['user_id'];
        $sql = "SELECT user_id, user_username, user_fname, user_lname, user_photo, user_lastlogindate, user_dateupdated FROM se_users WHERE ((user_verified='1' AND user_enabled='1' AND user_search='1') OR (user_id = '{$id}')) AND user_id IN ({$users_id}) ";
        $resource = $database->database_query($sql);
        $path = array();
        while ($user_info = $database->database_fetch_assoc($resource)) {
            $shortest_user = new se_user();
            $shortest_user->user_info['user_id'] = $user_info['user_id'];
            $shortest_user->user_info['user_username'] = $user_info['user_username'];
            $shortest_user->user_info['user_photo'] = $user_info['user_photo'];
            $shortest_user->user_info['user_fname'] = $user_info['user_fname'];
            $shortest_user->user_info['user_lname'] = $user_info['user_lname'];
            $shortest_user->user_info['user_lastlogindate'] = $user_info['user_lastlogindate'];
            $shortest_user->user_info['user_dateupdated'] = $user_info['user_dateupdated'];
            $shortest_user->user_displayname();
            $path[$user_info['user_id']] =& $shortest_user;
            unset($shortest_user);
        }
        //
        foreach ($path_array as $l) {
            if (!empty($path[$l])) {
                $new_user_array[] = $path[$l];
            }
        }
        // CACHE
        if (is_object($cache_object)) {
            $cache_object->store($path, 'shortest_path');
        }
    }
    return $new_user_array;
}
Example #14
0
 function poll_list($start, $limit, $sort_by = "poll_id DESC", $where = "", $poll_details = 0)
 {
     global $database, $user;
     // BEGIN QUERY
     $sql = "\r\n      SELECT\r\n        se_polls.*,\r\n        se_polls.poll_totalcomments AS total_comments\r\n    ";
     // SELECT RELEVANT poll DETAILS IF NECESSARY
     if ($poll_details == 1) {
         $sql .= ",\r\n        se_users.user_id,\r\n        se_users.user_username,\r\n        se_users.user_photo,\r\n        se_users.user_fname,\r\n        se_users.user_lname\r\n    ";
     }
     // CONTINUE QUERY
     $sql .= "\r\n      FROM\r\n        se_polls\r\n    ";
     // CONTINUE QUERY IF NECESSARY
     if ($poll_details == 1) {
         $sql .= "\r\n      LEFT JOIN\r\n        se_users\r\n        ON se_polls.poll_user_id=se_users.user_id\r\n    ";
     }
     // ADD WHERE IF NECESSARY
     if ($where != "" | $this->user_id != 0) {
         $sql .= "\r\n      WHERE\r\n    ";
     }
     // ENSURE USER ID IS NOT EMPTY
     if ($this->user_id != 0) {
         $sql .= "\r\n        poll_user_id='{$this->user_id}'\r\n    ";
     }
     // INSERT AND IF NECESSARY
     if ($this->user_id != 0 & $where != "") {
         $sql .= " AND";
     }
     // ADD WHERE CLAUSE, IF NECESSARY
     if ($where != "") {
         $sql .= "\r\n        {$where}\r\n    ";
     }
     // ADD ORDER, AND LIMIT CLAUSE
     $sql .= "\r\n      ORDER BY\r\n        {$sort_by}\r\n      LIMIT\r\n        {$start}, {$limit}\r\n    ";
     // RUN QUERY
     $resource = $database->database_query($sql) or die($database->database_error() . " SQL: " . $sql);
     // GET pollS INTO AN ARRAY
     $poll_array = array();
     while ($poll_info = $database->database_fetch_assoc($resource)) {
         // CREATE OBJECT FOR poll
         $poll = new se_poll($poll_info['user_id']);
         $poll->poll_exists = TRUE;
         // CREATE OBJECT FOR poll CREATOR IF poll DETAILS
         if ($poll_details) {
             $creator = new se_user();
             $creator->user_exists = TRUE;
             $creator->user_info['user_id'] = $poll_info['user_id'];
             $creator->user_info['user_username'] = $poll_info['user_username'];
             $creator->user_info['user_photo'] = $poll_info['user_photo'];
             $creator->user_info['user_fname'] = $poll_info['user_fname'];
             $creator->user_info['user_lname'] = $poll_info['user_lname'];
             $creator->user_displayname();
             $poll->poll_owner =& $creator;
             unset($creator);
         }
         // TURN OPTIONS AND ANSWERS INTO ARRAYS, GET TOTAL VOTES
         $poll_info['poll_options'] = unserialize($poll_info['poll_options']);
         $poll_info['poll_answers'] = unserialize($poll_info['poll_answers']);
         $poll_info['poll_voted'] = unserialize($poll_info['poll_voted']);
         // GET IF THIS POLL HAS BEEN VOTED ON
         if (!$user->user_exists || in_array($user->user_info['user_id'], $poll_info['poll_voted'])) {
             $poll_info['poll_viewonly'] = TRUE;
         } else {
             $poll_info['poll_viewonly'] = FALSE;
         }
         // PRIVACY
         $poll_info['poll_privacy_lang'] = user_privacy_levels($poll_info['poll_privacy']);
         SE_Language::_preload($poll_info['poll_privacy_lang']);
         $poll->poll_info = $poll_info;
         $poll_array[] = $poll;
     }
     // RETURN ARRAY
     return $poll_array;
 }
Example #15
0
$allowed_to_comment = $privacy_max & $group->group_info['group_comments'];
// GET MEDIA COMMENTS
$comment = new se_comment('groupmedia', 'groupmedia_id', $media_info['groupmedia_id']);
$total_comments = $comment->comment_total();
// UPDATE ALBUM VIEWS
$album_views_new = ++$media_info['groupalbum_views'];
$database->database_query("UPDATE se_groupalbums SET groupalbum_views=groupalbum_views+1 WHERE groupalbum_id='{$media_info['groupalbum_id']}' LIMIT 1");
// UPDATE NOTIFICATIONS
if ($user->user_info['user_id'] == $group->group_info['group_user_id']) {
    $database->database_query("DELETE FROM se_notifys USING se_notifys LEFT JOIN se_notifytypes ON se_notifys.notify_notifytype_id=se_notifytypes.notifytype_id WHERE se_notifys.notify_user_id='{$user->user_info['user_id']}' AND (se_notifytypes.notifytype_name='groupmediacomment' OR se_notifytypes.notifytype_name='groupmediatag' OR se_notifytypes.notifytype_name='newgrouptag') AND notify_object_id='{$media_info['groupmedia_id']}'");
}
// RETRIEVE TAGS FOR THIS PHOTO
$tag_array = array();
$tags = $database->database_query("SELECT se_groupmediatags.*, se_users.user_id, se_users.user_username, se_users.user_fname, se_users.user_lname FROM se_groupmediatags LEFT JOIN se_users ON se_groupmediatags.groupmediatag_user_id=se_users.user_id WHERE groupmediatag_groupmedia_id='{$media_info['groupmedia_id']}' ORDER BY groupmediatag_id ASC");
while ($tag = $database->database_fetch_assoc($tags)) {
    $taggeduser = new se_user();
    if ($tag['user_id']) {
        $taggeduser->user_exists = TRUE;
        $taggeduser->user_info['user_id'] = $tag['user_id'];
        $taggeduser->user_info['user_username'] = $tag['user_username'];
        $taggeduser->user_info['user_fname'] = $tag['user_fname'];
        $taggeduser->user_info['user_lname'] = $tag['user_lname'];
        $taggeduser->user_displayname();
    } else {
        $taggeduser->user_exists = FALSE;
    }
    $tag['tagged_user'] = $taggeduser;
    $tag_array[] = $tag;
}
// SET GROUP OWNER (OR EDITOR)
if ($group->user_rank == 2 || $group->user_rank == 1) {
Example #16
0
// GET NEWS ITEMS
$news_array = site_news();
$smarty->assign_by_ref('news', $news_array);
// RETRIEVE VIEWS AND VIEWERS IF NECESSARY
$profile_views = 0;
$profile_viewers = array();
$view_query = $database->database_query("SELECT profileview_views, profileview_viewers FROM se_profileviews WHERE profileview_user_id='{$user->user_info['user_id']}'");
if ($database->database_num_rows($view_query) == 1) {
    $views = $database->database_fetch_assoc($view_query);
    $profile_views = $views['profileview_views'];
    if ($views['profileview_viewers'] == "") {
        $views['profileview_viewers'] = "''";
    }
    $viewer_query = $database->database_query("SELECT user_id, user_username, user_fname, user_lname FROM se_users WHERE user_id IN ({$views['profileview_viewers']})");
    while ($viewer_info = $database->database_fetch_assoc($viewer_query)) {
        $viewer = new se_user();
        $viewer->user_info['user_id'] = $viewer_info['user_id'];
        $viewer->user_info['user_username'] = $viewer_info['user_username'];
        $viewer->user_info['user_fname'] = $viewer_info['user_fname'];
        $viewer->user_info['user_lname'] = $viewer_info['user_lname'];
        $viewer->user_displayname();
        // SET PROFILE VIEWERS
        $profile_viewers[] = $viewer;
    }
    $profile_viewers_array = explode(",", $views['profileview_viewers']);
    usort($profile_viewers, create_function('$a,$b', 'global $profile_viewers_array; if(array_search($a->user_info["user_id"], $profile_viewers_array) == array_search($b->user_info["user_id"], $profile_viewers_array)) { return 0; } else { return (array_search($a->user_info["user_id"], $profile_viewers_array) < array_search($b->user_info["user_id"], $profile_viewers_array)) ? -1 : 1; }'));
}
// CREATE ARRAY OF ACTION TYPES
$actiontypes_array = $actions->actions_allowed();
$smarty->assign_by_ref('actiontypes', $actiontypes_array);
// GET UPCOMING BIRTHDAYS, START BY CHECKING FOR BIRTHDAY PROFILE FIELDS
Example #17
0
    }
    exit;
} elseif ($task == "eventmemberinvite") {
    if ($user->user_exists && is_array($invites) && !empty($invites) && ($invites_sent = $event->event_member_invite($invites))) {
        echo json_encode(array('result' => TRUE, 'invites_sent' => $invites_sent));
    } else {
        echo json_encode(array('result' => FALSE, 'error' => SE_Language::get($event->is_error)));
    }
    exit;
} elseif ($task == "getfriends") {
    $results = array();
    //$sql = "SELECT user_id, user_username, user_fname, user_lname FROM se_friends LEFT JOIN se_users ON se_friends.friend_user_id2=se_users.user_id LEFT JOIN se_levels ON se_users.user_level_id=se_levels.level_id LEFT JOIN se_eventmembers ON se_users.user_id=se_eventmembers.eventmember_user_id AND se_eventmembers.eventmember_event_id={$event->event_info[event_id]} WHERE se_friends.friend_status=1 AND se_friends.friend_user_id1='{$user->user_info['user_id']}' AND se_eventmembers.eventmember_id IS NULL ORDER BY user_fname, user_lname, user_username";
    $sql = "SELECT user_id, user_username, user_fname, user_lname FROM se_friends LEFT JOIN se_users ON se_friends.friend_user_id2=se_users.user_id LEFT JOIN se_levels ON se_users.user_level_id=se_levels.level_id LEFT JOIN se_eventmembers ON se_users.user_id=se_eventmembers.eventmember_user_id AND se_eventmembers.eventmember_event_id={$event->event_info[event_id]} WHERE (se_levels.level_event_allow & 2) AND se_friends.friend_status=1 AND se_friends.friend_user_id1='{$user->user_info['user_id']}' AND se_eventmembers.eventmember_id IS NULL ORDER BY user_fname, user_lname, user_username";
    $resource = $database->database_query($sql);
    while ($friend_info = $database->database_fetch_assoc($resource)) {
        $friend = new se_user();
        $friend->user_info['user_id'] = $friend_info['user_id'];
        $friend->user_info['user_username'] = $friend_info['user_username'];
        $friend->user_info['user_fname'] = $friend_info['user_fname'];
        $friend->user_info['user_lname'] = $friend_info['user_lname'];
        $friend->user_displayname();
        $results[$friend_info['user_id']] = $friend->user_displayname;
    }
    // OUTPUT JSON
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    // Date in the past
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    // always modified
    header("Cache-Control: no-cache, must-revalidate");
    // HTTP/1.1
    header("Pragma: no-cache");
Example #18
0
 function forum_post_new($forum_id, $topic_id, $topic_title, $post_body, $new_topic = false)
 {
     global $database, $user, $actions, $notify, $url;
     $is_error = 0;
     $nowdate = time();
     // SET ERRORS
     if (trim(str_replace("&lt;p&gt;", "", str_replace("&lt;/p&gt;", "", $post_body))) == "") {
         $is_error = 6000067;
     }
     // IF NO ERROR, ADD POST
     if ($is_error == 0) {
         // UPLOAD FORUM MEDIA
         $forummedia_id = $this->forum_media_new($topic_id);
         // CLEAN, CENSOR, ETC
         $post_body = $this->forum_bbcode_parse_clean($post_body);
         // CREATE EXCERPT
         $excerpt = $this->forum_excerpt($post_body);
         // INSERT INTO FORUM POST TABLE
         $database->database_query("INSERT INTO se_forumposts (forumpost_forumtopic_id, forumpost_authoruser_id, forumpost_date, forumpost_excerpt, forumpost_body, forumpost_forummedia_id) VALUES ('{$topic_id}', '{$user->user_info[user_id]}', '{$nowdate}', '{$excerpt}', '{$post_body}', '{$forummedia_id}')") or die(mysql_error());
         $forumpost_id = $database->database_insert_id();
         // IF NEW TOPIC, UPDATE FORUM TABLE
         if ($new_topic) {
             $database->database_query("UPDATE se_forums SET forum_totaltopics=forum_totaltopics+1 WHERE forum_id='{$forum_id}'");
             // IF REPLY, UPDATE FORUM AND FORUMTOPIC TABLE
         } else {
             $database->database_query("UPDATE se_forums SET forum_totalreplies=forum_totalreplies+1 WHERE forum_id='{$forum_id}'");
             $database->database_query("UPDATE se_forumtopics SET forumtopic_date='{$nowdate}', forumtopic_totalreplies=forumtopic_totalreplies+1 WHERE forumtopic_id='{$topic_id}' AND forumtopic_forum_id='{$forum_id}'");
             // ADD ACTION
             if ($user->user_exists) {
                 $actions->actions_add($user, "forumpost", array($user->user_info['user_username'], $user->user_displayname, $forum_id, $topic_id, $topic_title, $forumpost_id, $excerpt), array(), 0, false, 'forum', $forum_id, 0);
             }
             // SEND NOTIFICATION
             if ($user->user_exists) {
                 $poster = $user->user_displayname;
             } else {
                 $poster = SE_Language::get(835);
             }
             // SEND REPLY NOTIFICATION
             $topic_starter = $database->database_fetch_assoc($database->database_query("SELECT se_forumposts.forumpost_authoruser_id FROM se_forumposts WHERE forumpost_forumtopic_id='{$topic_id}' ORDER BY forumpost_id ASC LIMIT 1"));
             if ($topic_starter['forumpost_authoruser_id'] != $user->user_info['user_id']) {
                 $starter = new se_user(array($topic_starter['forumpost_authoruser_id']));
                 if ($starter->user_exists) {
                     $notifytype = $notify->notify_add($starter->user_info[user_id], 'forumreply', $topic_id, array($forum_id, $topic_id, $forumpost_id), array($topic_title));
                     $object_url = $url->url_base . vsprintf($notifytype[notifytype_url], array($forum_id, $topic_id, $forumpost_id));
                     $starter->user_settings();
                     if ($starter->usersetting_info['usersetting_notify_forumreply']) {
                         send_systememail("forumreply", $starter->user_info['user_email'], array($starter->user_displayname, $poster, $topic_title, "<a href=\"{$object_url}\">{$object_url}</a>"));
                     }
                 }
             }
         }
         // UPDATE USER'S TOTAL POSTS
         $database->database_query("INSERT INTO se_forumusers (forumuser_user_id, forumuser_totalposts) VALUES ('{$user->user_info[user_id]}', 1) ON DUPLICATE KEY UPDATE forumuser_totalposts=forumuser_totalposts+1") or die(mysql_error());
     }
     return array('is_error' => $is_error, 'post_id' => $forumpost_id);
 }
Example #19
0
 function get_users($user_ids)
 {
     if (!$user_ids) {
         return array();
     }
     $user_ids_str = implode(',', $user_ids);
     $sql = "SELECT `user_id`, `user_username`, `user_fname`, `user_lname`, `user_photo` FROM `se_users`\r\n        \tWHERE `user_id` IN ({$user_ids_str})";
     $user_list = array();
     $res = he_database::query($sql);
     while ($row = he_database::fetch_row_from_resource($res)) {
         $author = new se_user();
         $author->user_exists = 1;
         $author->user_info['user_id'] = $row['user_id'];
         $author->user_info['user_username'] = $row['user_username'];
         $author->user_info['user_fname'] = $row['user_fname'];
         $author->user_info['user_lname'] = $row['user_lname'];
         $author->user_info['user_photo'] = $row['user_photo'];
         $author->user_displayname();
         $user_list[$row['user_id']] = $author;
     }
     return $user_list;
 }
Example #20
0
// CALL TAG HOOK
($hook = SE_Hook::exists('se_mediatag')) ? SE_Hook::call($hook, array()) : NULL;
// GET TOTAL PHOTOS
$total_files = $database->database_num_rows($database->database_query($photo_query));
// ADD TO PHOTO QUERY
$photo_query .= " ORDER BY mediatag_date DESC";
// MAKE MEDIA PAGES
$page_vars = make_page($total_files, $media_per_page, $p);
// RUN TAG QUERY
$media = $database->database_query($photo_query);
// GET MEDIA INTO AN ARRAY
$file_array = array();
while ($media_info = $database->database_fetch_assoc($media)) {
    // CREATE OBJECT FOR AUTHOR, IF EXISTS
    if ($media_info['user_id'] != '0') {
        $author = new se_user();
        $author->user_exists = 1;
        $author->user_info['user_id'] = $media_info['user_id'];
        $author->user_info['user_username'] = $media_info['user_username'];
        $author->user_info['user_fname'] = $media_info['user_fname'];
        $author->user_info['user_lname'] = $media_info['user_lname'];
        $author->user_displayname();
    } else {
        $author = new se_user();
        $author->user_exists = 0;
    }
    $media_info['author'] = $author;
    $file_array[] = $media_info;
}
// SET GLOBAL PAGE TITLE
$global_page_title[0] = 1204;
Example #21
0
 function album_media_list($start, $limit, $sort_by = "media_id DESC", $where = "", $select = "")
 {
     global $database, $user, $owner;
     // BEGIN QUERY
     $sql = "\r\n      SELECT\r\n        se_media.*,\r\n        se_albums.album_id,\r\n        se_albums.album_user_id,\r\n        se_albums.album_title,\r\n        se_media.media_totalcomments AS total_comments\r\n    ";
     // IF NO USER ID SPECIFIED, RETRIEVE USER INFORMATION
     if (!$this->user_id) {
         $sql .= ",\r\n        se_users.user_id,\r\n        se_users.user_username,\r\n        se_users.user_photo,\r\n        se_users.user_fname,\r\n        se_users.user_lname\r\n    ";
     }
     // ADD ADDITIONAL SELECTS
     if (!empty($select)) {
         $sql .= $select;
     }
     // CONTINUE QUERY
     $sql .= "\r\n      FROM\r\n        se_media\r\n      LEFT JOIN\r\n        se_albums\r\n        ON se_albums.album_id=se_media.media_album_id\r\n    ";
     // IF NO USER ID SPECIFIED, JOIN TO USER TABLE
     if (!$this->user_id) {
         $sql .= "\r\n      LEFT JOIN\r\n        se_users\r\n        ON se_albums.album_user_id=se_users.user_id\r\n    ";
     }
     // ADD WHERE IF NECESSARY
     if (!empty($where) || $this->user_id) {
         $sql .= "\r\n      WHERE\r\n    ";
     }
     // ENSURE USER ID IS NOT EMPTY
     if ($this->user_id) {
         $sql .= "\r\n        album_user_id='{$this->user_id}'\r\n    ";
     }
     // INSERT AND IF NECESSARY
     if ($this->user_id && !empty($where)) {
         $sql .= " AND";
     }
     // ADD WHERE CLAUSE, IF NECESSARY
     if (!empty($where)) {
         $sql .= "\r\n      {$where}\r\n    ";
     }
     // ADD GROUP BY, ORDER, AND LIMIT CLAUSE
     $sql .= "\r\n      ORDER BY\r\n        {$sort_by}\r\n      LIMIT\r\n        {$start}, {$limit}\r\n    ";
     // RUN QUERY
     $resource = $database->database_query($sql);
     // GET MEDIA INTO AN ARRAY
     $media_array = array();
     while ($media_info = $database->database_fetch_assoc($resource)) {
         // IF NO USER ID SPECIFIED, CREATE OBJECT FOR AUTHOR
         if (!$this->user_id) {
             $author = new se_user();
             $author->user_exists = TRUE;
             $author->user_info['user_id'] = $media_info['user_id'];
             $author->user_info['user_username'] = $media_info['user_username'];
             $author->user_info['user_photo'] = $media_info['user_photo'];
             $author->user_info['user_fname'] = $media_info['user_fname'];
             $author->user_info['user_lname'] = $media_info['user_lname'];
             $author->user_displayname();
         } elseif ($owner->user_exists && $owner->user_info['user_id'] == $media_info['album_user_id']) {
             $author =& $owner;
         } elseif ($user->user_exists && $user->user_info['user_id'] == $media_info['album_user_id']) {
             $author =& $user;
         }
         $media_info['media_author'] =& $author;
         // BACKWARDS COMPAT
         $media_info['media_comments_total'] = $media_info['total_comments'];
         $media_info['media_desc'] = str_replace("<br>", "\r\n", $media_info['media_desc']);
         // CREATE ARRAY OF MEDIA DATA
         $media_array[] = $media_info;
         unset($media_info, $author);
     }
     // RETURN ARRAY
     return $media_array;
 }
 $user_username = $_POST['user_username'];
 $user_password = $_POST['user_password'];
 $user_enabled = $_POST['user_enabled'];
 $user_level_id = $_POST['user_level_id'];
 $user_profilecat_id = $_POST['user_profilecat_id'];
 $user_invitesleft = $_POST['user_invitesleft'];
 // VERIFY USER DETAILS
 $user->user_account($user_email, $user_username);
 $is_error = $user->is_error;
 // VERIFY USER PASSWORD (MUST CREATE NEW USER OBJECT SINCE NO OLD PASSWORD IS SPECIFIED)
 if ($user_password == "") {
     $password = "******";
 } else {
     $password = $user_password;
 }
 $new_user = new se_user();
 $new_user->user_password('', $password, $password, 0);
 if ($is_error == 0) {
     $is_error = $new_user->is_error;
 }
 // CHECK THAT INVITES LEFT IS BETWEEN 0 AND 999
 if (!is_numeric($user_invitesleft) || $user_invitesleft > 999) {
     $is_error = 1142;
 }
 // SAVE CHANGES IF NO ERROR
 if ($is_error == 0) {
     // SET RESULT
     $result = 191;
     // SET SUBNETWORK
     if ($user_email != $user->user_info[user_email] && ($setting[setting_subnet_field1_id] == 0 || $setting[setting_subnet_field2_id] == 0) || $user_profilecat_id != $user->user_info[user_profilecat_id] && ($setting[setting_subnet_field1_id] == -1 || $setting[setting_subnet_field2_id] == -1)) {
         $subnet = $user->user_subnet_select($user_email, $user_profilecat_id, $user->profile_info);
Example #23
0
$signups_query = $database->database_query("SELECT user_id, user_username, user_fname, user_lname, user_photo FROM se_users WHERE user_subnet_id='{$n}' AND user_verified='1' AND user_enabled='1' AND user_search='1' ORDER BY user_signupdate DESC LIMIT 20");
$signup_array = array();
while ($signup = $database->database_fetch_assoc($signups_query)) {
    $signup_user = new se_user();
    $signup_user->user_info['user_id'] = $signup['user_id'];
    $signup_user->user_info['user_username'] = $signup['user_username'];
    $signup_user->user_info['user_photo'] = $signup['user_photo'];
    $signup_user->user_info['user_fname'] = $signup['user_fname'];
    $signup_user->user_info['user_lname'] = $signup['user_lname'];
    $signup_user->user_displayname();
    $signup_array[] = $signup_user;
}
// GET RECENT STATUS UPDATES
$statuses = $database->database_query("SELECT user_id, user_username, user_fname, user_lname, user_status FROM se_users WHERE user_subnet_id='{$n}' AND user_id<>'{$user->user_info['user_id']}' AND user_status<>'' ORDER BY user_status_date DESC LIMIT 10");
while ($status = $database->database_fetch_assoc($statuses)) {
    $status_user = new se_user();
    $status_user->user_info['user_id'] = $status['user_id'];
    $status_user->user_info['user_username'] = $status['user_username'];
    $status_user->user_info['user_fname'] = $status['user_fname'];
    $status_user->user_info['user_lname'] = $status['user_lname'];
    $status_user->user_displayname();
    $statuses_array[] = array('status_user_id' => $status['user_id'], 'status_user_username' => $status['user_username'], 'status_user_displayname' => $status_user->user_displayname, 'status_user_status' => $status['user_status']);
}
// SET GLOBAL PAGE TITLE
$global_page_title[0] = 1155;
SE_Language::_preload($network_info['subnet_name']);
SE_Language::load();
$global_page_title[1] = SE_Language::_get($network_info['subnet_name']);
$global_page_description = $global_page_title;
// ASSIGN SMARTY VARIABLES AND INCLUDE FOOTER
$smarty->assign('network', $network_info);
Example #24
0
 $mediatag_height = $_POST['mediatag_height'];
 $mediatag_width = $_POST['mediatag_width'];
 // CHECK TO SEE IF OBJECT OWNER EXISTS
 if ($owner->user_exists) {
     $object_owner = "user";
     $object_owner_id = $owner->user_info['user_id'];
     $object_owner_class = $owner;
     $owner_user = $owner;
     $owner_iden = $owner->user_info['user_username'];
 } else {
     $classname = "se_" . $object_owner;
     $object_owner_class = new $classname($user->user_info['user_id'], $object_owner_id);
     if (!$object_owner_class->{$object_owner . "_exists"}) {
         exit;
     }
     $owner_user = new se_user(array($object_owner_class->{$object_owner . "_info"}[$object_owner . "_user_id"]));
     $owner_iden = $object_owner_id;
 }
 // RETRIEVE OBJECT
 $media_query = $database->database_query("SELECT * FROM `se_{$type}media` WHERE `{$type}media_id`='{$media_id}'");
 if ($database->database_num_rows($media_query) == 0) {
     exit;
 }
 $media_info = $database->database_fetch_assoc($media_query);
 // RETRIEVE ALBUM WE ARE COMMENTING ON
 $album_query = $database->database_query("SELECT `{$type}album_privacy` AS object_privacy, `{$type}album_tag` AS object_tag FROM `se_{$type}media` LEFT JOIN `se_{$type}albums` ON `se_{$type}media`.`{$type}media_{$type}album_id`=`se_{$type}albums`.`{$type}album_id` WHERE `se_{$type}media`.`{$type}media_id`='{$media_id}' AND `se_{$type}albums`.`{$type}album_{$object_owner}_id`='{$object_owner_id}'");
 if ($database->database_num_rows($album_query) != 1) {
     exit;
 }
 $album_info = $database->database_fetch_assoc($album_query);
 // CHECK IF USER IS ALLOWED TO TAG
function friends_birthdays()
{
    global $setting, $database, $user;
    $birthdays = NULL;
    // CACHING
    $cache_object = SECache::getInstance('serial');
    if (is_object($cache_object)) {
        $birthdays = $cache_object->get('friends_birthdays_user_' . $user->user_info['user_id']);
    }
    // RETRIEVAL
    //if( !is_array($birthdays) || empty($birthdays) )
    if (!is_array($birthdays)) {
        $birthdays = array();
        $sql = "SELECT profilefield_id, t2.profilecat_id FROM se_profilefields LEFT JOIN se_profilecats AS t1 ON se_profilefields.profilefield_profilecat_id=t1.profilecat_id LEFT JOIN se_profilecats AS t2 ON t1.profilecat_dependency=t2.profilecat_id WHERE profilefield_special='1'";
        $resource = $database->database_query($sql);
        if ($database->database_num_rows($resource) > 0) {
            // CONSTRUCT QUERY
            $birthdays_upcoming_query = "\r\n        SELECT\r\n          se_users.user_id, \r\n          se_users.user_username, \r\n          se_users.user_fname, \r\n          se_users.user_lname,\r\n          CASE\r\n      ";
            while ($birthday_field = $database->database_fetch_assoc($resource)) {
                $birthdays_upcoming_query .= " WHEN se_users.user_profilecat_id='{$birthday_field['profilecat_id']}' THEN DATE_FORMAT(CONCAT(YEAR(CURDATE()), \"-\", MONTH(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`), \"-\", DAY(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`)), '%Y-%m-%d')";
                $birthdays_upcoming_where[] = "(se_users.user_profilecat_id='{$birthday_field['profilecat_id']}' AND DAY(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`)<>'0' AND MONTH(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`)<>'0' AND CURDATE() <= DATE_FORMAT(CONCAT(YEAR(CURDATE()), \"-\", MONTH(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`), \"-\", DAY(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`)), '%Y-%m-%d') AND DATE_ADD(CURDATE(), INTERVAL 7 DAY) >= DATE_FORMAT(CONCAT(YEAR(CURDATE()), \"-\", MONTH(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`), \"-\", DAY(se_profilevalues.`profilevalue_{$birthday_field['profilefield_id']}`)), '%Y-%m-%d'))";
            }
            $birthdays_upcoming_query .= " ELSE '0000-00-00' END AS birthday FROM se_friends LEFT JOIN se_users ON se_friends.friend_user_id2=se_users.user_id LEFT JOIN se_profilevalues ON se_users.user_id=se_profilevalues.profilevalue_user_id WHERE se_friends.friend_user_id1='{$user->user_info['user_id']}' AND (" . implode(" OR ", $birthdays_upcoming_where) . ") ORDER BY birthday";
            $resource = $database->database_query($birthdays_upcoming_query);
            while ($birthday_info = $database->database_fetch_assoc($resource)) {
                $birthday_user = new se_user();
                $birthday_user->user_info['user_id'] = $birthday_info['user_id'];
                $birthday_user->user_info['user_username'] = $birthday_info['user_username'];
                $birthday_user->user_info['user_fname'] = $birthday_info['user_fname'];
                $birthday_user->user_info['user_lname'] = $birthday_info['user_lname'];
                $birthday_user->user_displayname();
                // SET BIRTHDAY
                $birthday_date = mktime(0, 0, 0, substr($birthday_info['birthday'], 5, 2), substr($birthday_info['birthday'], 8, 2), 1990);
                $birthdays[] = array('birthday_user_id' => $birthday_user->user_info['user_id'], 'birthday_user_username' => $birthday_user->user_info['user_username'], 'birthday_user_displayname' => $birthday_user->user_displayname, 'birthday_date' => $birthday_date, 'birthday_user' => &$birthday_user);
                unset($birthday_user);
            }
        }
        // CACHE
        if (is_object($cache_object)) {
            $cache_object->store($birthdays, 'friends_birthdays_user_' . $user->user_info['user_id']);
        }
    }
    return $birthdays;
}
Example #26
0
 function blog_subscription_notification($newblogentry_id, $newblogentry_title, $newblogentry_privacy = 1)
 {
     global $database, $user, $url, $notify;
     // Quick fix for self
     if (!$newblogentry_privacy || $newblogentry_privacy == 1) {
         return;
     }
     // Generate query
     $sql = "\r\n      SELECT\r\n        se_blogsubscriptions.*,\r\n        subscriber.user_id,\r\n        subscriber.user_username,\r\n        subscriber.user_fname,\r\n        subscriber.user_lname,\r\n        subscriber.user_email,\r\n        subscriber_settings.usersetting_notify_newblogsubscriptionentry\r\n      FROM\r\n        se_blogsubscriptions\r\n      LEFT JOIN\r\n        se_users AS subscriber\r\n        ON subscriber.user_id=se_blogsubscriptions.blogsubscription_user_id\r\n      LEFT JOIN\r\n        se_usersettings AS subscriber_settings\r\n        ON subscriber_settings.usersetting_user_id=subscriber.user_id\r\n      WHERE\r\n        se_blogsubscriptions.blogsubscription_owner_id='{$user->user_info['user_id']}' &&\r\n        CASE\r\n          /* DO NOT SEND AN EMAIL TO SELF, BESIDES THEY SHOULDNT BE SUBSCRIBED TO THEIR OWN BLOG... */\r\n          WHEN subscriber.user_id='{$user->user_info['user_id']}'\r\n            THEN FALSE\r\n          /* IGNORE MISSING USERS */\r\n          WHEN (({$newblogentry_privacy} & @SE_PRIVACY_ANONYMOUS) AND subscriber.user_id IS NULL)\r\n            THEN FALSE\r\n          /* NORMAL */\r\n          WHEN (({$newblogentry_privacy} & @SE_PRIVACY_REGISTERED) AND subscriber.user_id IS NOT NULL)\r\n            THEN TRUE\r\n          WHEN (({$newblogentry_privacy} & @SE_PRIVACY_FRIEND) AND (SELECT TRUE FROM se_friends WHERE friend_user_id1='{$user->user_info['user_id']}' AND friend_user_id2=subscriber.user_id AND friend_status='1' LIMIT 1))\r\n            THEN TRUE\r\n          WHEN (({$newblogentry_privacy} & @SE_PRIVACY_SUBNET) AND (SELECT TRUE FROM se_users WHERE user_id='{$user->user_info['user_id']}' AND user_subnet_id=subscriber.user_subnet_id LIMIT 1))\r\n            THEN TRUE\r\n          WHEN (({$newblogentry_privacy} & @SE_PRIVACY_FRIEND2) AND (\r\n              SELECT TRUE FROM se_friends AS friends_primary\r\n              LEFT JOIN se_users ON friends_primary.friend_user_id1=se_users.user_id\r\n              LEFT JOIN se_friends AS friends_secondary ON friends_primary.friend_user_id2=friends_secondary.friend_user_id1\r\n              WHERE friends_primary.friend_user_id1='{$user->user_info['user_id']}' AND friends_secondary.friend_user_id2=subscriber.user_id AND se_users.user_subnet_id=subscriber.user_subnet_id LIMIT 1)\r\n              )\r\n            THEN TRUE\r\n          ELSE FALSE\r\n        END\r\n    ";
     $resource = $database->database_query($sql);
     // Get all recipients and send emails
     // TODO: large numbers of subscribers
     $blogentry_url = $url->url_create('blog_entry', $user->user_info['user_username'], $newblogentry_id);
     while ($result = $database->database_fetch_assoc($resource)) {
         // Create user object for displayname
         $recipient_object = new se_user();
         $recipient_object->user_info['user_id'] = $result['user_id'];
         $recipient_object->user_info['user_username'] = $result['user_username'];
         $recipient_object->user_info['user_fname'] = $result['user_fname'];
         $recipient_object->user_info['user_lname'] = $result['user_lname'];
         $recipient_object->user_displayname();
         // NOTIFICATION
         $notifytype = $notify->notify_add($recipient_object->user_info['user_id'], "newblogsubscriptionentry", $newblogentry_id, array($user->user_info['user_username'], $newblogentry_id), array($newblogentry_title));
         // EMAIL NOTIFICATION
         if (!empty($result['user_email']) && $result['usersetting_notify_newblogsubscriptionentry']) {
             send_systememail('newblogsubscriptionentry', $result['user_email'], array($recipient_object->user_displayname, $user->user_displayname, "<a href=\"{$blogentry_url}\">{$blogentry_url}</a>"));
         }
         unset($recipient_object);
     }
 }
Example #27
0
$levels = $database->database_query("SELECT level_id, level_name FROM se_levels ORDER BY level_name");
while ($level_info = $database->database_fetch_assoc($levels)) {
    $level_array[$level_info[level_id]] = $level_info;
}
// LOOP OVER SUBNETWORKS
$subnets = $database->database_query("SELECT subnet_id, subnet_name FROM se_subnets ORDER BY subnet_name");
$subnet_array[0] = array('subnet_id' => 0, 'subnet_name' => 152);
SE_Language::_preload(152);
while ($subnet_info = $database->database_fetch_assoc($subnets)) {
    SE_Language::_preload($subnet_info[subnet_name]);
    $subnet_array[$subnet_info[subnet_id]] = $subnet_info;
}
// PULL USERS INTO AN ARRAY
$users = $database->database_query($user_query);
while ($user_info = $database->database_fetch_assoc($users)) {
    $user = new se_user();
    $user->user_info[user_id] = $user_info[user_id];
    $user->user_info[user_username] = $user_info[user_username];
    $user->user_info[user_fname] = $user_info[user_fname];
    $user->user_info[user_lname] = $user_info[user_lname];
    $user->user_displayname();
    $user_info[user_displayname] = $user->user_displayname;
    $user_array[] = $user_info;
}
// ASSIGN VARIABLES AND SHOW VIEW USERS PAGE
$smarty->assign('total_users', $total_users);
$smarty->assign('pages', $page_array);
$smarty->assign('users', $user_array);
$smarty->assign('i', $i);
$smarty->assign('u', $u);
$smarty->assign('em', $em);
Example #28
0
function search_album()
{
    global $database, $url, $results_per_page, $p, $search_text, $t, $search_objects, $results, $total_results;
    // CONSTRUCT QUERY
    $album_query = "\r\n\t(\r\n\tSELECT\r\n          '1' AS sub_type,\r\n\t  se_media.media_album_id AS album_id,\r\n\t  se_media.media_title AS title,\r\n\t  se_media.media_desc AS description,\r\n\t  se_media.media_id AS media_id,\r\n\t  se_media.media_ext AS media_ext,\r\n\t  se_users.user_id,\r\n\t  se_users.user_username,\r\n\t  se_users.user_photo,\r\n\t  se_users.user_fname,\r\n\t  se_users.user_lname\r\n\tFROM\r\n\t  se_media,\r\n\t  se_albums,\r\n\t  se_users,\r\n\t  se_levels\r\n\tWHERE\r\n\t  se_media.media_album_id=se_albums.album_id AND\r\n\t  se_albums.album_user_id=se_users.user_id AND\r\n\t  se_users.user_level_id=se_levels.level_id AND\r\n\t  (\r\n\t    se_albums.album_search='1' OR\r\n\t    se_levels.level_album_search='0'\r\n\t  )\r\n\t  AND\r\n\t  (\r\n\t    se_media.media_title LIKE '%{$search_text}%' OR\r\n\t    se_media.media_desc LIKE '%{$search_text}%'\r\n\t  )\r\n\tORDER BY media_id DESC\r\n\t)\r\n\tUNION ALL\r\n\t(\r\n\tSELECT\r\n\t  '2' AS sub_type,\r\n\t  se_albums.album_id AS album_id,\r\n\t  se_albums.album_title AS title,\r\n\t  se_albums.album_desc AS description,\r\n\t  se_albums.album_cover AS media_id,\r\n\t  se_media.media_ext AS media_ext,\r\n\t  se_users.user_id,\r\n\t  se_users.user_username,\r\n\t  se_users.user_photo,\r\n\t  se_users.user_fname,\r\n\t  se_users.user_lname\r\n\tFROM\r\n\t  se_albums,\r\n\t  se_users,\r\n\t  se_levels,\r\n\t  se_media\r\n\tWHERE\r\n\t  se_albums.album_user_id=se_users.user_id AND\r\n\t  se_users.user_level_id=se_levels.level_id AND\r\n\t  se_albums.album_cover=se_media.media_id AND \r\n\t  (\r\n\t    se_albums.album_search='1' OR\r\n\t    se_levels.level_album_search='0'\r\n\t  )\r\n\t  AND\r\n\t  (\r\n\t    se_albums.album_title LIKE '%{$search_text}%' OR\r\n\t    se_albums.album_desc LIKE '%{$search_text}%'\r\n\t  )\r\n\tORDER BY album_id DESC\r\n\t)";
    // GET TOTAL RESULTS
    $total_albums = $database->database_num_rows($database->database_query($album_query . " LIMIT 201"));
    // IF NOT TOTAL ONLY
    if ($t == "album") {
        // MAKE ALBUM PAGES
        $start = ($p - 1) * $results_per_page;
        $limit = $results_per_page + 1;
        // SEARCH ALBUMS
        $albums = $database->database_query($album_query . " ORDER BY album_id DESC LIMIT {$start}, {$limit}");
        while ($album_info = $database->database_fetch_assoc($albums)) {
            // CREATE AN OBJECT FOR USER
            $profile = new se_user();
            $profile->user_info['user_id'] = $album_info['user_id'];
            $profile->user_info['user_username'] = $album_info['user_username'];
            $profile->user_info['user_fname'] = $album_info['user_fname'];
            $profile->user_info['user_lname'] = $album_info['user_lname'];
            $profile->user_info['user_photo'] = $album_info['user_photo'];
            $profile->user_displayname();
            // RESULT IS A MEDIA
            if ($album_info[sub_type] == 1) {
                $result_url = $url->url_create('album_file', $album_info['user_username'], $album_info['album_id'], $album_info['media_id']);
                $result_name = 1000119;
                $result_desc = 1000121;
                // RESULT IS AN ALBUM
            } else {
                $result_url = $url->url_create('album', $album_info['user_username'], $album_info['album_id']);
                $result_name = 1000120;
                $result_desc = 1000122;
            }
            // SET THUMBNAIL, IF AVAILABLE
            switch ($album_info['media_ext']) {
                case "jpeg":
                case "jpg":
                case "gif":
                case "png":
                case "bmp":
                    $thumb_path = $url->url_userdir($album_info['user_id']) . $album_info['media_id'] . "_thumb.jpg";
                    break;
                case "mp3":
                case "mp4":
                case "wav":
                    $thumb_path = "./images/icons/audio_big.gif";
                    break;
                case "mpeg":
                case "mpg":
                case "mpa":
                case "avi":
                case "swf":
                case "mov":
                case "ram":
                case "rm":
                    $thumb_path = "./images/icons/video_big.gif";
                    break;
                default:
                    $thumb_path = "./images/icons/file_big.gif";
            }
            if (!file_exists($thumb_path)) {
                $thumb_path = "./images/icons/file_big.gif";
            }
            // IF NO TITLE
            if ($album_info['title'] == "") {
                SE_Language::_preload(589);
                SE_Language::load();
                $album_info['title'] = SE_Language::_get(589);
            }
            // IF DESCRIPTION IS LONG
            if (strlen($album_info['description']) > 150) {
                $album_info['description'] = substr($album_info['description'], 0, 147) . "...";
            }
            $results[] = array('result_url' => $result_url, 'result_icon' => $thumb_path, 'result_name' => $result_name, 'result_name_1' => $album_info['title'], 'result_desc' => $result_desc, 'result_desc_1' => $url->url_create('profile', $album_info['user_username']), 'result_desc_2' => $profile->user_displayname, 'result_desc_3' => $album_info['description']);
        }
        // SET TOTAL RESULTS
        $total_results = $total_albums;
    }
    // SET ARRAY VALUES
    SE_Language::_preload_multi(1000118, 1000119, 1000120, 1000121, 1000122);
    if ($total_albums > 200) {
        $total_albums = "200+";
    }
    $search_objects[] = array('search_type' => 'album', 'search_lang' => 1000118, 'search_total' => $total_albums);
}
    // SET RESULT
    $result = 2000163;
} elseif ($task == "join_do" && $subpage == "join") {
    // IF GROUP REQUIRES APPROVAL
    if ($group->group_info['group_approval'] == 1) {
        $database->database_query("\r\n      INSERT INTO se_groupmembers (\r\n        groupmember_user_id,\r\n        groupmember_group_id,\r\n        groupmember_status,\r\n        groupmember_approved,\r\n        groupmember_rank\r\n      ) VALUES (\r\n        '{$user->user_info['user_id']}',\r\n        '{$group->group_info['group_id']}',\r\n        '0',\r\n        '0',\r\n        '0'\r\n      )\r\n    ");
        // NOTIFY GROUP OWNER
        $group_title_short = $group->group_info['group_title'];
        if (strlen($group_title_short) > 100) {
            $group_title_short = substr($group_title_short, 0, 97);
            $group_title_short .= "...";
        }
        $sql = "SELECT se_users.user_id, se_users.user_username, se_users.user_email, se_users.user_fname, se_users.user_lname, se_usersettings.usersetting_notify_groupmemberrequest FROM se_users LEFT JOIN se_usersettings ON se_users.user_id=se_usersettings.usersetting_user_id WHERE se_users.user_id='{$group->group_info['group_user_id']}'";
        $groupowner_info = $database->database_fetch_assoc($database->database_query($sql));
        if ($groupowner_info['usersetting_notify_groupmemberrequest'] == 1) {
            $group_owner = new se_user();
            $group_owner->user_info['user_id'] = $groupowner_info['user_id'];
            $group_owner->user_info['user_username'] = $groupowner_info['user_username'];
            $group_owner->user_info['user_email'] = $groupowner_info['user_email'];
            $group_owner->user_info['user_fname'] = $groupowner_info['user_fname'];
            $group_owner->user_info['user_lname'] = $groupowner_info['user_lname'];
            $group_owner->user_displayname();
            send_systememail('groupmemberrequest', $groupowner_info['user_email'], array($group_owner->user_displayname, $user->user_displayname, $group->group_info['group_title'], "<a href=\"" . $url->url_base . "login.php\">" . $url->url_base . "login.php</a>"));
        }
        $notify->notify_add($groupowner_info['user_id'], 'groupmemberrequest', $user->user_info['user_id'], array('', $group->group_info['group_id']), array($group_title_short));
        // SET RESULT
        $result = 2000164;
    } else {
        $database->database_query("\r\n      INSERT INTO se_groupmembers (\r\n        groupmember_user_id,\r\n        groupmember_group_id,\r\n        groupmember_status,\r\n        groupmember_approved,\r\n        groupmember_rank\r\n      ) VALUES (\r\n        '{$user->user_info['user_id']}',\r\n        '{$group->group_info['group_id']}',\r\n        '1',\r\n        '1',\r\n        '0'\r\n      )\r\n    ");
        $database->database_query("UPDATE se_groups SET group_totalmembers=group_totalmembers+1 WHERE group_id='{$group->group_info['group_id']}' LIMIT 1");
        // INSERT ACTION
function search_music()
{
    global $database, $url, $results_per_page, $p, $search_text, $t, $search_objects, $results, $total_results, $user;
    // CONSTRUCT QUERY
    $sql = "\r\n    SELECT\r\n      se_music.*,\r\n      se_users.user_id,\r\n      se_users.user_username,\r\n      se_users.user_photo,\r\n      se_users.user_fname,\r\n      se_users.user_lname\r\n    FROM\r\n      se_music\r\n    LEFT JOIN\r\n      se_users\r\n      ON se_users.user_id=se_music.music_user_id\r\n    WHERE\r\n      se_music.music_title LIKE '%{$search_text}%'\r\n  ";
    // GET TOTAL RESULTS
    $total_music = $database->database_num_rows($database->database_query($sql . " LIMIT 201"));
    // IF NOT TOTAL ONLY
    if ($t == "music") {
        // MAKE MUSIC PAGES
        $start = ($p - 1) * $results_per_page;
        $limit = $results_per_page + 1;
        // Lang for download song
        SE_Language::_preload(4000095);
        SE_Language::load();
        // SEARCH MUSIC
        $sql .= " ORDER BY se_music.music_id DESC LIMIT {$start}, {$limit}";
        $resource = $database->database_query($sql) or die($database->database_error());
        while ($music_info = $database->database_fetch_assoc($resource)) {
            // CREATE AN OBJECT FOR USER
            $profile = new se_user();
            $profile->user_info['user_id'] = $music_info['user_id'];
            $profile->user_info['user_username'] = $music_info['user_username'];
            $profile->user_info['user_fname'] = $music_info['user_fname'];
            $profile->user_info['user_lname'] = $music_info['user_lname'];
            $profile->user_info['user_photo'] = $music_info['user_photo'];
            $profile->user_displayname();
            $result_url = $url->url_create('profile', $music_info['user_username']);
            $result_name = 4000105;
            $result_desc = 4000106;
            $userdir = $url->url_userdir($music_info['user_id']);
            $music_path = "{$userdir}{$music_info['music_id']}.{$music_info['music_ext']}";
            // IF NO TITLE
            if (!trim($music_info['music_title'])) {
                SE_Language::_preload(589);
                SE_Language::load();
                $music_info['music_title'] = SE_Language::_get(589);
            }
            $dl_lv = SE_Language::_get(4000095);
            $desc3 = <<<EOF
<br />
<table><tr><td>
  <object width="17" height="17" data="images/music_button.swf?song_url={$music_path}" type="application/x-shockwave-flash">
    <param value="images/music_button.swf?song_url={$music_path}" name="movie" />
    <img width="17" height="17" alt="" src="noflash.gif" />
  </object>
</td>
EOF;
            if ($user->user_exists && $user->level_info['level_music_allow_downloads']) {
                $desc3 .= <<<EOF
<td style="padding-left:10px;vertical-align:middle;">
  <a type="application/force-download" href="{$music_path}">{$dl_lv}</a>
</td>
EOF;
            }
            $desc3 .= "</tr></table>";
            $results[] = array('result_url' => $result_url, 'result_icon' => './images/icons/music_music48.gif', 'result_name' => $result_name, 'result_name_1' => $music_info['music_title'], 'result_desc' => $result_desc, 'result_desc_1' => $url->url_create('profile', $profile->user_info['user_username']), 'result_desc_2' => $profile->user_displayname, 'result_desc_3' => $desc3);
        }
        // SET TOTAL RESULTS
        $total_results = $total_music;
    }
    // SET ARRAY VALUES
    SE_Language::_preload_multi(4000104, 4000105, 4000106);
    if ($total_music > 200) {
        $total_music = "200+";
    }
    $search_objects[] = array('search_type' => 'music', 'search_lang' => 4000104, 'search_total' => $total_music);
}