ジョムソーシャル イベントをジョムソーシャル グループと統合しようとしています。私が達成しようとしているのは、イベントの作成時にグループを自動的に作成することです。
そのような機能に関するヒントはありますか? 私が念頭に置いているアプローチは、jomsocial API の関数 onEventCreate($event) を利用して、グループ作成メカニズムを呼び出すことです。それは正しい方法ですか?
ジョムソーシャル イベントをジョムソーシャル グループと統合しようとしています。私が達成しようとしているのは、イベントの作成時にグループを自動的に作成することです。
そのような機能に関するヒントはありますか? 私が念頭に置いているアプローチは、jomsocial API の関数 onEventCreate($event) を利用して、グループ作成メカニズムを呼び出すことです。それは正しい方法ですか?
はい、これは私が取るアプローチです。
groups.php コントローラーでメソッド save() を見つけることができます。これを実装するために必要なすべてのコードがここにあります。
大まかなコード:
$my =& CFactory::getUser();
$config =& CFactory::getConfig();
$group =& JTable::getInstance( 'Group' , 'CTable' );
$group->name = $name;
$group->description = $description;
$group->categoryid = $categoryId; // Category Id must not be empty and will cause failure on this group if its empty.
$group->website = $website;
$group->ownerid = $my->id;
$group->created = gmdate('Y-m-d H:i:s');
$group->approvals = 0;
$params = new CParameter( '' );
// Here you need some code from private _bindParams()
$group->params = $params->toString();
$group->published = ( $config->get('moderategroupcreation') ) ? 0 : 1;
$group->store();
// Other useful stuff:
// - store the creator / admin into the groups members table
// - add into activity stream