2013-11-20 3 views
1

Я ищу веб-сервис, который создаст группу. Я просмотрел доступный веб-сервис в elgg. Я могу только найти следующие веб-услуг, связанных с группой -Создание/редактирование группового веб-сервиса в ELGG

Группа

  • group.join Присоединение к группе
  • group.leave выхода из группы
  • group.forum.save_post вывешивать новый тема в группе
  • group.forum.delete_post Удаление темы из группы
  • group.forum.get_latest_post Получить последнюю запись в группе
  • group.forum.get_reply Получить ответы на пост
  • group.forum.save_reply Разместить ответ
  • group.forum.delete_reply Удалить ответ

У нас есть все для создания группы веб-службы в Elgg ,

ответ

1

Пожалуйста, добавьте следующую функцию, и его Defination в файле WebService в ELGG/engine/lib/web_services.php

/** 
* The group.save API. 
* This API call lets a user to create group. 
* 
* @param string $name group name 
* @param string $briefdescription short description 
* @param string $description long description 
* @param string $interests tags comma separated 
* @param int $group_guid GUID of group if its edit request 
* 
* @return bool success/fail 
* @access public 
*/ 
function group_save($name, $briefdescription, $description, $interests, $group_guid) 
{ 
    //you can change/pass below parameters from POST 
    $_GET['action']='groups/edit'; 
    $_POST['membership'] = '2'; 
    $_POST['activity_enable'] = 'yes'; 
    $_POST['blog_enable'] = 'yes'; 
    $_POST['forum_enable'] = 'yes'; 
    $_POST['pages_enable'] = 'yes'; 

    //include file at location "ELGG/mod/groups/actions/groups/edit.php" 
    include_once '../../mod/groups/actions/groups/edit.php'; 

    //Or you can copy all code from that file and paste it here. And do modification according to your need. 

} 

Наконец, вы должны выставить функцию, как следующее:

expose_function(
     "group.save", 
     "group_save", 
     array(
         'name' => array ('type' => 'string'), 
         'briefdescription' => array ('type' => 'string'), 
         'description' => array ('type' => 'string'), 
         'interests' => array ('type' => 'string'), 
         'group_guid' => array ('type' => 'int', 'required' => false), 
     ), 
     'User add/edit group', 
     'POST', 
     true, 
     true 
    ); 
+1

Вы можете сделать то же самое через плагин. Посмотрите, почему: http://docs.elgg.org/wiki/Dont_Modify_Core –

+0

@ PawełSroka Я говорю о веб-сервисе, так как я могу создать только один веб-сервис для создания группы, потому что доступны службы отдыха. – Parixit

+0

@ PawełSroka Я не хочу менять ядро, но если я использую какой-либо плагин для веб-сервисов, тогда я могу добавить такую ​​же функцию в этот файл плагина вместо 'web_services.php'. Моя цель - показать веб-сервис группы. – Parixit

0

Paweł Sroka прав. вы можете создать базовый плагин с manifest.xml и start.php в нем и поместить свой код в start.php, и неважно, что вы пишете в нем одну функцию или сотни. , например, вы можете посмотреть следующий плагин:

+0

Я уже просмотрел все доступные плагины webservice, и, наконец, я узнал, что нет веб-сервиса для создания группы. Пожалуйста, прочтите мой вопрос. – Parixit