Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 30 Ответов
  • 7029 Просмотров
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
2 часа поисков концов, час модификации и отладки и вот эти сообщения приходят в личку :)) Вот только косяк в том, что как такового приглашения то Социалка оказывается не высылает, тупо приходит письмо что вас приглашают в группу и ссылка на эту группу, а там вам самим надо проситься в эту группу и ждать пока вас примут туда... (todo: сделать нормальные приглашения)... а пока то, что получилось, кому интересно:

нам нужен файл: /com_community/controllers/groups.php начиная со строки 2058 (примерно, могло немного сдвинуться), строка выглядит так:

Код
$this->_notify( 'groups.invite' , $my->id , $invited , JText::sprintf('CC INVITED TO JOIN GROUP' , $group->name ), '' , 'groups.invite' , $tmplData );

ниже неё добавляем следующий код:
Код
				$tmplData['url']		= '<a href="'.$tmplData['url'].'">'.$tmplData['url'].'</a>';
$tmplData['groupname'] = '<strong>'.$tmplData['groupname'].'</strong>';
$tmplData['message'] = '<em>'.$tmplData['message'].'</em>';

$send_msg_model = new JCCModel();
$db =& $send_msg_model->getDBO();
$obj = new stdClass();
$recepient = new stdClass();

$tmpl = new CTemplate();

foreach($tmplData as $key => $val) {
$tmpl->set($key,  $val);
}
  $templateBody =  $tmpl->fetch('groups.invite');

foreach ($invited as $recip) {
$obj->id = null;
$obj->from = $my->id;
$obj->posted_on = date("Y-m-d H:i:s");;
$obj->from_name = $my->username;
$obj->subject = JText::sprintf('CC INVITED TO JOIN GROUP' , $group->name );

$userTo = CFactory::getUser($recip);
$recipientName = $userTo->getDisplayName();

$search = array('{actor}', '{target}');
$replace = array('<strong>'.$my->username.'</strong>', $recipientName );

$msgBody = JString::str_ireplace($search, $replace, $templateBody);
$msgBody = nl2br($msgBody);

$obj->body = $msgBody;
$db->insertObject('#__community_msg', $obj, 'id');
$obj->parent = $obj->id;
$db->updateObject('#__community_msg', $obj, 'id');

$recepient->msg_id = $obj->id;
$recepient->msg_parent = $obj->parent;
$recepient->msg_from = $obj->from;
$recepient->to = $recip;
$db->insertObject('#__community_msg_recepient', $recepient);

if($db->getErrorNum()) {
JError::raiseError( 500, $db->stderr());
}
}

и ещё в шапке файла после:
Код
defined('_JEXEC') or die('Restricted access');
добавляем 2 строчки:
Код
jimport('joomla.application.component.model');
require_once( JPATH_ROOT . DS . 'components' . DS . 'com_community' . DS . 'models' . DS . 'models.php' );
« Последнее редактирование: 16.02.2010, 16:03:29 от Zombeee »
*

Deni

  • Захожу иногда
  • 61
  • 2 / 0
спасибо, мил человек!
*

ILexus

  • Осваиваюсь на форуме
  • 37
  • 5 / 0
и ещё в шапке сайта после:
Код
defined('_JEXEC') or die('Restricted access');
добавляем 2 строчки:
Код
jimport('joomla.application.component.model');
require_once( JPATH_ROOT . DS . 'components' . DS . 'com_community' . DS . 'models' . DS . 'models.php' );
Можно уточнить что за шапка сайта. Догнать не могу :)

З.Ы. Спасибо за решение.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
неправильно выразился, не шапка сайта, а шапка этого файла (ну блин в самом верху :))
*

ILexus

  • Осваиваюсь на форуме
  • 37
  • 5 / 0
Zombeee, проверь пожалуйста помоему ты забыл закрыть цикл foreach. В самом конце твоего кода нужно добавить }
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Zombeee, проверь пожалуйста помоему ты забыл закрыть цикл foreach. В самом конце твоего кода нужно добавить }

