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); }
$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";
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.'); } }
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";
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'; }