Вопрос по SSI

Автор Elviss, 27 марта 2008, 12:39:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Elviss

     Напишите мне функцию для SSI, бесплатно, желательно рабочую:

     Вопрос в следующем. Я добавил в таблицу smf_members дополнительный столбец с названием Reklama, он должен показывать имеет ли конкретный пользователь право на использования дополнительных возможностей.
Как мне написать свою функцию в SSI, (<?php ssi_reklama(); ?>) чтоб она выводила мне значение этого поля, для каждого пользователя. Например: Здравствуйте, Elviss, у Вас 1 дополнительная возможность. И дальше шла ссылка,  которая должна отображаться, если значение в поле Reklama>1, если значение 0, то или ничего не отображаться, или писаться «Вы не можете использовать доп. Возможностей».

     Сам SQL только учу, потому очень надеюсь на вашу помощь. Заранее спасибо, админ __________http://www.skadovsk.net.ua

Elviss


  Что, никто не может помочь ? Как я понимаю там можно подправить любую стандартную функцию, и для знающего человека это 5 минут работы

InSide

function ssi_reklama($output_method = 'echo')
{
global $context, $txt, $scripturl,$db_prefix;

$id_user = $context['user']['id'];
$request = db_query("select m.reklama from {$db_prefix}members as m where (m.ID_MEMBER = $id_user)", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request))
{
$reklama = $row['reklama'];
}

if ($output_method == 'echo')
{
if ($context['user']['is_guest'])
echo $txt['welcome_guest'];
else
echo $txt['hello_member'], ' <b>', $context['user']['name'], '</b>', allowedTo('pm_read') ? ', ' . $txt[152] . ' <a href="' . $scripturl . '?action=pm">' . $context['user']['messages'] . ' ' . ($context['user']['messages'] == '1' ? $txt[471] : $txt[153]) . '</a>' . $txt['newmessages4'] . ' ' . $context['user']['unread_messages'] . ' ' . ($context['user']['unread_messages'] == '1' ? $txt['newmessages0'] : $txt['newmessages1']) : '','. У вас рекламы '.$reklama.' штук', '.';
}
// Don't echo... then do what?!
else
return $context['user'];
}


каг то таг :)
Зачем же быть душою общества, <br />Когда души в нем вовсе нет. (c) В.С.Высоцкий

Elviss


   Спасибо большое, функция работает как и нужно, только вот она не совсем полная, сейчас отображае так:
Здравствуйте, Elviss, у Вас 108 сообщений, 0 новых. У вас рекламы 3 штук., но нужно было ещё это...
"...И дальше шла ссылка,  которая должна отображаться, если значение в поле Reklama>1, если значение 0, то или ничего не отображаться, или писаться «Вы не можете использовать доп. Возможностей»."
   

InSide

Ссылка то какая ? На куда ссылка ?
Зачем же быть душою общества, <br />Когда души в нем вовсе нет. (c) В.С.Высоцкий

Elviss

     Ну в общем смысл дальше такой. Человек, у которого есть Дополнительная возможность (то есть, возможность размещения собственного поста на доске объявлений), заходит на главную страницу ДОСКИ (__________http://www.skadovsk.net.ua/reklama). У него в приветствии отображается следующее:
     
     Здравствуйте, Elviss, у Вас 108 сообщений, 0 новых. У вас рекламы 3 штук.
     А должно быть так,
     Здравствуйте, Elviss, у Вас 108 сообщений, 0 новых. У вас рекламы 3 штук. Добавить объявление.

     Где, Добавить объявление – это  ссылка на страницу добавление нового поста, (__________http://www.skadovsk.net.ua/reklama/index.php?event=new&page=$page), и чтоб она отображалась только при условии, что пользователь зарегистрирован и имеет Дополнительную возможность. На данной странице заполняются поля объявление, и есть кнопка Добавить. При нажатии на неё должно проверяться условие $reklama>1, и если это так, продолжаться дальнейшее выполнение скрипта добавления поста и дальше отнять от $reklama 1 (одну)использованную уже возможность, и записать это новое значение в базу данных. Если при нажатии Добавить условие $reklama>1 не выполняется, выдавать ошибку доступа (в любом виде). Ну вроде всё, надёюсь доступно объяснил  :)

InSide

function ssi_reklama($output_method = 'echo')
{
global $context, $txt, $scripturl,$db_prefix;

$id_user = $context['user']['id'];
$request = db_query("select m.reklama from {$db_prefix}members as m where (m.ID_MEMBER = $id_user)", __FILE__, __LINE__);// where (ID_MEMBER = $id_user)");
while ($row = mysql_fetch_assoc($request))
{
$reklama = $row['reklama'];
}

if ($reklama == 0) $outReklama = "У вас нихрена не имеется доп возможностей.";
else $outReklama = '. У вас рекламы аж '.$reklama.' штук. Вот вам за это <a href=index.php?option=scilko&id_user='.$id_user.'>ЙА СЦЫЛКО</a>';

if ($output_method == 'echo')
{
if ($context['user']['is_guest'])
echo $txt['welcome_guest'];
else
echo $txt['hello_member'], ' <b>', $context['user']['name'], '</b>', allowedTo('pm_read') ? ', ' . $txt[152] . ' <a href="' . $scripturl . '?action=pm">' . $context['user']['messages'] . ' ' . ($context['user']['messages'] == '1' ? $txt[471] : $txt[153]) . '</a>' . $txt['newmessages4'] . ' ' . $context['user']['unread_messages'] . ' ' . ($context['user']['unread_messages'] == '1' ? $txt['newmessages0'] : $txt['newmessages1']) : '',$outReklama, '.';
}
// Don't echo... then do what?!
else
return $context['user'];
}
Зачем же быть душою общества, <br />Когда души в нем вовсе нет. (c) В.С.Высоцкий