не то чтобы забыл, прост скопировал так, видимо... исправил! :)
*

Deni

  • Захожу иногда
  • 61
  • 2 / 0
где копать как перевести это личное сообщение, а то у меня на en. ?
*

ILexus

  • Осваиваюсь на форуме
  • 37
  • 5 / 0
где копать как перевести это личное сообщение, а то у меня на en. ?

/components/com_community/templates/default/groups.invite.php

Не забудь сохранить файл в UTF-8
*

Sergeych

  • Захожу иногда
  • 161
  • 25 / 0
Странно, но у меня ничего не произошло ((( т.е. никаких оповещений не появилось  >:(
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
старые приглашения не придут, только новые, которые будут высланы после внесения этого изменения...
*

Sergeych

  • Захожу иногда
  • 161
  • 25 / 0
новые не приходят (( думал может дело в Денвере, но на хостинге тоже не приходят ((
JomSocial 1.6.285
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
проверь файлик шаблона

/components/com_community/templates/default/groups.invite.php // или. если у тебя в шаблоне есть свой файлик groups.invite.php, то естественно проверяй его... дифолтный берется только в том случае, если в папке с твоим шаблоном такого файла нет

он должен быть UTF-8 без bom иначе на нем функция записи в mySQL стопорнется и естетсвенно ничего не произойдет
*

Sergeych

  • Захожу иногда
  • 161
  • 25 / 0
Нет, дело не в этом, просто я из-за криворукости код не целиком вставил (не заметил скроллинг справа) ;D
Теперь всё работает yes!
Респект автору *DRINK*
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Нет, дело не в этом, просто я из-за криворукости код не целиком вставил (не заметил скроллинг справа) ;D
Теперь всё работает yes!
Респект автору *DRINK*

ну, главное разобрался :) успехов!
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Спасибо!
Всё есть в тебе. Реализовывайся.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Чет у нас в топике как-то с модераторами туго! :) давайте уже базу знаний подбивать, а то все топики с решениями вниз уходя, надо бы прикрепить, либо один топик для всего создать, но что-то делать надо :)
*

SyncMaster

  • Moderator
  • 103
  • 51 / 6
Чет у нас в топике как-то с модераторами туго! :) давайте уже базу знаний подбивать, а то все топики с решениями вниз уходя, надо бы прикрепить, либо один топик для всего создать, но что-то делать надо :)
1. С каких пор в обязанности модератора входит составление FAQ'а? ;)
2. Если прикреплять все «полезности» подряд, то это на 2 страницы выйдет. Соберите все «полезности» в одном месте, а я потом отформатирую их и закреплю.

P.S. Вот в начале февраля уезжал почти на 3 недели и не было ни времени, ни нормального инета. До сих пор не разгреб свои дела. И тут еще надо проверить флуд и бестолковые темы. Такое впечатление, что я вообще не должен спать :)
*

SyncMaster

  • Moderator
  • 103
  • 51 / 6
Поддерживаю, а по сему отписываюсь тут, чтобы топ не уплыл в небытие))
Вот флуд как раз приводит к тому, что темы «уходят».
*

Sergeych

  • Захожу иногда
  • 161
  • 25 / 0
