Орден за самое большое количество друзей

Награды

 
Посетитель
small user social cms
Медаль
Сообщений: 279
Вот тут пришла мысль, (редко но бывает ) scratch насколько было бы востребовано выдавать награды за
определенное или наибольшее количество друзей. Собственно интересуют все мнения по этому поводу.
Модератор
small user social cms
МедальМедаль за отзывчивостьКубок зрительских симпатий
Сообщений: 435
Можно еще за самое большое количество записей на стене, личных сообщений - медаль, нет Орден выдавать...

Да что там - всем по ордену!
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 247
Александр:

Можно еще за самое большое количество записей на стене, личных сообщений - медаль, нет Орден выдавать...

Да что там - всем по ордену!

Саш подскажи ему как вывести в награды количество друзей..пускай рисует орден в наградах)))
Я бы тоже эту фишку бы в нес в социалку к себе)) у меня орденов много)))))))))))
Говорят, что лень — двигатель прогресса. Когда человеку стало трудно носить тяжести, он придумал колесо.
Модератор
small user social cms
МедальМедаль за отзывчивостьКубок зрительских симпатий
Сообщений: 435
Саш подскажи...пускай рисует орден в наградах))) Я бы тоже эту фишку бы в нес

А не боишься что ручками много править придется???
А сложности при обновлении не пугают???
Посетитель
small user social cms
МедальКубок зрительских симпатийСамый позитивный участник форума!Золотая медаль имени ЛезгинкиАвторитет форума
Сообщений: 1778
Александр:
Да что там - всем по ордену!
Ниже ордена не бить 8))))))))
Александр:
А сложности при обновлении не пугают???
Просто надоело, каждый раз вспоминать, че ж там накручено было...
Редактировалось: 1 раз (Последний: 10 сентября 2010 в 22:31)
Все не то, чем кажется и не наоборот...
Модератор
small user social cms
МедальМедаль за отзывчивостьКубок зрительских симпатий
Сообщений: 435
Ниже ордена не бить 8))))))))

+1 smile ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Модератор
small user social cms
МедальМедаль за отзывчивостьКубок зрительских симпатий
Сообщений: 435

Для тех, кто много хочет, но не боится рисковать........

Претензии, предъявы не принимаются. У себя проверил. Работает.

1) Делаем запрос в базу.

Код PHP:
  1. ALTER TABLE cms_user_autoawards ADD p_friends int(11) AFTER p_karma

2) Открываем файл admin\components\autoawards\backend.php

Где-то между скобками
Код PHP:
  1. if ($opt == 'submit'){
  2. .........
  3. .........
  4. .........
  5. }
после строчки
Код PHP:
  1. $p_privphoto = (int)$_REQUEST['p_privphoto'];
добавим
Код PHP:
  1. $p_friends = (int)$_REQUEST['p_friends'];
И поправим запрос вместо

Код PHP:
  1. $sql = "INSERT INTO cms_user_autoawards (title, description, imageurl, p_comment, p_blog, p_forum, p_photo, p_privphoto, p_content, p_karma, published)
  2. VALUES ('$title', '$description', '$imageurl', $p_comment, $p_blog, $p_forum, $p_photo, $p_privphoto, $p_content, $p_karma, $published)";
Напишем
Код PHP:
  1.  
  2. $sql = "INSERT INTO cms_user_autoawards (title, description, imageurl, p_comment, p_blog, p_forum, p_photo, p_privphoto, p_content, p_karma, p_friends, published)
  3. VALUES ('$title', '$description', '$imageurl', $p_comment, $p_blog, $p_forum, $p_photo, $p_privphoto, $p_content, $p_karma, $p_friends, $published)";

Чуть ниже похожие маневры в разделе
Код PHP:
  1.  
  2. if ($opt == 'update'){
  3. .........
  4. .........
  5. .........
  6. }
после
Код PHP:
  1. $p_privphoto = (int)$_REQUEST['p_privphoto'];
напишем
Код PHP:
  1. $p_friends = (int)$_REQUEST['p_friends'];
и вместо

Код PHP:
  1. $sql = "UPDATE cms_user_autoawards
  2. SET title='$title',
  3. description='$description',
  4. imageurl='$imageurl',
  5. p_comment=$p_comment,
  6. p_blog=$p_blog,
  7. p_forum=$p_forum,
  8. p_photo=$p_photo,
  9. p_privphoto=$p_privphoto,
  10. p_content=$p_content,
  11. p_karma=$p_karma,
  12. published=$published
  13. WHERE id = $id";
Напишем

Код PHP:
  1. $sql = "UPDATE cms_user_autoawards
  2. SET title='$title',
  3. description='$description',
  4. imageurl='$imageurl',
  5. p_comment=$p_comment,
  6. p_blog=$p_blog,
  7. p_forum=$p_forum,
  8. p_photo=$p_photo,
  9. p_privphoto=$p_privphoto,
  10. p_content=$p_content,
  11. p_karma=$p_karma,
  12. p_friends=$p_friends,
  13. published=$published
  14. WHERE id = $id";
Теперь спустимся еще чуть ниже и после строк

