From ff55db33f9063a85a795a735f545ee6c3984aac2 Mon Sep 17 00:00:00 2001 From: Cyril Vazquez <cyril.vazquez@maarch.org> Date: Thu, 17 Jan 2013 10:05:39 +0000 Subject: [PATCH] Evo: New diffusion to contributors (dest, cc, contrib) --- entities/trunk/load_listinstance.php | 40 +++++++- entities/trunk/manage_listinstance.php | 129 ++++++++++++++++++++++++- 2 files changed, 167 insertions(+), 2 deletions(-) diff --git a/entities/trunk/load_listinstance.php b/entities/trunk/load_listinstance.php index b5d7f2e50fc..6131f22cb77 100644 --- a/entities/trunk/load_listinstance.php +++ b/entities/trunk/load_listinstance.php @@ -80,7 +80,7 @@ if (isset($_SESSION[$origin]['diff_list']['dest']['user_id']) if (count($_SESSION[$origin]['diff_list']['copy']['users']) > 0 || count($_SESSION[$origin]['diff_list']['copy']['entities']) > 0 ) { - if (! $onlyCC) { + if (! $onlyCC || count($_SESSION[$origin]['diff_list']['contrib']['users']) > 0) { $content .= '<p class="sstit">' . _TO_CC . '</p>'; } $content .= '<table cellpadding="0" cellspacing="0" border="0" class="listingsmall">'; @@ -133,6 +133,44 @@ if (isset($_SESSION[$origin]['diff_list']['dest']['user_id']) } $content .= '</table>'; } + // AMF contrib + if (count($_SESSION[$origin]['diff_list']['contrib']['users']) > 0 + || count($_SESSION[$origin]['diff_list']['contrib']['entities']) > 0 + ) { + if (! $onlyCC || count($_SESSION[$origin]['diff_list']['contrib']['users']) > 0) { + $content .= '<br/><p class="sstit">' . _TO_CONTRIB . '</p>'; + } + $content .= '<table cellpadding="0" cellspacing="0" border="0" class="listing spec detailtabricatordebug">'; + $color = ' class="col"'; + for ($i = 0; $i < count( + $_SESSION[$origin]['diff_list']['contrib']['users'] + ); $i ++ + ) { + if ($color == ' class="col"') { + $color = ''; + } else { + $color = ' class="col"'; + } + $content .= '<tr ' . $color . ' >'; + $content .= '<td><img src="' . $_SESSION['config']['businessappurl'] + . 'static.php?filename=manage_users_entities_b_small.gif' + . '&module=entities" alt="' . _USER . '" title="' . _USER + . '" /></td>'; + $content .= '<td >' + . $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['firstname'] + . '</td>'; + $content .= '<td >' + . $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['lastname'] + . '</td>'; + $content .= '<td>' + . $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['entity_label'] + . '</td>'; + $content .= '</tr>'; + } + $content .= '</table>'; + } + + $labelButton = _MODIFY_LIST; $arg = '&mode=up'; } else { diff --git a/entities/trunk/manage_listinstance.php b/entities/trunk/manage_listinstance.php index aa9d21ddea0..2a6b1f1abc1 100644 --- a/entities/trunk/manage_listinstance.php +++ b/entities/trunk/manage_listinstance.php @@ -170,6 +170,9 @@ if (! isset($_SESSION[$origin]['diff_list']['copy']['users'])) { if (! isset($_SESSION[$origin]['diff_list']['copy']['entities'])) { $_SESSION[$origin]['diff_list']['copy']['entities'] = array(); } +if (! isset($_SESSION[$origin]['diff_list']['contrib']['users'])) { + $_SESSION[$origin]['diff_list']['contrib']['users'] = array(); +} if (isset($_GET['action']) && $_GET['action'] == "add_entity") { if (isset($_GET['id']) && ! empty($_GET['id'])) { @@ -331,7 +334,50 @@ if (isset($_GET['action']) && $_GET['action'] == "add_entity") { ); } usort($_SESSION[$origin]['diff_list']['copy']['users'], "cmpUsers"); -} +} +// AMF +elseif (isset($_GET['action']) && $_GET['action'] == "add_contrib") { + if (isset($_GET['id']) && ! empty($_GET['id'])) { + $id = $_GET['id']; + $find = false; + for ($i = 0; $i < count( + $_SESSION[$origin]['diff_list']['contrib']['users'] + ); $i ++ + ) { + if ($id == $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['user_id']) { + $find = true; + break; + } + } + if ($find == false) + { + $db->query( + "SELECT u.firstname, u.lastname, u.department, e.entity_id, " + . "e.entity_label FROM " . USERS_TABLE . " u, " . ENT_ENTITIES + . " e, " . ENT_USERS_ENTITIES . " ue WHERE u.user_id='" + . $db->protect_string_db($id) . "' and " + . " e.entity_id = ue.entity_id and u.user_id = ue.user_id" + ); + $line = $db->fetch_object(); + $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['user_id'] = $db->show_string($id); + $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['firstname'] = $db->show_string($line->firstname); + $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['lastname'] = $db->show_string($line->lastname); + $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['entity_id'] = $db->show_string($line->entity_id); + $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['entity_label'] = $db->show_string($line->entity_label); + } + } +} elseif (isset($_GET['action']) && $_GET['action'] == "remove_contrib") { + $rank = $_GET['rank']; + if (isset($_GET['id']) && ! empty($_GET['id'])) { + $id = $_GET['id']; + if ($_SESSION[$origin]['diff_list']['contrib']['users'][$rank]['user_id'] == $id) { + unset($_SESSION[$origin]['diff_list']['contrib']['users'][$rank]); + $_SESSION[$origin]['diff_list']['contrib']['users'] = array_values( + $_SESSION[$origin]['diff_list']['contrib']['users'] + ); + } + } +} $core->load_html(); $core->load_header(_USER_ENTITIES_TITLE); @@ -433,6 +479,7 @@ if ((isset($_GET['what_users']) && ! empty($_GET['what_users'])) && (count($_SESSION[$origin]['diff_list']['copy']['users']) > 0 || count($_SESSION[$origin]['diff_list']['copy']['entities']) > 0) ) + || !empty($_SESSION[$origin]['diff_list']['contrib']['user_id']) ) { ?> <div id="diff_list" align="center"> @@ -619,6 +666,76 @@ if ((isset($_GET['what_users']) && ! empty($_GET['what_users'])) } ?> <br/> + + <?php + // AMF + if (count($_SESSION[$origin]['diff_list']['contrib']) > 0) + { + ?> + <h2 class="sstit"><?php echo _TO_CONTRIB;?></h2> + <table cellpadding="0" cellspacing="0" border="0" class="listing liste_diff spec"> + <?php + $color = ' class="col"'; + for ($i = 0; $i < count( + $_SESSION[$origin]['diff_list']['contrib']['users'] + ); $i ++ + ) { + if ($color == ' class="col"') { + $color = ''; + } else { + $color = ' class="col"'; + } + ?> + <tr <?php echo $color; ?> > + <td><img src="<?php + echo $_SESSION['config']['businessappurl'] . 'static.php?filename=' + . 'manage_users_entities_b.gif&module=entities'; + ?>" alt="<?php + echo _USER; + ?>" title="<?php + echo _USER; + ?>" /></td> + <td ><?php + echo $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['lastname']; + ?></td> + <td ><?php + echo $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['firstname']; + ?></td> + <td><?php + echo $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['entity_label']; + ?></td> + <td class="action_entities"> + <?php + if (!$noDelete) { + ?> + <a href="<?php + echo $link; + ?>&what_users=<?php + echo $whatUsers; + ?>&what_services=<?php + echo $whatServices; + ?>&action=remove_contrib&rank=<?php + echo $i; + ?>&id=<?php + echo $_SESSION[$origin]['diff_list']['contrib']['users'][$i]['user_id'] + ;?>" class="delete"><?php + echo _DELETE; + ?></a> + <?php + } + ?> + </td> + <td class="action_entities"> </td> + </tr> + <?php + } + ?> + </table> + <br/> + + <?php + } + ?> <form name="pop_diff" method="post" > <div align="center"> <?php @@ -685,6 +802,16 @@ if ((isset($_GET['what_users']) && ! empty($_GET['what_users'])) echo $users[$j]['ID']; ?>" class="change"><?php echo _ADD; + ?></a> <a href="<?php + echo $link; + ?>&what_users=<?php + echo $whatUsers; + ?>&what_services=<?php + echo $whatServices; + ?>&action=add_contrib&id=<?php + echo $users[$j]['ID']; + ?>" class="change"><?php + echo _ADD_CONTRIB; ?></a></td> </tr> <?php -- GitLab