get_row("SELECT post_id,meta_key,meta_value FROM $tablepostmeta WHERE post_id = $id ") ) { // Change from flat structure to hierarchical: $post_meta_cache = array(); $mpid = $metarow->post_id; $mkey = $metarow->meta_key; $mval = $metarow->meta_value; // Force subkeys to be array type: if (!isset($post_meta_cache[$mpid]) || !is_array($post_meta_cache[$mpid])) $post_meta_cache[$mpid] = array(); if (!isset($post_meta_cache[$mpid]["$mkey"]) || !is_array($post_meta_cache[$mpid]["$mkey"])) $post_meta_cache[$mpid]["$mkey"] = array(); // Add a value to the current pid/key: $post_meta_cache[$mpid][$mkey][] = $mval; } $posttmp = $wpdb->get_row("SELECT post_date,post_name FROM $tableposts WHERE ID=$id;"); $jj = mysql2date('d', $posttmp->post_date); $mm = mysql2date('m', $posttmp->post_date); $aa = mysql2date('Y', $posttmp->post_date); $name = $posttmp->post_name; if(eregi('\.\.', $name) || eregi("[^a-zA-Z0-9\._\-]", $name)) return 0; if(is_file($basedir.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name.'.html')) { unlink($basedir.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name.'.html'); } if(is_file($basedir.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name.'.html.gz')) { unlink($basedir.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name.'.html.gz'); } if($post_meta_cache[$id]['static'][0] == 1 || $post_meta_cache[$id]['static'][0] == '1' || $post_meta_cache[$id]['static'][0] == 'On' || $post_meta_cache[$id]['static'][0] == 'on' || $post_meta_cache[$id]['static'][0] == 'true') { sleep(1); ms_mkdir_p($basedir.'/'.$aa.'/'.$mm.'/'.$jj); $ch = curl_init($baseurl.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name); unlink('/tmp/'.$name.'.html'); $fp = fopen('/tmp/'.$name.'.html', "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); copy('/tmp/'.$name.'.html',$basedir.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name.'.html'); system('gzip /tmp/'.$name.'.html'); copy('/tmp/'.$name.'.html.gz',$basedir.'/'.$aa.'/'.$mm.'/'.$jj.'/'.$name.'.html.gz'); unlink('/tmp/'.$name.'.html'); unlink('/tmp/'.$name.'.html.gz'); } return $id; } #add_action('edit_post', 'make_static',6); add_action('publish_post', 'make_static',6); ?>