Перейти к контенту
  • 0

Новые письма


Вопрос

Люди кто нибудь знает, как сделать запрос на наличие новых писем, т.е. нужно проверить есть новые письма или нет, без всякой загрузк страницы.

Одним словом сделать url с NN данными для проверки новых писем, это предусмотренно в форуме или нет?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
$DB->query("SELECT count(*) FROM ibf_messages where vid='in' and member_id='".$ibforums->member['id']."' and IsNull(read_date)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

theIggs

когда юзер откроет PM, но не прочитает сообщения new_msg сбросится. А они новыми останутся. (допустим отвлекут его, и он потом забудет).

Ссылка на комментарий
Поделиться на других сайтах

  • 0

сори, я не это имел в виду.. хотя и это подходит, но к сожалению как приконектится и т.п. к БД я не знаю ;)

Ситуация такая, к примеру зашел юзер на чат и надо проверить личные сообщения не заходя в форум, это вообще возможно сделать с помошью форумской сессии? т.е. читать форумский cookies и исходя из этого ссылкой target="freme_buffer" проверять личные сообщения.

Ваш вариан тоже подходит, только с одним условием, если бы вы поподробней объяснили что куда цеплять, я mysql не знаю :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Подскажите КОД на php, чтоб он проверял наличие сообщений, и если они есть, открывал родной поп ап ?!

 

просто не смог найти в коде форума :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

а в коде форума такого запроса нет. Там просто флажок в БД поднимается каждый раз когда кто-то тебе письмо напишет.

См. выше.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