Код PHP:
  1. if (!isset($mod['p_comment'])){ $mod['p_comment'] = 0; }
  2. if (!isset($mod['p_content'])){ $mod['p_content'] = 0; }
  3. if (!isset($mod['p_blog'])){ $mod['p_blog'] = 0; }
  4. if (!isset($mod['p_karma'])){ $mod['p_karma'] = 0; }
  5. if (!isset($mod['p_forum'])){ $mod['p_forum'] = 0; }
  6. if (!isset($mod['p_photo'])){ $mod['p_photo'] = 0; }
  7. if (!isset($mod['p_privphoto'])){ $mod['p_privphoto'] = 0; }
Добавим

Код PHP:
  1. if (!isset($mod['p_friends'])){ $mod['p_friends'] = 0; }
А после
Код PHP:
  1. <tr>
  2. <td><img src="/admin/components/autoawards/images/p_privphoto.gif" width="16" height="16" /></td>
  3. <td><input name="p_privphoto" type="text" id="p_input" size="5" value="<?php echo @$mod['p_privphoto'];?>" /></td>
  4. <td>фотографий в личном альбоме </td>
  5. </tr>
Добавим

Код PHP:
  1. <tr>
  2. <td><img src="/admin/components/autoawards/images/p_friends.gif" width="16" height="16" /></td>
  3. <td><input name="p_friends" type="text" id="p_input" size="5" value="<?php echo @$mod['p_friends'];?>" /></td>
  4. <td>друзей на сайте </td>
  5. </tr>
А в папку admin\components\autoawards\images забросим картинку размером 16*16 с изображением человечка(ов) - не обязательно, конечно,
это на аэродинамику полета не влияет :)

Все. С Админкой закончили...

3)Теперь правим файл core\classes\user.class.php а именно функцию checkAwards

после строки
Код PHP:
  1. $p_karma = dbGetField('cms_user_profiles', "user_id=$user_id", 'karma');
допишем

Код PHP:
  1. $p_friends = dbRowsCount('cms_user_friends', "(from_id=$user_id OR to_id=$user_id) AND is_accepted=1");
после
Код PHP:
  1. ($award['p_forum'] <= $p_forum) &&
  2. ($award['p_photo'] <= $p_photo) &&
  3. ($award['p_privphoto'] <= $p_privphoto) &&

допишем


Код PHP:
  1. ($award['p_friends'] <= $p_friends) &&

Все. Тут тоже закончили...

4)И напоследок открываем components\users\frontend.php

в разделе
Код PHP:
  1. ///////////////////// ADD FRIEND ///////
  2. if ($do=='addfriend'){
  3. .......
  4. .......
  5. .....
после строк
Код PHP:
  1. if ($model->isNewFriends($inUser->id, $id)){
  2. $sql = "UPDATE cms_user_friends SET is_accepted = 1 WHERE to_id = ".$inUser->id." AND from_id = $id";
  3. $inDB->query($sql);
Вставим такую

Код PHP:
  1. cmsUser::checkAwards($inUser->id);
  2. cmsUser::checkAwards($id);

Уххххххх. Вот теперь вроде КоНеЦ.

Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 247
супер..ещё один орден привязал dance ты теперь не Гений ты Теперь Советник по государевым наградам))) +5
Говорят, что лень — двигатель прогресса. Когда человеку стало трудно носить тяжести, он придумал колесо.
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 247

qwest

Ты хотел орден для друзей. Пропиши ручками примера

Александра

Вот смотри как выглядит внедрёнка от Александра

Орден за самое большое количество друзей

теперь штампуй награды))))))))))))
Говорят, что лень — двигатель прогресса. Когда человеку стало трудно носить тяжести, он придумал колесо.
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 247
Саш нашел не дочёт))))

Как получить награду? не выводит)))
Орден за самое большое количество друзей
Говорят, что лень — двигатель прогресса. Когда человеку стало трудно носить тяжести, он придумал колесо.
Посетитель
small user social cms
Медаль
Сообщений: 279
Даже как то не ожидал, думал слегка обсудить а тут уже все в коде.
Кодерам респект, будем пробовать. v
Модератор
small user social cms
МедальМедаль за отзывчивостьКубок зрительских симпатий
Сообщений: 435
Саш нашел не дочёт))))

Да. Есть место данный недочет. Промолгал...

Как исправить(добавить):

В файле components\users\frontend.php в разделе

Код PHP:
  1. /////////////// VIEW AWARDS LIST /////
  2. if ($do=='awardslist'){
  3. ..........
  4. ........
  5. ......

После строк
Код PHP:
  1. if ($aw['p_privphoto']>0){
  2. echo '<tr>'."\n";
  3. echo '<td><img src="/admin/components/autoawards/images/p_privphoto.gif" width="16" height="16" /></td>'."\n";
  4. echo '<td>'."\n";
  5. echo $aw['p_privphoto']."\n";
  6. echo ' '.$_LANG['PHOTOS_IN_PRIVATE_ALBUM'].'</td>'."\n";
  7. echo '</tr>'."\n";
  8. }
Надо добавить
Код PHP:
  1.  
  2. if ($aw['p_friends']>0){
  3. echo '<tr>'."\n";
  4. echo '<td><img src="/admin/components/autoawards/images/p_friends.gif" width="16" height="16" /></td>'."\n";
  5. echo '<td>'."\n";
  6. echo $aw['p_friends']."\n";
  7. echo ' друзей на сайте</td>'."\n";
  8. echo '</tr>'."\n";
  9. }
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: