<style> * { font-family: courier; }</style>
* SERVICE MODE * 
<hr/>
* <a href="/_wb/_service?task_done_clear" onclick="return confirm('Вы уверены что хотите удалить все завершенные задачи?')">Удаление завершенных задач</a> * <a href="/_wb/_service?empty_folder_clear" onclick="return confirm('Вы уверены что хотите удалить все пустые папки в загрузках?')">Удаление пустых папок в загрузках</a> * <a href="/_wb/_service?tasks_empty_timeinwork_clear" onclick="return confirm('Вы уверены что хотите удалить все задачи с нулевым временем выполнения?')">Удаление задач с нулевым временем выполнения</a> * <a href="/_wb/_service?tasks_empty_ip_clear" onclick="return confirm('Вы уверены что хотите удалить все задачи без ip пользователя?')">Удаление задач без ip пользователя</a> * <a href="/_wb/_service?tasks_empty_dateend_clear" onclick="return confirm('Вы уверены что хотите удалить все задачи старше текущего года?')">Удаление задач старше текущего года</a>
<hr/>
<?php

	/* Удаление завершенных задач */
	if( isset( $_GET['task_done_clear'] ) ) {
		$doc	= new DOMDocument;
		$doc->load($baseT);
		$xpath 	= new DOMXPath($doc);
		$tasks 	= $xpath->query('/tasks/task[@status="done"]');
		for ($i = 0; $i < $tasks->length; $i++) {
			$el = $tasks->item($i);
			$el->parentNode->removeChild($el);
			$taskID = $tasks->item($i)->getAttribute('id');
			$dir 	= 	ROOT . 'upload/';
			foreach (glob($dir.'{'.$taskID.'}*', GLOB_BRACE) as $item) {
				if (is_dir($item)) {
					$files = glob($item."/*");
					foreach ($files as $file) {      
						if (file_exists($file)) {
							unlink($file);
						}   
					}
					rmdir($item);
				}
				echo '# DEL: ' . $dir . $taskID . '<br/>';
			}
			echo '# DEL: ' . $taskID . '<br/>';
		}
		$doc->save($baseT);
		echo 'Удаление завершено';
	}
	
	/* Удаление пустых папок в загрузках */
	if( isset( $_GET['empty_folder_clear'] ) ) {
		$dir = ROOT . 'upload/';
		if($handle = opendir($dir)){
			while(false !== ($file = readdir($handle))) {
				if($file != "." && $file != ".."){
					if (is_dir(ROOT . 'upload/' . $file)) {
						rmdir(ROOT . 'upload/' . $file);
					}
				}
			}
		}
		echo 'Удаление завершено';
	}
	
	/* Удаление задач с нулевым временем выполнения */
	if( isset( $_GET['tasks_empty_timeinwork_clear'] ) ) {
		$doc	= new DOMDocument;
		$doc->load($baseT);
		$xpath 	= new DOMXPath($doc);
		$tasks 	= $xpath->query('/tasks/task[timeinwork=""]');
		for ($i = 0; $i < $tasks->length; $i++) {
			$el = $tasks->item($i);
			$el->parentNode->removeChild($el);
			$taskID = $tasks->item($i)->getAttribute('id');
			$dir 	= 	ROOT . 'upload/';
			foreach (glob($dir.'{'.$taskID.'}*', GLOB_BRACE) as $item) {
				if (is_dir($item)) {
					$files = glob($item."/*");
					foreach ($files as $file) {      
						if (file_exists($file)) {
							unlink($file);
						}   
					}
					rmdir($item);
				}
				echo '# DEL: ' . $dir . $taskID . '<br/>';
			}
			echo '# DEL: ' . $taskID . '<br/>';
		}
		$doc->save($baseT);
		echo 'Удаление завершено';
	}
	
	/* Удаление задач без ip пользователя */
	if( isset( $_GET['tasks_empty_ip_clear'] ) ) {
		$doc	= new DOMDocument;
		$doc->load($baseT);
		$xpath 	= new DOMXPath($doc);
		$tasks 	= $xpath->query('/tasks/task[uip=""]');
		for ($i = 0; $i < $tasks->length; $i++) {
			$el = $tasks->item($i);
			$el->parentNode->removeChild($el);
			$taskID = $tasks->item($i)->getAttribute('id');
			$dir 	= 	ROOT . 'upload/';
			foreach (glob($dir.'{'.$taskID.'}*', GLOB_BRACE) as $item) {
				if (is_dir($item)) {
					$files = glob($item."/*");
					foreach ($files as $file) {      
						if (file_exists($file)) {
							unlink($file);
						}   
					}
					rmdir($item);
				}
				echo '# DEL: ' . $dir . $taskID . '<br/>';
			}
			echo '# DEL: ' . $taskID . '<br/>';
		}
		$doc->save($baseT);
		echo 'Удаление завершено';
	}
	
	
	/* Удаление задач старше текущего года */
	if( isset( $_GET['tasks_empty_dateend_clear'] ) ) {
		$doc	= new DOMDocument;
		$doc->load($baseT);
		$xpath 	= new DOMXPath($doc);
		$tasks 	= $xpath->query('/tasks/task[dateend=""]');
		for ($i = 0; $i < $tasks->length; $i++) {
			$el = $tasks->item($i);
			$el->parentNode->removeChild($el);
			$taskID = $tasks->item($i)->getAttribute('id');
			$dir 	= 	ROOT . 'upload/';
			foreach (glob($dir.'{'.$taskID.'}*', GLOB_BRACE) as $item) {
				if (is_dir($item)) {
					$files = glob($item."/*");
					foreach ($files as $file) {      
						if (file_exists($file)) {
							unlink($file);
						}   
					}
					rmdir($item);
				}
				echo '# DEL: ' . $dir . $taskID . '<br/>';
			}
			echo '# DEL: ' . $taskID . '<br/>';
		}
		$doc->save($baseT);
		echo 'Удаление завершено';
	}
	if( isset( $_GET['list_files'] ) ) {
		listFolderFiles(ROOT);
	}
?>
