Changeset 396
- Timestamp:
- 08/14/08 11:45:39 (16 years ago)
- Location:
- trunk/expressoAdmin1_2
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.bosectors.inc.php
r89 r396 170 170 } 171 171 172 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 172 if ( (!empty($GLOBALS['phpgw_info']['server']['ldap_master_host'])) && 173 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_dn'])) && 174 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_pw'])) ) 175 { 176 $connection = $GLOBALS['phpgw']->common->ldapConnect($GLOBALS['phpgw_info']['server']['ldap_master_host'], 177 $GLOBALS['phpgw_info']['server']['ldap_master_root_dn'], 178 $GLOBALS['phpgw_info']['server']['ldap_master_root_pw']); 179 } 180 else 181 { 182 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 183 } 184 173 185 $this->so->delete_sector_ldap_recursively($connection, $sector_dn); 174 186 ldap_close($connection); -
trunk/expressoAdmin1_2/inc/class.functions.inc.php
r379 r396 479 479 ldap_close($ldap_conn); 480 480 481 natcasesort($sort); 482 foreach ($sort as $computer_cn) 483 $return[$computer_cn] = $tmp[$computer_cn]; 481 if (!empty($sort)) 482 { 483 natcasesort($sort); 484 foreach ($sort as $computer_cn) 485 $return[$computer_cn] = $tmp[$computer_cn]; 486 } 484 487 485 488 return $return; -
trunk/expressoAdmin1_2/inc/class.group.inc.php
r355 r396 357 357 $this->db_functions->write_log("Adicionado usuário $user ao grupo $dn.",$dn,'','',''); 358 358 } 359 /* 359 360 else 360 361 { 361 362 // O memberUID existe no grupo, mas o usuário não existe no ldap 362 363 $this->ldap_functions->remove_user2group($new_values['gidnumber'], $uidnumber); 363 } 364 } 365 $this->ldap_functions->add_user2group($new_values['gidnumber'], $array_memberUids_add); 366 } 364 }*/ 365 } 366 if (count($array_memberUids_add) > 0) 367 $this->ldap_functions->add_user2group($new_values['gidnumber'], $array_memberUids_add); 368 } 369 367 370 if (count($remove_users)>0) 368 371 { … … 378 381 } 379 382 } 380 $this->ldap_functions->remove_user2group($new_values['gidnumber'], $array_memberUids_remove); 383 if (count($array_memberUids_remove)>0) 384 $this->ldap_functions->remove_user2group($new_values['gidnumber'], $array_memberUids_remove); 381 385 } 382 386 -
trunk/expressoAdmin1_2/inc/class.imap_functions.inc.php
r309 r396 108 108 function rename_mailbox($old_mailbox, $new_mailbox) 109 109 { 110 $result['status'] = true; 111 $result_rename = imap_renamemailbox($this->imap, 110 $quota = @imap_get_quotaroot($this->imap, '{'.$this->imap_server.':'.$this->imap_port.'}user' . $this->imapDelimiter . $old_mailbox); 111 $limit = $quota['STORAGE']['limit']; 112 113 @imap_set_quota($this->imap, '{'.$this->imap_server.':'.$this->imap_port.'}user' . $this->imapDelimiter . $old_mailbox, -1); 114 115 $result_rename = @imap_renamemailbox($this->imap, 112 116 '{'.$this->imap_server.':'.$this->imap_port.'}user' . $this->imapDelimiter . $old_mailbox, 113 117 '{'.$this->imap_server.':'.$this->imap_port.'}user' . $this->imapDelimiter . $new_mailbox); 118 119 @imap_set_quota($this->imap, '{'.$this->imap_server.':'.$this->imap_port.'}user' . $this->imapDelimiter . $new_mailbox, $limit); 114 120 115 121 if (!$result_rename) … … 118 124 $result['msg'] = "Erro na funcao imap_function->rename_mailbox.\nRetorno do servidor: " . imap_last_error(); 119 125 } 126 else 127 { 128 $result['status'] = true; 129 } 130 120 131 return $result; 121 132 } -
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r379 r396 1619 1619 return false; 1620 1620 } 1621 1622 function check_rename_new_uid($uid) 1623 { 1624 if ( !$ldapMasterConnect = $this->ldapMasterConnect() ) 1625 return false; 1626 1627 $justthese = array("dn"); 1628 $filter="(&(phpgwAccountType=u)(uid=$uid))"; 1629 1630 $search = ldap_search($ldapMasterConnect, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 1631 $count_entries = @ldap_count_entries($ldapMasterConnect, $search); 1632 1633 if ($count_entries) 1634 return false; 1635 1636 return true; 1637 } 1621 1638 1622 1639 function rename_uid($uid, $new_uid) … … 1640 1657 $return['new_dn'] = $rdn . ',' . $parent; 1641 1658 1642 if (!@ldap_rename($this->ldap, $dn, $rdn, $parent, false))1659 if (!@ldap_rename($this->ldap, $dn, $rdn, $parent, true)) 1643 1660 { 1644 1661 $return['status'] = false; -
trunk/expressoAdmin1_2/inc/class.socomputers.inc.php
r64 r396 13 13 { 14 14 var $functions; 15 var $ldap_connection; 15 16 16 17 function socomputers() 17 18 { 18 19 $this->functions = CreateObject('expressoAdmin1_2.functions'); 20 21 if ( (!empty($GLOBALS['phpgw_info']['server']['ldap_master_host'])) && 22 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_dn'])) && 23 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_pw'])) ) 24 { 25 $this->ldap_connection = $GLOBALS['phpgw']->common->ldapConnect($GLOBALS['phpgw_info']['server']['ldap_master_host'], 26 $GLOBALS['phpgw_info']['server']['ldap_master_root_dn'], 27 $GLOBALS['phpgw_info']['server']['ldap_master_root_pw']); 28 } 29 else 30 { 31 $this->ldap_connection = $GLOBALS['phpgw']->common->ldapConnect(); 32 } 19 33 } 20 34 21 35 function write_ldap($dn, $info) 22 36 { 23 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 24 25 if (ldap_add($connection, $dn, $info)) 37 if (ldap_add($this->ldap_connection, $dn, $info)) 26 38 { 27 ldap_close($ connection);39 ldap_close($this->ldap_connection); 28 40 return true; 29 41 } 30 42 else 31 43 { 32 echo 'Erro na escrita no LDAP, funcao so->write_ldap';33 ldap_close($ connection);44 echo "Erro na escrita no LDAP, funcao so->write_ldap:" . ldap_error($this->ldap_connection); 45 ldap_close($this->ldap_connection); 34 46 return false; 35 47 } … … 38 50 function exist_computer_uid($computer_cn) 39 51 { 40 $ connection = $GLOBALS['phpgw']->common->ldapConnect();41 $ search = ldap_search($connection, $GLOBALS['phpgw_info']['server']['ldap_context'], "uid=" . $computer_cn . '$');42 $result = ldap_get_entries($connection, $search);52 $search = ldap_search($this->ldap_connection, $GLOBALS['phpgw_info']['server']['ldap_context'], "uid=" . $computer_cn . '$'); 53 $result = ldap_get_entries($this->ldap_connection, $search); 54 ldap_close($this->ldap_connection); 43 55 if ($result['count'] == 0) 44 56 return false; … … 51 63 $manager_acl = $this->functions->read_acl($_SESSION['phpgw_info']['expresso']['user']['account_lid']); 52 64 $manager_contexts = $manager_acl['contexts']; 53 $connection = $GLOBALS['phpgw']->common->ldapConnect();54 65 55 66 foreach ($manager_contexts as $index=>$context) 56 67 { 57 $search = ldap_search($ connection, $context, "uidNumber=$uidnumber");58 $result = ldap_get_entries($ connection, $search);68 $search = ldap_search($this->ldap_connection, $context, "uidNumber=$uidnumber"); 69 $result = ldap_get_entries($this->ldap_connection, $search); 59 70 60 71 if ($result['count']) … … 89 100 function delete_computer_ldap($dn) 90 101 { 91 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 92 $result = ldap_delete($connection, $dn); 93 ldap_close($connection); 102 $result = ldap_delete($this->ldap_connection, $dn); 103 ldap_close($this->ldap_connection); 94 104 return $result; 95 105 } … … 97 107 function rename_ldap($old_dn, $new_rdn, $new_context) 98 108 { 99 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 100 $result = ldap_rename($connection, $old_dn, $new_rdn, $new_context, true); 101 ldap_close($connection); 109 $result = ldap_rename($this->ldap_connection, $old_dn, $new_rdn, $new_context, true); 110 ldap_close($this->ldap_connection); 102 111 return $result; 103 112 } … … 105 114 function ldap_add_attribute($ldap_add_attribute, $dn) 106 115 { 107 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 108 $result = ldap_mod_add($connection, $dn, $ldap_add_attribute); 109 ldap_close($connection); 110 //Escreve no log 116 $result = ldap_mod_add($this->ldap_connection, $dn, $ldap_add_attribute); 117 ldap_close($this->ldap_connection); 111 118 $this->functions->write_log($GLOBALS['phpgw']->accounts->data['account_lid'], 'add attributes in ldap in email list', $dn,'','',''); 112 119 return $result; … … 115 122 function ldap_remove_attribute($ldap_remove_attribute, $dn) 116 123 { 117 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 118 $result = ldap_mod_del($connection, $dn, $ldap_remove_attribute); 119 ldap_close($connection); 124 $result = ldap_mod_del($this->ldap_connection, $dn, $ldap_remove_attribute); 125 ldap_close($this->ldap_connection); 120 126 //Escreve no log 121 127 $this->functions->write_log($GLOBALS['phpgw']->accounts->data['account_lid'], 'remove attributes in ldap in email list', $dn,'','',''); … … 125 131 function ldap_replace_attribute($ldap_replace_attribute, $dn) 126 132 { 127 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 128 $result = ldap_mod_replace($connection, $dn, $ldap_replace_attribute); 129 ldap_close($connection); 133 $result = ldap_mod_replace($this->ldap_connection, $dn, $ldap_replace_attribute); 134 ldap_close($this->ldap_connection); 130 135 return $result; 131 136 } -
trunk/expressoAdmin1_2/inc/class.sosectors.inc.php
r32 r396 13 13 { 14 14 var $functions; 15 var $ldap_connection; 15 16 16 17 function sosectors() 17 18 { 18 19 $this->functions = createobject('expressoAdmin1_2.functions'); 20 21 if ( (!empty($GLOBALS['phpgw_info']['server']['ldap_master_host'])) && 22 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_dn'])) && 23 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_pw'])) ) 24 { 25 $this->ldap_connection = $GLOBALS['phpgw']->common->ldapConnect($GLOBALS['phpgw_info']['server']['ldap_master_host'], 26 $GLOBALS['phpgw_info']['server']['ldap_master_root_dn'], 27 $GLOBALS['phpgw_info']['server']['ldap_master_root_pw']); 28 } 29 else 30 { 31 $this->ldap_connection = $GLOBALS['phpgw']->common->ldapConnect(); 32 } 19 33 } 20 34 21 35 function exist_sector_name($sector_name, $context) 22 36 { 23 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 24 $search = ldap_list($connection, $context, "ou=" . $sector_name); 25 $result = ldap_get_entries($connection, $search); 37 $search = ldap_list($this->ldap_connection, $context, "ou=" . $sector_name); 38 $result = ldap_get_entries($this->ldap_connection, $search); 26 39 27 40 if ($result['count'] == 0) … … 33 46 function write_ldap($dn, $info) 34 47 { 35 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 36 37 if (ldap_add($connection, $dn, $info)) 48 if (ldap_add($this->ldap_connection, $dn, $info)) 38 49 { 39 50 //Escreve no log 40 51 $this->functions->write_log2($GLOBALS['phpgw']->accounts->data['account_lid'], 'write in ldap', $dn,'','',''); 41 ldap_close($ connection);52 ldap_close($this->ldap_connection); 42 53 return true; 43 54 } … … 45 56 { 46 57 echo 'Erro na escrita no LDAP, funcao write_ldap'; 47 ldap_close($ connection);58 ldap_close($this->ldap_connection); 48 59 return false; 49 60 } … … 52 63 function get_sector_users($context) 53 64 { 54 $connection = $GLOBALS['phpgw']->common->ldapConnect();55 65 $justthese = array("cn", "uidNumber", "uid"); 56 66 $filter="(&(phpgwAccountType=u)(uid=*))"; 57 $search=ldap_search($ connection, $context, $filter, $justthese);58 $result = ldap_get_entries($ connection, $search);67 $search=ldap_search($this->ldap_connection, $context, $filter, $justthese); 68 $result = ldap_get_entries($this->ldap_connection, $search); 59 69 return $result; 60 70 } … … 62 72 function get_sector_groups($context) 63 73 { 64 $connection = $GLOBALS['phpgw']->common->ldapConnect();65 74 $justthese = array("cn", "gidnumber"); 66 75 $filter="(&(phpgwAccountType=g)(cn=*))"; 67 $search=ldap_search($ connection, $context, $filter, $justthese);68 $result = ldap_get_entries($ connection, $search);76 $search=ldap_search($this->ldap_connection, $context, $filter, $justthese); 77 $result = ldap_get_entries($this->ldap_connection, $search); 69 78 return $result; 70 79 } … … 72 81 function get_sector_subsectors($context) 73 82 { 74 $connection = $GLOBALS['phpgw']->common->ldapConnect();75 83 $justthese = array("ou"); 76 84 $filter="(objectClass=organizationalUnit)"; 77 $search=ldap_search($ connection, $context, $filter, $justthese);78 $result = ldap_get_entries($ connection, $search);85 $search=ldap_search($this->ldap_connection, $context, $filter, $justthese); 86 $result = ldap_get_entries($this->ldap_connection, $search); 79 87 return $result; 80 88 } … … 101 109 function get_info($context) 102 110 { 103 $connection = $GLOBALS['phpgw']->common->ldapConnect();104 111 $filter="(objectClass=organizationalUnit)"; 105 $search=ldap_search($ connection, $context, $filter);106 $result = ldap_get_entries($ connection, $search);112 $search=ldap_search($this->ldap_connection, $context, $filter); 113 $result = ldap_get_entries($this->ldap_connection, $search); 107 114 return $result; 108 115 } … … 110 117 function add_attribute($dn, $info) 111 118 { 112 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 113 114 if (ldap_mod_add($connection, $dn, $info)) 119 if (ldap_mod_add($this->ldap_connection, $dn, $info)) 115 120 { 116 ldap_close($ connection);121 ldap_close($this->ldap_connection); 117 122 return true; 118 123 } 119 124 else 120 125 { 121 echo 'Erro na escrita no LDAP, funcao add_attribute: ' . ldap_error($ connection);122 ldap_close($ connection);126 echo 'Erro na escrita no LDAP, funcao add_attribute: ' . ldap_error($this->ldap_connection); 127 ldap_close($this->ldap_connection); 123 128 return false; 124 129 } … … 127 132 function remove_attribute($dn, $info) 128 133 { 129 $connection = $GLOBALS['phpgw']->common->ldapConnect(); 130 131 if (ldap_mod_del($connection, $dn, $info)) 134 if (ldap_mod_del($this->ldap_connection, $dn, $info)) 132 135 { 133 ldap_close($ connection);136 ldap_close($this->ldap_connection); 134 137 return true; 135 138 } 136 139 else 137 140 { 138 echo 'Erro na escrita no LDAP, funcao remove_attribute: ' . ldap_error($ connection);139 ldap_close($ connection);141 echo 'Erro na escrita no LDAP, funcao remove_attribute: ' . ldap_error($this->ldap_connection); 142 ldap_close($this->ldap_connection); 140 143 return false; 141 144 } 142 145 } 143 144 146 } 145 147 ?> -
trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php
r384 r396 430 430 // GET all infomations about the user. 431 431 $user_info = $this->user->get_user_info($_GET['account_id']); 432 432 433 433 // Formata o CPF 434 434 if ($user_info['corporative_information_cpf'] != '') -
trunk/expressoAdmin1_2/inc/class.uisectors.inc.php
r309 r396 166 166 $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); 167 167 $p->set_file(Array('create_sector' => 'sectors_form.tpl')); 168 168 169 169 // Seta variaveis utilizadas pelo tpl. 170 170 $var = Array( … … 250 250 251 251 $sector_name = $_POST['sector']; 252 $context 252 $context = $_POST['context']; 253 253 254 254 // Verifica se o nome do sector nao esta vazio. -
trunk/expressoAdmin1_2/inc/class.user.inc.php
r379 r396 1059 1059 } 1060 1060 1061 // Check if the new_uid alrteady is in use. 1062 if ( ! $this->ldap_functions->check_rename_new_uid($params['new_uid']) ) 1063 { 1064 $return['status'] = false; 1065 $return['msg'] = 'Novo login já está em uso.'; 1066 return $return; 1067 } 1068 1061 1069 // Verifica o acesso do gerente 1062 1070 if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'rename_users')) … … 1083 1091 $tmp = split('v2.', $server_resp); 1084 1092 $cyrus_version = '2' . $tmp[1][0]; 1085 //$is_cyrus22 = strpos($server_resp, "v2.2"); 1086 1087 if ($cyrus_version > '21') 1093 1094 if ($cyrus_version < '22') 1088 1095 { 1089 // Seta senha default 1090 $user_password = $this->ldap_functions->set_user_password($uid, $defaultUserPassword); 1091 1092 // Renomeia UID no openldap 1093 $result = $this->ldap_functions->rename_uid($uid, $new_uid); 1094 $new_dn = $result['new_dn']; 1095 if (!$result['status']) 1096 $return['status'] = false; 1097 $return['msg'] = "A renomeação de usuários só permitida com o cyrus versão 2.2 ou superior,"; 1098 $return['msg'] .= "\ne com a opção 'allowusermoves: yes' configurado no imapd.conf."; 1099 return $return; 1100 } 1101 1102 // Renomeia UID no openldap 1103 $result = $this->ldap_functions->rename_uid($uid, $new_uid); 1104 if (!$result['status']) 1105 { 1106 $return['status'] = false; 1107 $return['msg'] = "Erro ao renomear usuário no LDAP. Processo abortado."; 1108 return $return; 1109 } 1110 1111 //Renomeia mailbox 1112 $result = $this->imap_functions->rename_mailbox($uid, $new_uid); 1113 if (!$result['status']) 1114 { 1115 // Back user uid. 1116 $result = $this->ldap_functions->rename_uid($new_uid, $uid); 1117 1118 $return['status'] = false; 1119 $return['msg'] = "Erro ao renomear usuário no Cyrus. Processo abortado."; 1120 return $return; 1121 } 1122 1123 1124 // Seta senha default 1125 $user_password = $this->ldap_functions->set_user_password($new_uid, $defaultUserPassword); 1126 1127 // Renomeia sieve script 1128 include_once('sieve-php.lib.php'); 1129 $sieve=new sieve($sieve_server, $sieve_port, $new_uid, $defaultUserPassword_plain); 1130 1131 if ($sieve->sieve_login()) 1132 { 1133 $sieve->sieve_listscripts(); 1134 $myactivescript=$sieve->response["ACTIVE"]; 1135 $sieve->sieve_getscript($myactivescript); 1136 1137 $script = ''; 1138 if (!empty($sieve->response)) 1139 { 1140 foreach($sieve->response as $result) 1141 { 1142 $script .= $result; 1143 } 1144 } 1145 1146 $scriptname = $new_uid; 1147 if($sieve->sieve_sendscript($new_uid,$script)) 1148 { 1149 if ($sieve->sieve_setactivescript($new_uid)) 1150 { 1151 $sieve->sieve_deletescript($myactivescript); 1152 } 1153 } 1154 else 1096 1155 { 1097 1156 $return['status'] = false; 1098 $return['msg'] .= "\n" . $result['msg']; 1099 $return['msg'] .= "\nErro ao renomear usuário no LDAP. Processo abortado."; 1100 return $return; 1101 } 1102 1103 // Remove old UID do ldap 1104 $user_info_mod_remove['uid'] = $uid; 1105 $this->ldap_functions->remove_user_attributes($new_dn, $user_info_mod_remove); 1106 1107 //Renomeia mailbox 1108 $result = $this->imap_functions->rename_mailbox($uid, $new_uid); 1109 if (!$result['status']) 1110 { 1157 $return['msg'] .= $result['msg'] . "Erro ao renomear script sieve, falha no envio do novo script." . 1158 "\nCaixa postal e login alterados."; 1159 } 1160 $sieve->sieve_logout(); 1161 } 1162 else 1163 { 1111 1164 $return['status'] = false; 1112 $return['msg'] .= "\n" . $result['msg']; 1113 $return['msg'] .= "\nErro ao renomear usuário no Cyrus. Processo abortado."; 1114 } 1115 1116 // Renomeia sieve script 1117 include_once('sieve-php.lib.php'); 1118 $sieve=new sieve($sieve_server, $sieve_port, $new_uid, $defaultUserPassword_plain); 1119 1120 if ($sieve->sieve_login()) 1121 { 1122 $sieve->sieve_listscripts(); 1123 $myactivescript=$sieve->response["ACTIVE"]; 1124 $sieve->sieve_getscript($myactivescript); 1125 1126 $script = ''; 1127 foreach($sieve->response as $result) 1128 { 1129 $script .= $result; 1130 } 1131 1132 $scriptname = $new_uid; 1133 if($sieve->sieve_sendscript($new_uid,$script)) 1134 { 1135 if ($sieve->sieve_setactivescript($new_uid)) 1136 { 1137 $sieve->sieve_deletescript($myactivescript); 1138 } 1139 } 1140 else 1141 { 1142 $return['status'] = false; 1143 $return['msg'] .= $result['msg'] . "\nErro ao renomear script sieve, falha no envio do novo script."; 1144 } 1145 $sieve->sieve_logout(); 1146 } 1147 else 1148 { 1149 $return['status'] = false; 1150 $return['msg'] .= $result['msg'] . "\nErro ao renomear script sieve, falha no Login."; 1151 } 1152 1153 // Retorna senha do usuário 1154 $this->ldap_functions->set_user_password($new_uid, $user_password); 1155 1156 $this->db_functions->write_log("renomeado login do usuario $uid para $new_uid.",'','','',''); 1157 1158 $return['exec_return'] = ""; 1159 } 1160 else 1161 { 1162 $return['status'] = false; 1163 $return['msg'] .= "A renomeação de usuários só permitida com o cyrus versão 2.2 ou superior,"; 1164 $return['msg'] .= "\ne com a opção 'allowusermoves: yes' configurado no imapd.conf."; 1165 } 1165 $return['msg'] .= $result['msg'] . "Erro ao renomear script sieve, falha no Login." . 1166 "\nCaixa postal e login alterados."; 1167 } 1168 1169 // Back user password. 1170 $this->ldap_functions->set_user_password($new_uid, $user_password); 1171 1172 $this->db_functions->write_log("renomeado login do usuario $uid para $new_uid.",'','','',''); 1173 1174 $return['exec_return'] = ""; 1175 1166 1176 return $return; 1167 1177 } -
trunk/expressoAdmin1_2/templates/default/sectors_form.tpl
r32 r396 29 29 <input type="submit" name="button_submit" value={lang_save}> 30 30 <input type="button" value="{lang_back}" onClick="document.location.href='{back_url}'"> 31 <input type="hidden" name="context" value= {context}>32 <input type="hidden" name="old_sector" value= {old_sector}>31 <input type="hidden" name="context" value="{context}"> 32 <input type="hidden" name="old_sector" value="{old_sector}"> 33 33 </td> 34 34 </tr>
Note: See TracChangeset
for help on using the changeset viewer.