Перейти к контенту
  • 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

 

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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