Author Topic: Mod to show where users are browsing  (Read 5265 times)

0 Members and 1 Guest are viewing this topic.

Offline skidpics

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Mod to show where users are browsing
« on: August 21, 2007, 11:54:30 PM »
Is there a plugin which shows which categories users are browsing, and how many are browsing in that category, much like to photopost software offers?

-- Skidpics

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Mod to show where users are browsing
« Reply #1 on: August 22, 2007, 12:24:41 AM »
Mean ... category user session ?
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?

Offline skidpics

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Mod to show where users are browsing
« Reply #2 on: August 22, 2007, 04:03:19 AM »
Mean ... category user session ?

If that is the description, then yes..  Is there such a rascal?

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Mod to show where users are browsing
« Reply #3 on: August 22, 2007, 04:14:12 AM »
No but can code. I like. :)
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?

Offline skidpics

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Mod to show where users are browsing
« Reply #4 on: August 22, 2007, 04:39:15 AM »
No but can code. I like. :)

Cool!  I am sure lots of ppl would want that!

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Mod to show where users are browsing
« Reply #5 on: August 22, 2007, 10:04:40 PM »
Ok so finish code. ;)

Let say is BETA for 1st.

In categories.php file,

find:

Quote
//-----------------------------------------------------
//--- Clickstream -------------------------------------
//-----------------------------------------------------

Add before:

Quote
//-----------------------------------------------------
//--- Categories sessions -----------------------------
//-----------------------------------------------------
$additional_user_sql = "";
$additional_user_sql_array = array();
if (!empty($additional_user_fields)) {
  foreach ($additional_user_fields as $key => $val) {
    $additional_user_sql .= ", u.".$key;
    $additional_user_sql_array[] = $key;
  }
}

$time_out = time() - 300;

$sql = "

SELECT " . get_user_table_field("u.", "user_id"). get_user_table_field(", u.", "user_name") . get_user_table_field(", u.", "user_level") . get_user_table_field(", u.", "user_invisible") . $additional_sql . $additional_user_sql . "
FROM (" . IMAGES_TABLE . " i, " . CATEGORIES_TABLE . " c, " . SESSIONS_TABLE . " s)
LEFT JOIN " . USERS_TABLE . " u ON (" . get_user_table_field("u.", "user_id") . " = i.user_id)
WHERE i.image_active = 1 AND i.cat_id = " . $cat_id . " AND c.cat_id = i.cat_id AND i.user_id = s.session_user_id AND s.session_lastaction >= " . $time_out . " AND " . get_user_table_field("u.", "user_level"). " >= '" . USER . "'

";

$result = $site_db->query($sql);
$categories_sessions_num_rows = $site_db->get_numrows($result);

if (isset($categories_sessions) && !empty($categories_sessions)) {
    unset ($categories_sessions);
}

$categories_sessions = "";
if (isset($result) && $result) {
   
    if (isset($categories_sessions_num_rows) && $categories_sessions_num_rows <= 0) {
        $categories_sessions .= $lang['categories_no_sessions'];       
        $site_template->register_vars("categories_sessions", trim($categories_sessions));       
       
    } elseif (isset($categories_sessions_num_rows) && $categories_sessions_num_rows >= 0) {

        while ($sessions_row = $site_db->fetch_array($result)) {
            $sessions_cat_id = $sessions_row[$user_table_fields['user_id']];
            $sessions_cat_name = $sessions_row[$user_table_fields['user_name']];
            $sessions_cat_level = $sessions_row[$user_table_fields['user_level']];
            $sessions_cat_invisible = $sessions_row[$user_table_fields['user_invisible']];
           
            if (isset($additional_user_sql_array) && is_array($additional_user_sql_array) && !empty($additional_user_sql_array)) {
                foreach ($additional_user_sql_array as $key => $val) {
                    if (in_array($val, $sessions_row[$val])) {
                        $val = $sessions_row[$val];   
                        $site_template->register_vars($val, trim($val));                                           
                        break;
                    }
                }
            }
           
            $site_template->register_vars("sessions_cat_id", (isset($sessions_cat_id)) ? (int)$session_cat_id : 0);
            $site_template->register_vars("sessions_cat_name", (isset($sessions_cat_name)) ? format_text(stripslashes($sessions_cat_name), 2) : "");
            $site_template->register_vars("sessions_cat_level_admin", (isset($sessions_cat_level) && $sessions_cat_level == ADMIN) ? trim($sessions_cat_level) : "");
            $site_template->register_vars("sessions_cat_level_user", (isset($sessions_cat_level) && $sessions_cat_level == USER) ? trim($sessions_cat_level) : "");
            $site_template->register_vars("sessions_cat_invisible", (isset($sessions_cat_invisible) && $sessions_cat_invisible == 1) ? trim($sessions_cat_invisible) : "");
            $site_template->register_vars("sessions_cat_visible", (isset($sessions_cat_invisible) && $sessions_cat_invisible == 0) ? trim($sessions_cat_invisible) : "");
            $site_template->register_vars("sessions_cat_url", (isset($sessions_cat_id) && isset($sessions_cat_name) && !empty($sessions_cat_id) && !empty($sessions_cat_name)) ? $site_sess->url(ROOT_PATH . "member.php?action=showprofile&amp;" . URL_USER_ID . "=" . $sessions_cat_id) : "");
            $site_template->register_vars("lang_sessions_cat_invisible_sign", $lang['sessions_cat_invisible_sign']);
            $categories_sessions .= $site_template->parse_template("categories_sessions");
        }
        $site_template->register_vars("categories_sessions", trim($categories_sessions));       
        unset ($categories_sessions);
        unset ($additional_user_sql_array);
        unset ($additional_user_sql);
    }
}

In lang/english/main.php file,

add before ?>:

Quote
$lang['categories_no_sessions'] = "Actually, there are no users seeing this image.";
$lang['categories_sessions_title'] = "<span class=\"smalltext\">Users visit this category</span>";
$lang['sessions_cat_invisible_sign'] = "<font color=\"#FF0000\">*</font>";

In templates/your_template, create file: categories_sessions.html .

Create HTML table - your choice and can use:

Quote
... begin tr & td here ...
{if sessions_cat_id}{sessions_cat_id}{endif sessions_cat_id}
{if sessions_cat_name}{sessions_cat_name}{endif sessions_cat_name}
{if sessions_cat_level_admin}{sessions_cat_level_admin}{endif sessions_cat_level_admin}
{if sessions_cat_level_user}{sessions_cat_level_user}{endif sessions_cat_level_user}
{if sessions_cat_invisible}{sessions_cat_invisible}{endif sessions_cat_invisible}
{if sessions_cat_visible}{sessions_cat_visible}{endif sessions_cat_visible}
{if sessions_cat_url}{sessions_cat_url}{endif sessions_cat_url}
{lang_sessions_cat_invisible_sign}
... end td & tr here ...

In templates/your_template/categories.html file,

can use:

Quote
... begin table here ...
{if categories_sessions_num_rows}{categories_sessions}{endif categories_sessions_num_rows}
... end table here ...

No PHP expert need - ALL HTML base. Can use all addition user fields you like - no need go to PHP file - use from new HTML file cat session. 8)
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?