/** * synchronize_muc_and_grp_together */ function synchronize_muc_and_grp() { $request =& HTTPRequest::instance(); $unix_group_name = $request->get('unix_group_name'); $group_id = $request->get('group_id'); $group_Owner_name = $request->get('group_Owner_name'); $group_name = $request->get('group_name'); if (!(isset($group_name) && $group_name != null)) { $group_name = $unix_group_name; } $group_description = $request->get('group_description'); if (!(isset($group_description) && $group_description != null)) { $group_description = 'No description'; } $dao = new IMDao(IMDataAccess::instance($this->getControler())); try { $dao->synchronize_muc_only($unix_group_name, $group_name, $group_description, $group_Owner_name, $group_id); $GLOBALS['Response']->addFeedback('info', $group_name . ' ' . $GLOBALS['Language']->getText('plugin_im_admin', 'synchronise_muc_msg')); } catch (Exception $e) { $GLOBALS['Response']->addFeedback('error', $group_name . ' ' . $GLOBALS['Language']->getText('plugin_im_admin', 'synchronise_muc_error') . $e->getMessage()); } try { $dao->synchronize_grp_only($unix_group_name, $group_name); $GLOBALS['Response']->addFeedback('info', $group_name . ' ' . $GLOBALS['Language']->getText('plugin_im_admin', 'synchronise_grp_msg')); } catch (Exception $e) { $GLOBALS['Response']->addFeedback('error', $group_name . ' ' . $GLOBALS['Language']->getText('plugin_im_admin', 'synchronise_grp_error') . $e->getMessage()); } }
/** * Display forms to synchronize projects (site admin view) */ private function _admin_synchronize_muc_and_grp() { $action = ''; $nb_grp = 0; $nb_muc = 0; $im_dao = new IMDao(IMDataAccess::instance($this->getControler())); $res_grp = $im_dao->search_group_without_shared_group(); $res_grp = $res_grp->query; $res_muc = $im_dao->search_group_without_muc(); $res_muc = $res_muc->query; // number of shared group to synchronize $nb_grp = db_numrows($res_grp); // number of muc room to synchronize $nb_muc = db_numrows($res_muc); $array_grp = array(); if ($nb_grp > 0) { $array_grp = result_column_to_array($res_grp, 0); } $array_muc = array(); if ($nb_muc > 0) { $array_muc = result_column_to_array($res_muc, 0); } $array_muc_and_grp = array_intersect($array_grp, $array_muc); if (sizeof($array_muc_and_grp)) { $array_muc_only = array_diff($array_muc, $array_muc_and_grp); $array_grp_only = array_diff($array_grp, $array_muc_and_grp); } else { $array_muc_only = $array_muc; $array_grp_only = $array_grp; } $pm = ProjectManager::instance(); $purifier = Codendi_HTMLPurifier::instance(); echo '<fieldset>'; echo '<legend class="im_synchronize">' . $GLOBALS["Language"]->getText('plugin_im_admin', 'projects_to_sync') . '</legend>'; if ($nb_grp != 0 || $nb_muc) { //************form if (sizeof($array_muc_and_grp)) { foreach ($array_muc_and_grp as $key => $val) { $project = $pm->getProject($val); $unix_group_name = $purifier->purify(strtolower($project->getUnixName())); $group_name = $purifier->purify($project->getPublicName()); $group_description = $purifier->purify($project->getDescription()); $grp = $pm->getProject($val); // $val = group_id; $group_id = $grp->getID(); $project_members_ids = $grp->getMembersId(); foreach ($project_members_ids as $key => $id) { $group_Owner_object = UserManager::instance()->getUserById($id); if ($group_Owner_object->isMember($val, 'A')) { $group_Owner_name = $purifier->purify(trim($group_Owner_object->getName())); } } //field label $unix_group_name_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'unix_group_name_label'); $group_description_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'group_description_label'); $group_Owner_name_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'group_Owner_name_label'); $action_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'action_label'); //plugin_im_admin - unix_group_name_label $action_on = $GLOBALS["Language"]->getText('plugin_im_admin', 'action_on_muc_and_grp'); echo '<fieldset>'; echo '<legend class="project_sync">' . $group_name . '</legend>'; echo $unix_group_name_label . $unix_group_name . '<br>'; echo $group_description_label . $group_description . '<br>'; echo $group_Owner_name_label . $group_Owner_name . '<br>'; echo $action_label . $action_on . '<br>'; echo ' <FORM class="project_sync" action="/plugins/IM/?action=codendi_im_admin" method="POST"> <INPUT TYPE="HIDDEN" NAME="action" VALUE="synchronize_muc_and_grp"> <INPUT TYPE="HIDDEN" NAME="unix_group_name" VALUE="' . $unix_group_name . '"> <INPUT TYPE="HIDDEN" NAME="group_name" VALUE="' . $group_name . '"> <INPUT TYPE="HIDDEN" NAME="group_id" VALUE=' . $group_id . '> <INPUT TYPE="HIDDEN" NAME="group_description" VALUE="' . $group_description . '"> <INPUT TYPE="HIDDEN" NAME="group_Owner_name" VALUE="' . $group_Owner_name . '"> <INPUT type="submit" name="submit" value="' . $GLOBALS["Language"]->getText('plugin_im_admin', 'im_admin_synchro_muc') . '"> </FORM> '; echo '</fieldset>'; } } if (sizeof($array_grp_only)) { $pm = ProjectManager::instance(); foreach ($array_grp_only as $key => $val) { $project = $pm->getProject($val); $unix_group_name = $purifier->purify(strtolower($project->getUnixName())); $group_name = $purifier->purify($project->getPublicName()); $group_description = $purifier->purify($project->getDescription()); $grp = $pm->getProject($val); // $val = group_id; $group_id = $grp->getID(); $project_members_ids = $grp->getMembersId(); foreach ($project_members_ids as $key => $id) { $group_Owner_object = UserManager::instance()->getUserById($id); if ($group_Owner_object->isMember($val, 'A')) { $group_Owner_name = $purifier->purify($group_Owner_object->getName()); } } //field label $unix_group_name_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'unix_group_name_label'); $group_description_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'group_description_label'); $group_Owner_name_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'group_Owner_name_label'); $action_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'action_label'); $action_on = $GLOBALS["Language"]->getText('plugin_im_admin', 'action_on_grp'); echo '<fieldset>'; echo '<legend class="project_sync">' . $group_name . '</legend>'; echo $unix_group_name_label . $unix_group_name . '<br>'; echo $group_description_label . $group_description . '<br>'; echo $group_Owner_name_label . $group_Owner_name . '<br>'; echo $action_label . $action_on . '<br>'; echo ' <FORM class="project_sync" action="/plugins/IM/?action=codendi_im_admin" method="POST"> <INPUT TYPE="HIDDEN" NAME="action" VALUE="synchronize_grp_only"> <INPUT TYPE="HIDDEN" NAME="unix_group_name" VALUE="' . $unix_group_name . '"> <INPUT TYPE="HIDDEN" NAME="group_name" VALUE="' . $group_name . '"> <INPUT TYPE="HIDDEN" NAME="group_id" VALUE=' . $group_id . '> <INPUT TYPE="HIDDEN" NAME="group_description" VALUE="' . $group_description . '"> <INPUT TYPE="HIDDEN" NAME="group_Owner_name" VALUE="' . $group_Owner_name . '"> <INPUT type="submit" name="submit" value="' . $GLOBALS["Language"]->getText('plugin_im_admin', 'im_admin_synchro_muc') . '"> </FORM> '; echo '</fieldset>'; } } if (sizeof($array_muc_only)) { $pm = ProjectManager::instance(); foreach ($array_muc_only as $key => $val) { $project = $pm->getProject($val); $unix_group_name = $purifier->purify(strtolower($project->getUnixName())); $group_name = $purifier->purify($project->getPublicName()); $group_description = $purifier->purify($project->getDescription()); $grp = $pm->getProject($val); // $val = group_id; $group_id = $grp->getID(); $project_members_ids = $grp->getMembersId(); foreach ($project_members_ids as $key => $id) { $group_Owner_object = UserManager::instance()->getUserById($id); if ($group_Owner_object->isMember($val, 'A')) { $group_Owner_name = $purifier->purify($group_Owner_object->getName()); } } //field label $unix_group_name_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'unix_group_name_label'); $group_description_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'group_description_label'); $group_Owner_name_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'group_Owner_name_label'); $action_label = $GLOBALS["Language"]->getText('plugin_im_admin', 'action_label'); $action_on = $GLOBALS["Language"]->getText('plugin_im_admin', 'action_on_muc'); echo '<fieldset>'; echo '<legend class="project_sync">' . $group_name . '</legend>'; echo $unix_group_name_label . $unix_group_name . '<br>'; echo $group_description_label . $group_description . '<br>'; echo $group_Owner_name_label . $group_Owner_name . '<br>'; echo $action_label . $action_on . '<br>'; echo ' <FORM class="project_sync" action="/plugins/IM/?action=codendi_im_admin" method="POST"> <INPUT TYPE="HIDDEN" NAME="action" VALUE="synchronize_muc_only"> <INPUT TYPE="HIDDEN" NAME="unix_group_name" VALUE="' . $unix_group_name . '"> <INPUT TYPE="HIDDEN" NAME="group_name" VALUE="' . $group_name . '"> <INPUT TYPE="HIDDEN" NAME="group_id" VALUE=' . $group_id . '> <INPUT TYPE="HIDDEN" NAME="group_description" VALUE="' . $group_description . '"> <INPUT TYPE="HIDDEN" NAME="group_Owner_name" VALUE="' . $group_Owner_name . '"> <INPUT type="submit" name="submit" value="' . $GLOBALS["Language"]->getText('plugin_im_admin', 'im_admin_synchro_muc') . '"> </FORM> '; echo '</fieldset>'; } } echo ' <FORM class="project_sync" action="/plugins/IM/?action=codendi_im_admin" method="POST"> <INPUT TYPE="HIDDEN" NAME="action" VALUE="synchronize_all"> <INPUT type="submit" name="submit" value="' . $GLOBALS["Language"]->getText('plugin_im_admin', 'im_admin_synchro_all') . '"> </FORM>'; } else { echo $GLOBALS["Language"]->getText('plugin_im_admin', 'no_project_to_synchronized'); } echo '</fieldset>'; }