function etm_tools_recurseDir($dir, $removedata = false) { if ($removedata) { global $wpdb, $etm_folder, $etm_tag; $sql_tmp = "SELECT lang_index_id FROM {$wpdb->prefix}etm_plugin_string WHERE 1 group by lang_index_id"; $sqldata_tmp = $wpdb->get_results($sql_tmp); $tmp_string = ''; if (!empty($sqldata_tmp)) { foreach ($sqldata_tmp as $tmpdd) { if (!empty($tmp_string)) { $tmp_string .= ','; } $tmp_string .= $tmpdd->lang_index_id; } $tmp_string = " and id NOT IN (" . $tmp_string . ")"; } $sql_tmp2 = "DELETE FROM {$wpdb->prefix}etm_plugin_index WHERE manual_added='0' and category_type ='" . $etm_tag . "' and folder_name ='" . $etm_folder . "' " . $tmp_string; $sqldata_tmp = $wpdb->query($sql_tmp2); } if (is_dir($dir)) { if ($dh = opendir($dir)) { while ($file = readdir($dh)) { if ($file != '.' && $file != '..' && $file != '.svn') { if (is_dir($dir . $file)) { etm_tools_recurseDir($dir . $file . '/'); } else { $type = explode('.', $file); $type = $type[count($type) - 1]; if ($type == 'php') { etm_tools_save_to_array($dir, $file); } } } } } closedir($dh); } }
<?php global $wpdb, $userdata, $etm_folder, $etm_tag; $etm_folder = $_POST['etm_folder']; $etm_tag = $_POST['etm_tag']; if (empty($etm_folder) || empty($etm_tag)) { etm_send_error_die('Missing parameter.'); } if ($etm_tag == 'addon') { $upload_dir = wp_upload_dir(); $folder_url = $upload_dir['basedir'] . "/" . $etm_folder . "/"; } else { $folder_url = ABSPATH . "wp-content/" . $etm_tag . "s/" . $etm_folder . "/"; } etm_tools_recurseDir($folder_url, true); $response = array('R' => 'OK', 'url' => $folder_url, 'etm_tag' => $_POST['etm_tag'], 'etm_folder' => $_POST['etm_folder']); die(json_encode($response));