Changeset 272
- Timestamp:
- Jan 11, 2004, 1:05:10 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/release-1_3/admin/update.php
r269 r272 97 97 } 98 98 99 // array of new categories to insert 100 $inserts = array(); 101 99 102 foreach ( $sub_dirs as $sub_dir ) { 100 103 // 5. Is the category already existing ? we create a subcat if not … … 105 108 if ( preg_match( '/^[a-zA-Z0-9-_.]+$/', $sub_dir ) ) 106 109 { 110 $value = ''; 107 111 $name = str_replace( '_', ' ', $sub_dir ); 108 // we have to create the category 109 $query = 'INSERT INTO '.PREFIX_TABLE.'categories'; 110 $query.= ' (dir,name,site_id,id_uppercat,uppercats) VALUES'; 111 $query.= " ('".$sub_dir."','".$name."',1"; 112 if ( !is_numeric( $id_uppercat ) ) $query.= ',NULL'; 113 else $query.= ','.$id_uppercat; 114 $query.= ",'undef'"; 115 $query.= ');'; 116 mysql_query( $query ); 117 $category_id = mysql_insert_id(); 118 // updating uppercats field 119 $query = 'UPDATE '.PREFIX_TABLE.'categories'; 120 $query.= " SET uppercats = '".$uppercats; 121 if ( $uppercats != '' ) $query.= ','; 122 $query.= $category_id; 123 $query.= "'"; 124 $query.= ';'; 125 mysql_query( $query ); 112 113 $value.= "('".$sub_dir."','".$name."',1"; 114 if ( !is_numeric( $id_uppercat ) ) $value.= ',NULL'; 115 else $value.= ','.$id_uppercat; 116 $value.= ",'undef'"; 117 $value.= ')'; 118 array_push( $inserts, $value ); 126 119 } 127 120 else … … 131 124 } 132 125 } 133 // 6. recursive call 134 if ( is_numeric( $category_id ) ) 135 { 136 $output.= insert_local_category( $category_id ); 137 } 138 } 139 126 } 127 128 // we have to create the category 129 if ( count( $inserts ) > 0 ) 130 { 131 $query = 'INSERT INTO '.PREFIX_TABLE.'categories'; 132 $query.= ' (dir,name,site_id,id_uppercat,uppercats) VALUES '; 133 $query.= implode( ',', $inserts ); 134 $query.= ';'; 135 mysql_query( $query ); 136 // updating uppercats field 137 $query = 'UPDATE '.PREFIX_TABLE.'categories'; 138 $query.= ' SET uppercats = '; 139 if ( $uppercats != '' ) $query.= "CONCAT('".$uppercats."',',',id)"; 140 else $query.= 'id'; 141 $query.= ' WHERE id_uppercat '; 142 if (!is_numeric($id_uppercat)) $query.= 'IS NULL'; 143 else $query.= '= '.$id_uppercat; 144 $query.= ';'; 145 mysql_query( $query ); 146 } 147 148 // Recursive call on the sub-categories (not virtual ones) 149 $query = 'SELECT id'; 150 $query.= ' FROM '.PREFIX_TABLE.'categories'; 151 $query.= ' WHERE site_id = 1'; 152 if (!is_numeric($id_uppercat)) $query.= ' AND id_uppercat IS NULL'; 153 else $query.= ' AND id_uppercat = '.$id_uppercat; 154 $query.= ' AND dir IS NOT NULL'; // virtual categories not taken 155 $query.= ';'; 156 $result = mysql_query( $query ); 157 while ( $row = mysql_fetch_array( $result ) ) 158 { 159 $output.= insert_local_category( $row['id'] ); 160 } 161 140 162 if ( is_numeric( $id_uppercat ) ) 141 163 {
Note: See TracChangeset
for help on using the changeset viewer.