Выявилась проблемка ((
при прочтении этого уведомления не в сплывающем окошке а в inbox - вылезает HTML код файла groups.invite.php
и пользователь видит что-то типа
Код
Здравствуйте,<br /> <br /> <strong>webmaster</strong> приглашает Вас присоединиться к группе (<strong>Группа</strong>). Ниже находится сообщение отправленное <strong>webmaster</strong>,<br /> <br /> Сообщение:<br /> <br /> <em></em><br /> Для просмотра группы перейдите по адресу:<br /> <br /> <a href=".....
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
всё верно, забыл уточнить, что у меня шаблоны писем сделаны только в виде текста, HTML я убрал
*

SibPartizan

  • Захожу иногда
  • 66
  • 1 / 0
А как сделать что бы приходило в виде HTML
*

SibPartizan

  • Захожу иногда
  • 66
  • 1 / 0
Zombeee
одна надежда на Вас..  !
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
а никак:) ЛС режут теги в целях безопасности и это правильно
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
Проблема с приглашениями в группы в JS
« Ответ #23 : 09.07.2010, 14:49:06 »
Собственно они просто не приходят пользователям. :'( причем по базе данных видно что  приглашения отсылаются и даже достигают адресата, но пользователям никакого намека на приглашения не не приходит! подскажите, если кто знает в чем может быть дело!
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

Hot_Gomer

  • Захожу иногда
  • 296
  • 12 / 0
  • sudo su
и ссылка на группу в одну строчку прям "сквозь" приглашения проходит
« Последнее редактирование: 16.07.2010, 09:34:11 от Hot_Gomer »
Joomla, Drupal, Ruby on Rails -
что может быть лучше?)
*

deacon

  • Захожу иногда
  • 57
  • 2 / 0
Подскажите как где что прописать в версии 1.8 пожалуйста
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Hot_Gomer,
Проверьте конфигурацию, вот здесь почитайте, может что-то упустили
Цитировать
и ссылка на группу в одну строчку прям "сквозь" приглашения проходит
Мне не понятно как это выглядит...
« Последнее редактирование: 03.09.2010, 05:32:57 от kharol »
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

deacon

  • Захожу иногда
  • 57
  • 2 / 0
Просто в /com_community/controllers/groups.php в новой версии 1.8.5-1.8.8 эти строчки выглядят совсем по другому.
Например вот такого нет:
$this->_notify( 'groups.invite' , $my->id , $invited , JText::sprintf('CC INVITED TO JOIN GROUP' , $group->name ), '' , 'groups.invite' , $tmplData );
В новых версиях выглядит так:
Цитировать
JRequest::checkToken() or jexit( JText::_( 'CC INVALID TOKEN' ) );
         if( !empty($invited ) )
         {
            $my            = CFactory::getUser();
            $mainframe      =& JFactory::getApplication();
            $groupsModel   =& CFactory::getModel( 'Groups' );
            $group         =& JTable::getInstance( 'Group' , 'CTable' );
            $group->load( $groupId );

            
            foreach( $invited as $invitedUserId )
            {
               $groupInvite         =& JTable::getInstance( 'GroupInvite' , 'CTable' );
               $groupInvite->groupid   = $group->id;
               $groupInvite->userid   = $invitedUserId;
               $groupInvite->creator   = $my->id;
               
               $groupInvite->store();
            }
            // Add notification
            CFactory::load( 'libraries' , 'notification' );

            $params         = new JParameter( '' );
            $params->set('url' , 'index.php?option=com_community&view=groups&task=viewgroup&groupid=' . $group->id );
            $params->set('groupname' , $group->name );
            $params->set('message' , $inviteMessage );

            CNotificationLibrary::add( 'groups.invite' , $my->id , $invited , JText::sprintf('CC INVITED TO JOIN GROUP' , $group->name ), '' , 'groups.invite' , $params );
            
            $mainframe->redirect( CRoute::_('index.php?option=com_community&view=groups&task=viewgroup&groupid=' . $group->id , false ), JText::_( 'CC GROUP INVITATIONS SENT' ) );            
         }
         else
         {
            $view->addWarning( JText::_('CC INVITE NEED AT LEAST 1 FRIEND') );
         }

