Changeset 1030

Show
Ignore:
Timestamp:
03/02/08 03:00:12 (9 months ago)
Author:
breaki
Message:

* Fixed #567: finish to implement new ispcp_debugger.php code ('TR_CHANGE_STATUS' has to be implemented in the language files)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gui/admin/ispcp_debugger.php

    r1014 r1030  
    2323check_login(__FILE__); 
    2424 
     25function count_requests(&$sql, $id_name, $table){ 
     26    global $cfg; 
     27 
     28    $query = "select $id_name FROM $table WHERE $id_name = ?"; 
     29        $rs = exec_query($sql, $query, $cfg['ITEM_CHANGE_STATUS']); 
     30    $count = $rs->RecordCount(); 
     31    return $count; 
     32} 
     33 
    2534function get_error_domains(&$sql, &$tpl) { 
    2635        global $cfg; 
     
    3746        $dmn_query = <<<SQL_QUERY 
    3847        select 
    39             domain_name, domain_status 
     48            domain_name, domain_status, domain_id 
    4049        from 
    4150            domain 
     
    92101                                                'TR_DOMAIN_NAME' => $rs->fields['domain_name'], 
    93102                                                'TR_DOMAIN_ERROR' => $rs->fields['domain_status'], 
     103                                                'CHANGE_ID' => $rs->fields['domain_id'], 
     104                                                'CHANGE_TYPE' => 'domain', 
    94105                                                ) 
    95106                                ); 
     
    118129        $dmn_query = <<<SQL_QUERY 
    119130        select 
    120             alias_name, alias_status 
     131            alias_name, alias_status, alias_id 
    121132        from 
    122133            domain_aliasses 
     
    183194                                                'TR_ALIAS_NAME' => $rs->fields['alias_name'], 
    184195                                                'TR_ALIAS_ERROR' => $rs->fields['alias_status'], 
     196                                                'CHANGE_ID' => $rs->fields['alias_id'], 
     197                                                'CHANGE_TYPE' => 'alias', 
    185198                                                ) 
    186199                                ); 
     
    208221        $dmn_query = <<<SQL_QUERY 
    209222      select 
    210           subdomain_name, subdomain_status 
     223          subdomain_name, subdomain_status, subdomain_id 
    211224      from 
    212225          subdomain 
     
    270283                                                'TR_SUBDOMAIN_NAME' => $rs->fields['subdomain_name'], 
    271284                                                'TR_SUBDOMAIN_ERROR' => $rs->fields['subdomain_status'], 
     285                                                'CHANGE_ID' => $rs->fields['subdomain_id'], 
     286                                                'CHANGE_TYPE' => 'subdomain', 
    272287                                                ) 
    273288                                ); 
     
    296311        $dmn_query = <<<SQL_QUERY 
    297312        select 
    298             mail_acc, domain_id, mail_type, status 
     313            mail_acc, domain_id, mail_type, status, mail_id 
    299314        from 
    300315            mail_users 
     
    399414                                                'TR_MAIL_NAME' => $rs->fields['mail_acc'] . "@" . $domain_name, 
    400415                                                'TR_MAIL_ERROR' => $rs->fields['status'], 
     416                                                'CHANGE_ID' => $rs->fields['mail_id'], 
     417                                                'CHANGE_TYPE' => 'mail', 
    401418                                                ) 
    402419                                ); 
     
    409426        } 
    410427} 
     428 
     429$exec_count = count_requests($sql, 'domain_status', 'domain'); 
     430$exec_count = $exec_count + count_requests($sql, 'alias_status', 'domain_aliasses'); 
     431$exec_count = $exec_count + count_requests($sql, 'subdomain_status', 'subdomain'); 
     432$exec_count = $exec_count + count_requests($sql, 'status', 'mail_users'); 
    411433 
    412434$tpl = new pTemplate(); 
     
    451473                        'TR_MAIL_ERRORS' => tr('Mail account errors'), 
    452474                        'TR_DAEMON_TOOLS' => tr('ispCP Daemon tools'), 
    453                         'TR_EXEC_REQUESTS' => tr('Execute requests') 
     475                        'TR_EXEC_REQUESTS' => tr('Execute requests'), 
     476                        'TR_CHANGE_STATUS' => tr('Set status to "change"'), 
     477                        'EXEC_COUNT' => $exec_count, 
    454478                        ) 
    455479        ); 
    456480 
    457 // Handy way to change domain/subdomain/alias/mail status 
    458 // TODO: write implementation in the GUI 
    459481if (isset($_GET['action'])) { 
    460482        if ($_GET['action'] == 'run_engine') { 
     
    463485                set_page_message(tr('Daemon returned %d as status code', $c)); 
    464486        } else if ($_GET['action'] == 'change_status' && ( 
    465                         isset($_GET['account_id']) && isset($_GET['new_status']) &&     isset($_GET['type']))) { 
    466  
    467                 switch ($_GET['new_status']) { 
    468                         case $cfg['ITEM_OK_STATUS']: 
    469                         case $cfg['ITEM_DISABLED_STATUS']: 
    470                         case $cfg['ITEM_ADD_STATUS']: 
    471                         case $cfg['ITEM_CHANGE_STATUS']: 
    472                         case $cfg['ITEM_TOENABLE_STATUS']: 
    473                         case $cfg['ITEM_RESTORE_STATUS']: 
    474                         case $cfg['ITEM_TODISABLED_STATUS']: 
    475                         case $cfg['ITEM_DELETE_STATUS']: 
    476                         case $cfg['ITEM_ORDERED_STATUS']: 
     487                        isset($_GET['id']) && isset($_GET['type']))) { 
     488                switch ($_GET['type']) { 
     489                        case 'domain': 
     490                                $query = 'UPDATE domain SET domain_status = "change" WHERE domain_id = ?'; 
     491                                break; 
     492                        case 'alias': 
     493                                $query = 'UPDATE domain_aliasses SET alias_status = "change" WHERE alias_id = ?'; 
     494                                break; 
     495                        case 'subdomain': 
     496                                $query = 'UPDATE subdomain SET subdomain_status = "change" WHERE subdomain_id = ?'; 
     497                                break; 
     498                        case 'mail': 
     499                                $query = 'UPDATE mail_users SET status = "change" WHERE mail_id = ?'; 
    477500                                break; 
    478501                        default: 
    479                                 set_page_message(tr('Unknown domain status!')); 
     502                                set_page_message(tr('Unknown type!')); 
    480503                                user_goto('ispcp_debugger.php'); 
    481504                                break; 
    482505                } 
    483506 
    484                 switch ($_GET['type']) { 
    485                         case 'domain': 
    486                                 $query = 'UPDATE domain SET domain_status = ? WHERE domain_id = ?'; 
    487                                 break; 
    488                         case 'alias': 
    489                                 $query = 'UPDATE domain_aliasses SET alias_status = ? WHERE alias_id = ?'; 
    490                                 break; 
    491                         case 'subdomain': 
    492                                 $query = 'UPDATE subdomain SET subdomain_status = ? WHERE subdomain_id = ?'; 
    493                                 break; 
    494                         case 'mail': 
    495                                 $query = 'UPDATE mail_users SET status = ? WHERE mail_id = ?'; 
    496                                 break; 
    497                         default: 
    498                                 set_page_message(tr('Unknown account type!')); 
    499                                 user_goto('ispcp_debugger.php'); 
    500                                 break; 
    501                 } 
    502  
    503                 if (!is_int($_GET['account_id'])) { 
    504                         set_page_message(tr('Invalid account id!')); 
    505                         user_goto('ispcp_debugger.php'); 
    506                 } 
    507  
    508                 $rs = exec_query($sql, $query, array($_GET['new_status'], $_GET['account_id'])); 
     507                $rs = exec_query($sql, $query, $_GET['id']); 
    509508 
    510509                if ($rs !== false) { 
  • trunk/gui/themes/omega_original/admin/ispcp_debugger.tpl

    r1014 r1030  
    6262             <td>&nbsp;</td> 
    6363             <td class="{CONTENT}"> 
    64                           {TR_DOMAIN_NAME}<br /> 
     64                          {TR_DOMAIN_NAME} - <a href="ispcp_debugger.php?action=change_status&id={CHANGE_ID}&type={CHANGE_TYPE}" class="link">{TR_CHANGE_STATUS}</a><br /> 
    6565              <font color="red">{TR_DOMAIN_ERROR}</font> 
    6666                         </td> 
     
    8484             <td>&nbsp;</td> 
    8585             <td class="{CONTENT}"> 
    86                           {TR_ALIAS_NAME}<br /> 
     86                          {TR_ALIAS_NAME} - <a href="ispcp_debugger.php?action=change_status&id={CHANGE_ID}&type={CHANGE_TYPE}" class="link">{TR_CHANGE_STATUS}</a><br /> 
    8787              <font color="red">{TR_ALIAS_ERROR}</font> 
    8888                         </td> 
     
    106106             <td>&nbsp;</td> 
    107107             <td class="{CONTENT}"> 
    108                           {TR_SUBDOMAIN_NAME}<br /> 
     108                          {TR_SUBDOMAIN_NAME} - <a href="ispcp_debugger.php?action=change_status&id={CHANGE_ID}&type={CHANGE_TYPE}" class="link">{TR_CHANGE_STATUS}</a><br /> 
    109109              <font color="red">{TR_SUBDOMAIN_ERROR}</font> 
    110110                         </td> 
     
    128128             <td>&nbsp;</td> 
    129129             <td class="{CONTENT}"> 
    130                           {TR_MAIL_NAME}<br /> 
     130                          {TR_MAIL_NAME} - <a href="ispcp_debugger.php?action=change_status&id={CHANGE_ID}&type={CHANGE_TYPE}" class="link">{TR_CHANGE_STATUS}</a><br /> 
    131131              <font color="red">{TR_MAIL_ERROR}</font> 
    132132                         </td> 
     
    142142            <tr> 
    143143             <td>&nbsp;</td> 
    144              <td><a href="ispcp_debugger.php?action=run_engine" class="link">{TR_EXEC_REQUESTS}</a></td> 
     144             <td><a href="ispcp_debugger.php?action=run_engine" class="link">{EXEC_COUNT} {TR_EXEC_REQUESTS}</a></td> 
    145145            </tr> 
    146146           </table>