コード例 #1
0
function search_profile()
{
    global $database, $url, $results_per_page, $p, $search_text, $t, $search_objects, $results, $total_results;
    // GET FIELDS
    $fields = $database->database_query("\r\n    SELECT\r\n      profilefield_id AS field_id,\r\n      profilefield_type AS field_type,\r\n      profilefield_options AS field_options\r\n    FROM\r\n      se_profilefields\r\n    WHERE\r\n      profilefield_type<>'5' &&\r\n      (profilefield_dependency<>'0' OR (profilefield_dependency='0' AND profilefield_display<>'0'))\r\n  ");
    $profile_query = "se_users.user_username LIKE '%{$search_text}%' OR CONCAT(se_users.user_fname, ' ', se_users.user_lname) LIKE '%{$search_text}%'";
    // LOOP OVER FIELDS
    while ($field_info = $database->database_fetch_assoc($fields)) {
        // TEXT FIELD OR TEXTAREA
        if ($field_info['field_type'] == 1 || $field_info['field_type'] == 2) {
            if ($profile_query) {
                $profile_query .= " OR ";
            }
            $profile_query .= "`se_profilevalues`.`profilevalue_{$field_info['field_id']}` LIKE '%{$search_text}%'";
        } elseif ($field_info[field_type] == 3 || $field_info[field_type] == 4) {
            $options = unserialize($field_info['field_options']);
            $langids = array();
            $cases = array();
            for ($i = 0, $max = count($options); $i < $max; $i++) {
                $cases[] = "WHEN languagevar_id='{$options[$i]['label']}' THEN {$options[$i]['value']}";
                $langids[] = $options[$i][label];
            }
            if (count($cases) != 0) {
                if ($profile_query) {
                    $profile_query .= " OR ";
                }
                $profile_query .= "`se_profilevalues`.`profilevalue_{$field_info['field_id']}` IN (SELECT CASE " . implode(" ", $cases) . " END AS value FROM se_languagevars WHERE languagevar_id IN (" . implode(", ", $langids) . ") AND languagevar_value LIKE '%{$search_text}%')";
            }
        } elseif ($field_info[field_type] == 6) {
            $options = unserialize($field_info['field_options']);
            $langids = array();
            $cases = array();
            for ($i = 0, $max = count($options); $i < $max; $i++) {
                $cases[] = "WHEN languagevar_id='{$options[$i]['label']}' THEN " . pow(2, $i);
                $langids[] = $options[$i][label];
            }
            if (count($cases) != 0) {
                if ($profile_query) {
                    $profile_query .= " OR ";
                }
                $profile_query .= "`se_profilevalues`.`profilevalue_{$field_info['field_id']}` & (SELECT sum(CASE " . implode(" ", $cases) . " END) AS value FROM se_languagevars WHERE languagevar_id IN (" . implode(", ", $langids) . ") AND languagevar_value LIKE '%{$search_text}%')";
            }
        }
    }
    // CONSTRUCT QUERY
    $profile_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      se_users.user_photo\r\n    FROM\r\n      se_profilevalues\r\n    LEFT JOIN\r\n      se_users\r\n      ON se_profilevalues.profilevalue_user_id=se_users.user_id\r\n    LEFT JOIN\r\n      se_levels\r\n      ON se_levels.level_id=se_users.user_level_id\r\n    WHERE\r\n      se_users.user_verified='1' AND\r\n      se_users.user_enabled='1' AND\r\n      (se_users.user_search='1' OR se_levels.level_profile_search='0') AND\r\n      ({$profile_query})\r\n  ";
    // GET TOTAL PROFILES
    $total_profiles = $database->database_num_rows($database->database_query($profile_query . " LIMIT 201"));
    // IF NOT TOTAL ONLY
    if ($t == "0") {
        // MAKE PROFILE PAGES
        $start = ($p - 1) * $results_per_page;
        $limit = $results_per_page + 1;
        // SEARCH PROFILES
        $online_users_array = online_users();
        $profiles = $database->database_query($profile_query . " ORDER BY se_users.user_id DESC LIMIT {$start}, {$limit}");
        while ($profile_info = $database->database_fetch_assoc($profiles)) {
            // CREATE AN OBJECT FOR USER
            $profile = new se_user();
            $profile->user_info['user_id'] = $profile_info['user_id'];
            $profile->user_info['user_username'] = $profile_info['user_username'];
            $profile->user_info['user_fname'] = $profile_info['user_fname'];
            $profile->user_info['user_lname'] = $profile_info['user_lname'];
            $profile->user_info['user_photo'] = $profile_info['user_photo'];
            $profile->user_displayname();
            // DETERMINE IF USER IS ONLINE
            $is_online = (bool) in_array($profile_info['user_username'], $online_users_array[0]);
            $results[] = array('result_url' => $url->url_create('profile', $profile_info['user_username']), 'result_icon' => $profile->user_photo('./images/nophoto.gif', TRUE), 'result_name' => 509, 'result_name_1' => $profile->user_displayname, 'result_desc' => '', 'result_online' => $is_online);
        }
        // SET TOTAL RESULTS
        $total_results = $total_profiles;
    }
    // SET ARRAY VALUES
    SE_Language::_preload_multi(509, 1072);
    if ($total_profiles > 200) {
        $total_profiles = "200+";
    }
    $search_objects[] = array('search_type' => '0', 'search_lang' => 1072, 'search_total' => $total_profiles);
}
コード例 #2
0
ファイル: home.php プロジェクト: amitjoy/nitd-network
$signup_array = recent_signups();
$smarty->assign_by_ref('signups', $signup_array);
// GET RECENT POPULAR USERS (MOST FRIENDS)
$friend_array = popular_users();
$smarty->assign_by_ref('friends', $friend_array);
// GET RECENT LOGINS
$login_array = recent_logins();
$smarty->assign_by_ref('logins', $login_array);
// GET NEWS ITEMS
$news_array = site_news();
$smarty->assign_by_ref('news', $news_array);
// GET TOTALS
$stats_array = site_statistics();
$smarty->assign_by_ref('site_statistics', $stats_array);
// Backwards compatibility with old home.tpl template
$total_members = isset($stats_array['members']['stat']) ? $stats_array['members']['stat'] : 0;
$total_friends = isset($stats_array['friends']['stat']) ? $stats_array['friends']['stat'] : 0;
$total_comments = isset($stats_array['comments']['stat']) ? $stats_array['comments']['stat'] : 0;
$smarty->assign('total_members', $total_members);
$smarty->assign('total_friends', $total_friends);
$smarty->assign('total_comments', $total_comments);
// Get online users
$online_array = online_users();
$smarty->assign_by_ref('online_users', $online_array);
// Get actions feed - Has code in it that is preventing direct caching
$actions_array = $actions->actions_display(0, $setting['setting_actions_actionsperuser']);
$smarty->assign_by_ref('actions', $actions_array);
// ASSIGN SMARTY VARIABLES AND INCLUDE FOOTER
$smarty->assign('prev_email', $prev_email);
$smarty->assign('ip', $_SERVER['REMOTE_ADDR']);
include "footer.php";
コード例 #3
0
ファイル: api.php プロジェクト: helloworldprojects/Autism
            setStatus($out, 'fail', 'invalid type.');
            break;
    }
} else {
    //get request
    if (isset($_GET['query'])) {
        $type = $_GET['query'];
        switch ($type) {
            case 'online':
                $out = online();
                break;
            case 'online_doctors':
                $out = online_users(session::USER_DOCTOR);
                break;
            case 'online_users':
                $out = online_users(session::USER_REGULAR);
                break;
            case 'getHistory':
                $out = getHistory();
                break;
            case 'getUpdates':
                $out = getUpdates();
                break;
            default:
                setStatus($out, 'fail', 'invalid type.');
                break;
        }
    } else {
        setStatus($out, 'fail', 'query not set.');
    }
}
コード例 #4
0
ファイル: admin_home.php プロジェクト: amitjoy/nitd-network
if ($file_version != $database_version) {
    $admin_notifications[] = sprintf(SELanguage::get(1320), $file_version, $database_version);
}
foreach ($sanity->tests as $sanity_test) {
    if ($sanity_test->result || $sanity_test->is_recommendation) {
        continue;
    }
    $admin_notifications[] = $sanity_test->getCategory() . ': ' . $sanity_test->getTitle() . ': ' . $sanity_test->getMessage();
}
($hook = SE_Hook::exists('se_admin_notifications')) ? SE_Hook::call($hook, array()) : NULL;
// ASSIGN VARIABLES AND SHOW ADMIN HOME PAGE
$smarty->assign('admin_notifications', $admin_notifications);
$smarty->assign('task', $task);
$smarty->assign('total_users_num', $total_users['total_users']);
$smarty->assign('total_messages_num', $total_messages['total_messages']);
$smarty->assign('total_comments_num', $total_comments);
$smarty->assign('total_user_levels', $total_user_levels['total_user_levels']);
$smarty->assign('total_subnetworks', $total_subnetworks['total_subnetworks']);
$smarty->assign('total_reports', $total_reports['total_reports']);
$smarty->assign('total_friendships', $total_friendships['total_friendships']);
$smarty->assign('total_announcements', $total_announcements['total_announcements']);
$smarty->assign('total_admins', $total_admins['total_admins']);
$smarty->assign('online_users', online_users());
$smarty->assign('signups_today', $signups_today);
$smarty->assign('logins_today', $logins_today);
$smarty->assign('views_today', $views_info['stat_views']);
$smarty->assign('space_used_num', $space_used);
$smarty->assign('version_num', $version);
$smarty->assign('versions', $versions);
$smarty->assign('install_exists', $install_exists);
include "admin_footer.php";
コード例 #5
0
ファイル: phpwcms.php プロジェクト: EDVLanger/phpwcms
if (!empty($_SESSION['phpwcms_backend_search'])) {
    echo html_specialchars($_SESSION['phpwcms_backend_search']);
}
?>
" class="backend-search-input v11" /><input type="image" src="img/famfamfam/magnifier.png" class="backend-search-button" />

		</form>


		<h1 class="title" style="margin:1em 0 3px 0;"><?php 
echo $BL['usr_online'];
?>
</h1>

		<?php 
echo online_users($db, "<br />", "<span class=\"subnavinactive\">|</span>");
?>

		</td>
      <td width="10" bgcolor="#FFFFFF"><img src="img/leer.gif" alt="" width="10" height="1"></td>
      <td width="15" bgcolor="#FFFFFF" style="background-image:url(img/backend/dividerA.gif);background-repeat:repeat-y;"><img src="img/leer.gif" alt="" width="15" height="200"></td>
      <td width="540" valign="top" bgcolor="#FFFFFF" class="v11b width540" id="be_main_content">{STATUS_MESSAGE}{BE_PARSE_LANG}<!--BE_MAIN_CONTENT_START//-->
<?php 
switch ($do) {
    case "profile":
        //Profile
        if ($p === 1) {
            include PHPWCMS_ROOT . '/include/inc_tmpl/profile.data.tmpl.php';
        } else {
            include PHPWCMS_ROOT . '/include/inc_tmpl/profile.account.tmpl.php';
        }