Я заменил на блок от старой версии + изменения описанные выше.
То есть сейчас выглядит так:
Цитировать
          JRequest::checkToken() or jexit( JText::_( 'CC INVALID TOKEN' ) );
         if( !empty($invited ) )
         {
            $my            = CFactory::getUser();
            $mainframe      =& JFactory::getApplication();
            $groupsModel   =& CFactory::getModel( 'Groups' );
            $group         =& JTable::getInstance( 'Group' , 'CTable' );
            $group->load( $groupId );

            $tmplData            = array();
            $tmplData['url']      = CRoute::getExternalURL('index.php?option=com_community&view=groups&task=viewgroup&groupid=' . $group->id );
            $tmplData['groupname']   = $group->name;
            $tmplData['message']   = $inviteMessage;

            // Send notification to the invited user.
            $this->_notify( 'groups.invite' , $my->id , $invited , JText::sprintf('CC INVITED TO JOIN GROUP' , $group->name ), '' , 'groups.invite' , $tmplData );
            
            $tmplData['url']      = '<a href="'.$tmplData['url'].'">'.$tmplData['url'].'</a>';
            $tmplData['groupname']   = '<strong>'.$tmplData['groupname'].'</strong>';
            $tmplData['message']   = '<em>'.$tmplData['message'].'</em>';
            
            $send_msg_model = new JCCModel();
            $db =& $send_msg_model->getDBO();
            $obj = new stdClass();
            $recepient = new stdClass();
      
            $tmpl = new CTemplate();
               
            foreach($tmplData as $key => $val) {
               $tmpl->set($key,  $val);
            }
              $templateBody =  $tmpl->fetch('groups.invite');
      
            foreach ($invited as $recip) {
               $obj->id = null;
               $obj->from = $my->id;
               $obj->posted_on = date("Y-m-d H:i:s");;
               $obj->from_name   = $my->username;
               $obj->subject   = JText::sprintf('CC INVITED TO JOIN GROUP' , $group->name );
               
               $userTo       = CFactory::getUser($recip);
               $recipientName   = $userTo->getDisplayName();
               
               $search    = array('{actor}', '{target}');
               $replace    = array('<strong>'.$my->username.'</strong>', $recipientName );            
               
               $msgBody       = JString::str_ireplace($search, $replace, $templateBody);   
               $msgBody       = nl2br($msgBody);
               
               $obj->body      = $msgBody;
               $db->insertObject('#__community_msg', $obj, 'id');
               $obj->parent = $obj->id;
               $db->updateObject('#__community_msg', $obj, 'id');
               
               $recepient->msg_id = $obj->id;
               $recepient->msg_parent = $obj->parent;
               $recepient->msg_from = $obj->from;
               $recepient->to   = $recip;      
               $db->insertObject('#__community_msg_recepient', $recepient);
               
               if($db->getErrorNum()) {
                  JError::raiseError( 500, $db->stderr());
               }
            }
            
            
            $mainframe->redirect( CRoute::_('index.php?option=com_community&view=groups&task=viewgroup&groupid=' . $group->id , false ), JText::_( 'CC GROUP INVITATIONS SENT' ) );            
         }
         else
         {
            $view->addWarning( JText::_('CC INVITE NEED AT LEAST 1 FRIEND') );
         }

Все работает.
*

quake3

  • Захожу иногда
  • 131
  • 3 / 0
а никак:) ЛС режут теги в целях безопасности и это правильно
Подскажите как сделать чтобы не резало HTML теги в сообщении..пусть даже это на безопасность влияет, но без рабочий ссылок неудобно жуть!! Спасибо заранее
*

DrEddy

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Решение хорошее, пользовался. Но не работает для 2+ версии
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор powerful888

Ответов: 0
Просмотров: 3651
Последний ответ 08.07.2020, 20:48:09
от powerful888
[Решено] Загрузка изображений при загрузке в галерею с помощью FlashUploader

Автор Yavich

Ответов: 21
Просмотров: 11170
Последний ответ 03.04.2016, 00:28:28
от andersan2000
Создать группу в адинке

Автор gartes

Ответов: 0
Просмотров: 1906
Последний ответ 01.04.2016, 14:56:57
от gartes
[Решено] Запрет редактирования E-mail и Имени

Автор Sobsoft

Ответов: 25
Просмотров: 8417
Последний ответ 10.04.2014, 13:11:03
от trong
[Решено] Не выводится общий перечень мероприятий

Автор RosNarodSport

Ответов: 2
Просмотров: 1588
Последний ответ 20.04.2013, 23:12:59
от krylof