я не понимаю просто :D(((

 

подскажите именно скрипт, чтоб делал ЗАПРОС к базе, и если новое есть, чтоб выполнялся ява скрипт попапа............. пожалуйста... ;)((

 

там строк 10 кода то.... кто знает, не составит труда.... я просто сам не в состоянии пока ((((

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

ты нписал только запрос. сам запрос.....я его не в состоянии впихнуть в скрипт.... напиши пожалуйста ВЕСЬ код операции?:D

я думаю, не одному мне этот скрипт нужен, многие бы хотели, чтобы личка приходила и на сайт тоже, а не только на форум....

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Тут сложно не скрипт написать, а встроить его в твой member bar, т.к. у тебя он другой, даже не знаю версию твоего форума и т.д.

Хочешь скрипт? Вот он:

$count = 0;
$DB->query("SELECT count(*) as cnt FROM ibf_messages where vid='in' and member_id='".$ibforums->member['id']."' and IsNull(read_date)");
if ( $row = $DB->fetch_row() ) $count = $row['cnt'];

Дальше тебе этот кусок кода надо встроить в functions.php

чтобы форум отображал $count в мембер бар.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song блин, твоя моя не понять.....

 

а форуме всё замечательно приходит... НО!.................

 

перестрою вопрос, в корне изменим смысл.........

 

 

как сделать так, чтобы при просмотре МИНИ ПРОФИЛЯ приходили ПМ?

 

они приходят, только в полный профиль, я не смог найти..... я щас сделал ужасную весч, я в iframe с нулевыми размерами запрятал профиль. так личка приходит "на сайт".... но ГРУЗИТСЯ ТО В 2 раза больше! вот если бы в мини прифиль запихать личку.....

 

или скрипт:

 

1)конектюсь к базе форума

2)читаю куки юзера

3)если мембер - добавляю сессию в базу

4)проверяю для него личку

5)если есть, выдаю попап

 

 

форум IBF 1.2 встроеный *с горем напополам* в php-nuke 7.0 (оптимизированую до 15-20 запросов на главной)....

 

( www.kivina.net )

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

каждый раз при просмотре страницы..... трафик не канает.... запросы тоже

Добавлено в [mergetime]1102175706[/mergetime]

я вот подумал, поискал, нашел вот такого зверя

 

<?

// Variables
$members  =  "ibf_members";                          
$groups   =  "ibf_groups";                         
$url      =  "http://www.site.com/forums/index.php";  
$short    =  "http://www.site.com/forums/admin.php"; 
$db_host  =  "localhost";        
$db_user  =  "";                    
$db_pass  =  "";                    
$database =  "";    

// langugage variables
// no need to change these.  
$yourcp =     "Your CP";
$gobyebye = "Go ByeBye";
$loggedin =  "Logged In As:";
$login =       "Login";
$register =   "Register";

// ---------------
// Cookies... Yum.
// ---------------
### if you have a prefix on your cookies add it in $_COOKIE['prefix_member_id'];. like that.
$ibf_member_id  = $_COOKIE['member_id'];  // member name from the cookie.
$ibf_pass_hash  = $_COOKIE['pass_hash'];  // password encripted from the cookie. using md5();
$ibf_session_id = $_COOKIE['session_id']; // session id for links and what not.

// connect to the database
$link = mysql_connect("$db_host","$db_user","$db_pass") or die("cannot connect");
mysql_select_db("$database");

function show_mlist() {
global $ibf_member_id, $ibf_pass_hash, $ibf_session_id, $members, $groups, $url, $short, $yourcp, $gobyebye, $loggedin, $login, $register, $pm;

// pm pop-up. new feature of 2.1
$show_popup = $pm['show_popup'];

if( $show_popup > 0 ) {

$query = "UPDATE ".$members." SET show_popup='0' WHERE id='{$pm[name]}' ";
$result = mysql_query($query) or die("A fatal MySQL error occured. <br />\nQuery: " . $query . "<br />\nError: " . mysql_error());

$kaboom = <<< EOF
<script language='JavaScript'>
 <!--
   window.open('".$url."?act=Msg&CODE=99&s={$ibf_session_id}','NewPM','width=500,height=250,resizable=yes,scrollbars=yes');
 //-->
 </script>";  
EOF;
}

$rendered .= $kaboom;

// Selecting members from the database
$query = "SELECT m.id AS id, m.password AS password, m.name AS name, m.mgroup AS mgroup, m.new_msg AS new_msg,  m.show_popup  AS show_popup, g.g_id AS g_id, g.g_is_supmod AS g_is_supmod, g.g_access_cp AS g_access_cp FROM ".$members." m LEFT JOIN ".$groups." g ON ( g.g_id = m.mgroup) WHERE id='$ibf_member_id'";
$result = mysql_query($query) or die("A fatal MySQL error occured. <br />\nQuery: " . $query . "<br />\nError: " . mysql_error());

$pm = mysql_fetch_array($result);

// Starting making member bar
if( isset( $ibf_member_id )  &&  ( $ibf_pass_hash == "$pm[password]" ) ){

// log out link
$logout = "<a href='".$url."?s=$ibf_session_id&act=Login&CODE=03'>".$gobyebye."</a>";

// moderator control panel link.
if( $pm[g_is_supmod] == 1 ) {

 $modcp = " | <a href='".$url."?act=modcp'>Mod CP</a>";

}

// admin control panel link.
if( $pm[g_access_cp] == 1 ) {

 $admincp = " | <a href='".$short."'>Admin CP</a>";

}

// the formated look of the end of the logout, admin cp and mod cp. Change the format here if wanted.
$rendered .=  "<a href='{$url}?showuser={$pm['id']}'>".$loggedin ."</a> <strong>{$pm[name]}</strong> ( {$logout} <strong>{$admincp}{$modcp} </strong>)";

} else {

// if not logged in will show this.
$rendered .=  "Welcome <strong>Visitor</strong> <a href='".$url."?act=Login&CODE=00'>Login</a> | <a href='".$url."?&act=Reg&CODE=00'>Register</a>";
}

return $rendered;
}

?>

<!--  // add this section into your page wherever you want the login to be. -->
<script language='JavaScript'>
   <!--
    function buddy_pop()
    {
         window.open('<?php echo $url ?>?act=buddy&','BrowserBuddy','width=200,height=450,resizable=yes,scrollbars=yes');
    }
   //-->
</script>

<div style='padding: 5px; float:left;'>

<?php
$show_left = show_mlist();
echo $show_left;
?>

</div>

<div style='padding: 5px; float:right;'>

<?
// left side of the member bar.
if  ( isset( $ibf_member_id ) && $ibf_pass_hash == "$pm[password]" ) {
$date = date("F d");

$render = <<<EOF
<!-- control panel link -->
<a href="$url?s=$ibf_session_id&act=UserCP&CODE=00">$yourcp</a> /

<!-- new messages thing. -->
<a href="{$url}?s=$ibf_session_id&act=Msg&CODE=01">{$pm['new_msg']} new messages</a> /

<!-- My Assistant Link -->
<a href='javascript:buddy_pop();'>My Assistant</a> /

<!-- gets latest post info from your boards. -->
<a href="{$url}?act=Search&CODE=getnew">{$date}</a>
EOF;

echo $render;

 } else {

// shows the date.
echo "Today Is ".date("F d");

 }

?>

 

 

только в нём pop - up не открывается почему-то :D

 

но показывает всё, что надо.....

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.