Changeset 206


Ignore:
Timestamp:
10/03/2009 02:39:52 PM (2 years ago)
Author:
Acinonyx
Message:

[awmn] Add support for multiple-table deletes

Location:
branches/awmn
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • branches/awmn/globals/classes/form.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    267268                                } 
    268269                        } 
    269                         $ret = $ret && $db->del($ckey, $args[$carg+1]." = '".$args[$carg+2]."'"); 
     270                        $ret = $ret && $db->del($ckey, '', $args[$carg+1]." = '".$args[$carg+2]."'"); 
    270271                        if (isset($data_f)) { 
    271272                                for ($i=0;$i<count($data_f);$i++) { 
  • branches/awmn/globals/classes/mysql.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    173174        } 
    174175 
    175         function del($table, $where="", $addlog=TRUE) { 
     176        function del($table, $using="", $where="", $addlog=TRUE) { 
    176177                $table_start = preg_split("/[\s,]+/", $table); 
    177178                $table_start = $table_start[0]; 
    178                 if ($addlog && $this->log) $aff = $this->query_data("SELECT ".$table_start.".id FROM $table".($where==""?"":" WHERE $where")); 
    179                 $query = "DELETE FROM $table".($where==""?"":" WHERE $where"); 
     179                if ($addlog && $this->log) $aff = $this->query_data("SELECT ".$table_start.".id FROM ".($using==""?"$table":"$using").($where==""?"":" WHERE $where")); 
     180                $query = "DELETE FROM $table".($using==""?"":" USING $using").($where==""?"":" WHERE $where"); 
    180181                $res = $this->query_data($query); 
    181182                if ($addlog && isset($aff)) { 
  • branches/awmn/includes/pages/admin/admin_areas.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    7475                $ret = TRUE; 
    7576                foreach( (array) $_POST['id'] as $key => $value) { 
    76                         $ret = $ret && $db->del("areas", "id = '".$value."'"); 
     77                        $ret = $ret && $db->del("areas", '', "id = '".$value."'"); 
    7778                } 
    7879                if ($ret) { 
  • branches/awmn/includes/pages/admin/admin_nodes.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    7778                $ret = TRUE; 
    7879                foreach( (array) $_POST['id'] as $key => $value) { 
    79                         $ret = $ret && $db->del("nodes", "id = '".$value."'"); 
     80                        $ret = $ret && $db->del("nodes", '', "id = '".$value."'"); 
    8081                } 
    8182                if ($ret) { 
  • branches/awmn/includes/pages/admin/admin_nodes_services.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    8485                $ret = TRUE; 
    8586                foreach( (array) $_POST['id'] as $key => $value) { 
    86                         $ret = $ret && $db->del("nodes_services", "id = '".$value."'"); 
     87                        $ret = $ret && $db->del("nodes_services", '', "id = '".$value."'"); 
    8788                } 
    8889                if ($ret) { 
  • branches/awmn/includes/pages/admin/admin_regions.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    7374                $ret = TRUE; 
    7475                foreach( (array) $_POST['id'] as $key => $value) { 
    75                         $ret = $ret && $db->del("regions", "id = '".$value."'"); 
     76                        $ret = $ret && $db->del("regions", '', "id = '".$value."'"); 
    7677                } 
    7778                if ($ret) { 
  • branches/awmn/includes/pages/admin/admin_services.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    7273                $ret = TRUE; 
    7374                foreach( (array) $_POST['id'] as $key => $value) { 
    74                         $ret = $ret && $db->del("services", "id = '".$value."'"); 
     75                        $ret = $ret && $db->del("services", '', "id = '".$value."'"); 
    7576                } 
    7677                if ($ret) { 
  • branches/awmn/includes/pages/admin/admin_users.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    7374                $ret = TRUE; 
    7475                foreach( (array) $_POST['id'] as $key => $value) { 
    75                         $ret = $ret && $db->del("users", "id = '".$value."'"); 
     76                        $ret = $ret && $db->del("users", '', "id = '".$value."'"); 
    7677                } 
    7778                if ($ret) { 
  • branches/awmn/includes/pages/hostmaster/hostmaster_dnsnameserver.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    139140                if(get('action') === "delete") 
    140141                { 
    141                         $ret = $db->del("dns_nameservers", "id = '".get('nameserver')."'"); 
     142                        $ret = $db->del("dns_nameservers", '', "id = '".get('nameserver')."'"); 
    142143                        if ($ret) { 
    143144                                $main->message->set_fromlang('info', 'delete_success', makelink(array("page" => "hostmaster", "subpage" => "dnsnameservers"))); 
  • branches/awmn/includes/pages/hostmaster/hostmaster_dnsnameservers.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    9192                $ret = TRUE; 
    9293                foreach( (array) $_POST['id'] as $key => $value) { 
    93                         $ret = $ret && $db->del("dns_nameservers", "id = '".$value."'"); 
     94                        $ret = $ret && $db->del("dns_nameservers", '', "id = '".$value."'"); 
    9495                } 
    9596                if ($ret) { 
  • branches/awmn/includes/pages/hostmaster/hostmaster_dnszone.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    180181                if(get('action') === "delete") 
    181182                { 
    182                         $ret = $db->del("dns_zones", "id = '".get('zone')."'"); 
     183                        $ret = $db->del("dns_zones", '', "id = '".get('zone')."'"); 
    183184                        if ($ret) { 
    184185                                $main->message->set_fromlang('info', 'delete_success', makelink(array("page" => "hostmaster", "subpage" => "dnszones"))); 
  • branches/awmn/includes/pages/hostmaster/hostmaster_dnszones.php

    r201 r206  
    7777                $ret = TRUE; 
    7878                foreach( (array) $_POST['id'] as $key => $value) { 
    79                         $ret = $ret && $db->del("dns_zones", "id = '".$value."'"); 
     79                        $ret = $ret && $db->del("dns_zones", '', "id = '".$value."'"); 
    8080                } 
    8181                if ($ret) { 
  • branches/awmn/includes/pages/hostmaster/hostmaster_range.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    155156                if(get('action') === "delete") 
    156157                { 
    157                         $ret = $db->del("ip_ranges", "id = '".get('iprange')."'"); 
     158                        $ret = $db->del("ip_ranges", '', "id = '".get('iprange')."'"); 
    158159                        if ($ret) { 
    159160                                $main->message->set_fromlang('info', 'delete_success', makelink(array("page" => "hostmaster", "subpage" => "ranges"))); 
  • branches/awmn/includes/pages/hostmaster/hostmaster_ranges.php

    r201 r206  
    8787                $ret = TRUE; 
    8888                foreach( (array) $_POST['id'] as $key => $value) { 
    89                         $ret = $ret && $db->del("ip_ranges", "id = '".$value."'"); 
     89                        $ret = $ret && $db->del("ip_ranges", '', "id = '".$value."'"); 
    9090                } 
    9191                if ($ret) { 
  • branches/awmn/includes/pages/mynodes/mynodes.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    330331                $this->tpl['node'] = get('node'); 
    331332                if (get('action') == 'delete') { 
    332                         if ($db->del('nodes', "id = ".intval(get('node')))) {  
     333                        if ($db->del('nodes', '', "id = ".intval(get('node')))) {  
    333334                                $main->message->set_fromlang('info', 'delete_success', makelink()); 
    334335                        } else { 
     
    419420                        $ret = $ret && $form_node->db_set_multi(array(), "users_nodes", "node_id", $ins_id); 
    420421                        if ($_POST['user_id_owner'] != '') { 
    421                                 $ret = $ret && $db->del('users_nodes', "user_id = '".$_POST['user_id_owner']."' AND node_id = '".$ins_id."'"); 
     422                                $ret = $ret && $db->del('users_nodes', '', "user_id = '".$_POST['user_id_owner']."' AND node_id = '".$ins_id."'"); 
    422423                                $ret = $ret && $db->add('users_nodes', array("user_id" => $_POST['user_id_owner'], "node_id" => $ins_id, 'owner' => 'Y')); 
    423424                        } 
     
    476477                $ret = TRUE; 
    477478                foreach( (array) $_POST['id'] as $key => $value) { 
    478                         $ret = $ret && $db->del("links", "id = '".$value."'"); 
     479                        $ret = $ret && $db->del("links", '', "id = '".$value."'"); 
    479480                } 
    480481                if ($ret) { 
     
    489490                $ret = TRUE; 
    490491                foreach( (array) $_POST['id'] as $key => $value) { 
    491                         $ret = $ret && $db->del("links", "id = '".$value."'"); 
     492                        $ret = $ret && $db->del("links", '', "id = '".$value."'"); 
    492493                } 
    493494                if ($ret) { 
     
    502503                $ret = TRUE; 
    503504                foreach( (array) $_POST['id'] as $key => $value) { 
    504                         $ret = $ret && $db->del("subnets", "id = '".$value."'"); 
     505                        $ret = $ret && $db->del("subnets", '', "id = '".$value."'"); 
    505506                } 
    506507                if ($ret) { 
     
    515516                $ret = TRUE; 
    516517                foreach( (array) $_POST['id'] as $key => $value) { 
    517                         $ret = $ret && $db->del("ip_addresses", "id = '".$value."'"); 
     518                        $ret = $ret && $db->del("ip_addresses", '', "id = '".$value."'"); 
    518519                } 
    519520                if ($ret) { 
     
    528529                $ret = TRUE; 
    529530                foreach( (array) $_POST['id'] as $key => $value) { 
    530                         $ret = $ret && $db->del("nodes_services", "id = '".$value."'"); 
     531                        $ret = $ret && $db->del("nodes_services", '', "id = '".$value."'"); 
    531532                } 
    532533                if ($ret) { 
     
    541542                if (isset($_POST['id'])) { 
    542543                        foreach( (array) $_POST['id'] as $key => $value) { 
    543                                 $db->del("photos", "id = '".$value."'"); 
     544                                $db->del("photos", '', "id = '".$value."'"); 
    544545                                $uploaddir = $vars['folders']['photos']; 
    545546                                $filename = 'photo-'.$value.".*"; 
     
    558559                                $filename_s = 'photo-'.$ins_id.'-s.jpg'; 
    559560                                if (@move_uploaded_file($_FILES[$value]['tmp_name'], ROOT_PATH.$uploaddir.$filename) === FALSE) { 
    560                                         $db->del("photos", "id = '".$ins_id."'"); 
     561                                        $db->del("photos", '', "id = '".$ins_id."'"); 
    561562                                        $main->message->set_fromlang("error", "upload_file_failed"); 
    562563                                        return; 
  • branches/awmn/includes/pages/users/users.php

    r198 r206  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    7273                if(get('action') === "delete" && $main->userdata->privileges['admin'] === TRUE) 
    7374                { 
    74                         $ret = $db->del("users", "id = '".get('user')."'"); 
     75                        $ret = $db->del("users", '', "id = '".get('user')."'"); 
    7576                        if ($ret) { 
    7677                                $main->message->set_fromlang('info', 'delete_success', makelink(array("page" => "admin", "subpage" => "users"))); 
     
    145146                        $ret = $form_user->db_set_multi(array(), "rights", "user_id", get('user')); 
    146147                        $ret = $ret && $form_user->db_set_multi(array('owner' => 'N'), "users_nodes", "user_id", $ins_id); 
    147                         $ret = $ret && $db->del('users_nodes', "user_id = '".$ins_id."' AND owner = 'Y'"); 
     148                        $ret = $ret && $db->del('users_nodes', '', "user_id = '".$ins_id."' AND owner = 'Y'"); 
    148149                        if (isset($_POST['node_id_owner'])) { 
    149150                                foreach((array)$_POST['node_id_owner'] as $value) { 
    150                                         $ret = $ret && $db->del('users_nodes', "node_id = '".$value."' AND owner = 'Y'"); 
     151                                        $ret = $ret && $db->del('users_nodes', '', "node_id = '".$value."' AND owner = 'Y'"); 
    151152                                        $ret = $ret && $db->add('users_nodes', array("user_id" => $ins_id, "node_id" => $value, 'owner' => 'Y')); 
    152153                                } 
Note: See TracChangeset for help on using the changeset viewer.