示例#1
0
            $friend_value = 'AND friend_value > 0';
        } else {
            $friend_value = '';
        }
        $prefered_total = $db->get_var("SELECT count(*) FROM friends WHERE friend_type='manual' AND friend_from={$prefered_id} {$friend_value}");
        $dbusers = $db->get_results("SELECT friend_to as who FROM friends, users WHERE friend_type='manual' AND friend_from={$prefered_id} and user_id = friend_to {$friend_value} order by user_login asc LIMIT {$prefered_offset},{$prefered_page_size}");
        break;
    case 'to':
        $prefered_total = $db->get_var("SELECT count(*) FROM friends WHERE friend_type='manual' AND friend_to={$prefered_id} AND friend_from != 0 and friend_value > 0");
        $dbusers = $db->get_results("SELECT friend_from as who FROM friends, users WHERE friend_type='manual' AND friend_to={$prefered_id} and user_id = friend_from and friend_value > 0 order by user_login asc LIMIT {$prefered_offset},{$prefered_page_size}");
        break;
}
if ($dbusers) {
    $friend = new User();
    echo '<div class="bars-list">';
    foreach ($dbusers as $dbuser) {
        $friend->id = $dbuser->who;
        $friend->read();
        echo '<div class="item-wider">';
        echo '<a href="' . get_user_uri($friend->username) . '" title="' . $friend->username . '">';
        echo '<img src="' . get_avatar_url($friend->id, $friend->avatar, 20) . '" width="20" height="20" alt="' . $friend->username . '"/>';
        echo $friend->username . '</a>';
        if ($current_user->user_id > 0 && $current_user->user_id != $friend->id) {
            echo '<a id="friend-' . $prefered_type . '-' . $current_user->user_id . '-' . $friend->id . '" href="javascript:get_votes(\'get_friend.php\',\'' . $current_user->user_id . '\',\'friend-' . $prefered_type . '-' . $current_user->user_id . '-' . $friend->id . '\',0,\'' . $friend->id . '\')">' . friend_teaser($current_user->user_id, $friend->id) . '</a>';
        }
        echo '</div>';
        echo "\n";
    }
    echo '</div>';
    do_contained_pages($prefered_id, $prefered_total, $prefered_page, $prefered_page_size, 'get_friends_bars.php', $prefered_type, $prefered_type . '-container');
}
示例#2
0
include_once mnminclude . 'geo.php';
if (empty($_GET['id'])) {
    die;
}
$id = intval($_GET['id']);
$user = new User();
$user->id = $id;
if (!$user->read()) {
    die;
}
if ($user->avatar) {
    echo '<div style="float: left;"><img hspace="4" src="' . get_avatar_url($user->id, $user->avatar, 80) . '" width="80" height="80" alt="' . $user->username . '"/></div>';
}
echo '<strong>' . _('usuario') . ':</strong>&nbsp;' . $user->username;
if ($current_user->user_id > 0 && $current_user->user_id != $user->id) {
    echo '&nbsp;' . friend_teaser($current_user->user_id, $user->id);
}
echo '<br/>';
echo '<strong>' . _('nombre') . ':</strong>&nbsp;' . $user->names . '<br/>';
echo '<strong>' . _('web') . ':</strong>&nbsp;' . $user->url . '<br/>';
echo '<strong>' . _('karma') . ':</strong>&nbsp;' . $user->karma . '<br/>';
echo '<strong>' . _('desde') . ':</strong>&nbsp;' . get_date($user->date) . '<br/>';
if ($current_user->user_id > 0 && $current_user->user_id != $user->id && ($her_latlng = geo_latlng('user', $user->id)) && ($my_latlng = geo_latlng('user', $current_user->user_id))) {
    $distance = (int) geo_distance($my_latlng, $her_latlng);
    echo '<strong>' . _('distancia') . ':</strong>&nbsp;' . $distance . '&nbsp;kms<br/>';
}
$post = new Post();
if ($post->read_last($user->id)) {
    echo '<br clear="left"><strong>' . _('última nota') . '</strong>: ';
    $post->print_text();
}
示例#3
0
function do_profile()
{
    global $user, $current_user, $login, $db, $globals;
    if (!empty($user->url)) {
        if ($user->karma < 10) {
            $nofollow = 'rel="nofollow"';
        }
        if (!preg_match('/^http/', $user->url)) {
            $url = 'http://' . $user->url;
        } else {
            $url = $user->url;
        }
    }
    $post = new Post();
    if ($post->read_last($user->id)) {
        echo '<ol class="comments-list" id="last_post">';
        $post->print_summary();
        echo "</ol>\n";
    }
    echo '<fieldset><legend>';
    echo _('información personal');
    if ($login === $current_user->user_login) {
        echo ' (<a href="' . $globals['base_url'] . 'profile.php">' . _('modificar') . '</a>)';
    } elseif ($current_user->user_level == 'god') {
        echo ' (<a href="' . $globals['base_url'] . 'profile.php?login='******'">' . _('modificar') . '</a>)';
    }
    echo '</legend>';
    // Avatar
    echo '<img class="thumbnail" src="' . get_avatar_url($user->id, $user->avatar, 80) . '" width="80" height="80" alt="' . $user->username . '" title="avatar" />';
    // Geo div
    echo '<div style="width:140px; float:left;">';
    if ($globals['do_geo']) {
        echo '<div id="map" class="thumbnail" style="width:130px; height:130px; overflow:hidden; float:left"></div>';
        if ($current_user->user_id > 0 && $current_user->user_id != $user->id && $globals['latlng'] && ($my_latlng = geo_latlng('user', $current_user->user_id))) {
            $distance = (int) geo_distance($my_latlng, $globals['latlng']);
            echo '<p style="color: #FF9400; font-size: 90%">' . _('estás a') . " <strong>{$distance} kms</strong> " . _('de') . ' ' . $user->username . '</p>';
        }
    }
    echo '&nbsp;</div>';
    echo '<div style="float:left;min-width:65%">';
    echo '<dl>';
    if (!empty($user->username)) {
        echo '<dt>' . _('usuario') . ':</dt><dd>';
        if (!empty($url)) {
            echo '<a href="' . $url . '" ' . $nofollow . '>' . $user->username . '</a>';
        } else {
            echo $user->username;
        }
        // Print friend icon
        if ($current_user->user_id > 0 && $current_user->user_id != $user->id) {
            echo '&nbsp;<a id="friend-' . $current_user->user_id . '-' . $user->id . '" href="javascript:get_votes(\'get_friend.php\',\'' . $current_user->user_id . '\',\'friend-' . $current_user->user_id . '-' . $user->id . '\',0,\'' . $user->id . '\')">' . friend_teaser($current_user->user_id, $user->id) . '</a>';
        }
        // Print user detailed info
        if ($login === $current_user->user_login || $current_user->user_level == 'god') {
            echo " (" . _('id') . ": <em>{$user->id}</em>)";
            echo " (<em>{$user->level}</em>)";
        }
        if ($current_user->user_level == 'god') {
            echo " (<em>{$user->username_register}</em>)";
        }
        echo '</dd>';
    }
    if (!empty($user->names)) {
        echo '<dt>' . _('nombre') . ':</dt><dd>' . $user->names . '</dd>';
    }
    // Show public info is it's a friend or god
    if ($current_user->user_id > 0 && !empty($user->public_info) && ($current_user->user_id == $user->id || $current_user->user_level == 'god')) {
        //friends cannot see the IM address (it was public before)
        echo '<dt>' . _('IM/email') . ':</dt><dd> ' . $user->public_info . '</dd>';
    }
    if (!empty($url)) {
        echo '<dt>' . _('sitio web') . ':</dt><dd><a href="' . $url . '" ' . $nofollow . '>' . $url . '</a></dd>';
    }
    echo '<dt>' . _('desde') . ':</dt><dd>' . get_date_time($user->date) . '</dd>';
    if ($current_user->user_level == 'god') {
        echo '<dt>' . _('email') . ':</dt><dd>' . $user->email . " (<em>{$user->email_register}</em>)</dd>";
    }
    if ($user->id == $current_user->user_id || $current_user->user_level == 'god') {
        echo '<dt>' . _('clave API') . ':</dt><dd id="api-key"><a href="javascript:get_votes(\'get_user_api_key.php\',\'\',\'api-key\',0,\'' . $user->id . '\')">' . _('leer clave API') . '</a> (' . _('no la divulgues') . ')</dd>';
        if (!empty($user->adcode)) {
            echo '<dt>' . _('Código AdSense') . ':</dt><dd>' . $user->adcode . '&nbsp;</dd>';
            echo '<dt>' . _('Canal AdSense') . ':</dt><dd>' . $user->adchannel . '&nbsp;</dd>';
        }
    }
    echo '<dt>' . _('karma') . ':</dt><dd>' . $user->karma;
    // Karma details
    if ($user->id == $current_user->user_id || $current_user->user_level == 'god') {
        echo ' (<a href="javascript:modal_from_ajax(\'' . $globals['base_url'] . 'backend/get_karma_numbers.php?id=' . $user->id . '\', \'' . _('cálculo del karma') . '\')" title="' . _('detalles') . '">' . _('detalle cálculo') . '</a>)';
    }
    echo '</dd>';
    $user->all_stats();
    echo '<dt>' . _('noticias enviadas') . ':</dt><dd>' . $user->total_links . '</dd>';
    if ($user->total_links > 0 && $user->published_links > 0) {
        $percent = intval($user->published_links / $user->total_links * 100);
    } else {
        $percent = 0;
    }
    if ($user->total_links > 1) {
        $entropy = intval(($user->blogs() - 1) / ($user->total_links - 1) * 100);
        echo '<dt><em>' . _('entropía') . '</em>:</dt><dd>' . $entropy . '%</dd>';
    }
    echo '<dt>' . _('noticias publicadas') . ':</dt><dd>' . $user->published_links . ' (' . $percent . '%)</dd>';
    echo '<dt>' . _('comentarios') . ':</dt><dd>' . $user->total_comments . '</dd>';
    echo '<dt>' . _('notas') . ':</dt><dd>' . $user->total_posts . '</dd>';
    echo '<dt>' . _('número de votos') . ':</dt><dd>' . $user->total_votes . '</dd>';
    echo '</dl>';
    echo '</div>';
    echo '</fieldset>';
    // Print GEO form
    if ($globals['do_geo'] && $current_user->user_id == $user->id) {
        echo '<div class="geoform">';
        geo_coder_print_form('user', $current_user->user_id, $globals['latlng'], _('ubícate en el mapa (si te apetece)'), 'user');
        echo '</div>';
    }
    // Show first numbers of the address if the user has god privileges
    if ($current_user->user_level == 'god' && $user->level != 'god' && $user->level != 'admin') {
        // tops and admins know each other for sure, keep privacy
        $addresses = $db->get_results("select INET_NTOA(vote_ip_int) as ip from votes where vote_type='links' and vote_user_id = {$user->id} order by vote_date desc limit 30");
        // Try with comments
        if (!$addresses) {
            $addresses = $db->get_results("select comment_ip as ip from comments where comment_user_id = {$user->id} and comment_date > date_sub(now(), interval 30 day) order by comment_date desc limit 30");
        }
        // Not addresses to show
        if (!$addresses) {
            return;
        }
        $clone_counter = 0;
        echo '<fieldset><legend>' . _('últimas direcciones IP') . '</legend>';
        echo '<ol>';
        $prev_address = '';
        foreach ($addresses as $dbaddress) {
            $ip_pattern = preg_replace('/\\.[0-9]+$/', '', $dbaddress->ip);
            if ($ip_pattern != $prev_address) {
                echo '<li>' . $ip_pattern . ': <span id="clone-container-' . $clone_counter . '"><!--<a href="javascript:get_votes(\'ip_clones.php\',\'' . $ip_pattern . '\',\'clone-container-' . $clone_counter . '\',0,' . $user->id . ')" title="' . _('clones') . '">&#187;&#187;</a>--></span></li>';
                $clone_counter++;
                $prev_address = $ip_pattern;
                if ($clone_counter >= 30) {
                    break;
                }
            }
        }
        echo '</ol>';
        echo '</fieldset>';
    }
}