<?php
class ControllerStep2 extends Controller {
	private $error = array();
	
	public function index() {
		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
			$this->redirect($this->url->link('step_3'));
		}

		if (isset($this->error['warning'])) {
			$this->data['error_warning'] = $this->error['warning'];
		} else {
			$this->data['error_warning'] = '';	
		}
		
		$this->data['action'] = $this->url->link('step_2');

		$this->data['config_catalog'] = DIR_OPENCART . 'config.php';
		$this->data['config_admin'] = DIR_OPENCART . 'admin/config.php';
		
		$this->data['cache'] = DIR_SYSTEM . 'cache';
		$this->data['logs'] = DIR_SYSTEM . 'logs';
		$this->data['image'] = DIR_OPENCART . 'image';
		$this->data['image_cache'] = DIR_OPENCART . 'image/cache';
		$this->data['image_data'] = DIR_OPENCART . 'image/data';
		$this->data['download'] = DIR_OPENCART . 'download';
		
		$this->data['back'] = $this->url->link('step_1');
		
		$this->template = 'step_2.tpl';
		$this->children = array(
			'header',
			'footer'
		);		
		
		$this->response->setOutput($this->render());
	}
	
	private function validate() {
		if (phpversion() < '5.0') {
			$this->error['warning'] = '! تحذير : أنت تحتاج الى استخدام اصدار بي اتش بي الخامس أو أعلى لكي يعمل متجر أوبن كارت';
		}

		if (!ini_get('file_uploads')) {
			$this->error['warning'] = '! file_uploads تحذير : يجب تفعيل خاصية رفع الملفات في السيرفر';
		}
	
		if (ini_get('session.auto_start')) {
			$this->error['warning'] = '! session.auto_start تحذير : متجر اوبن كارت لن يعمل في حالة تفعيل خاصية بدء الجلسة التلقائي';
		}
		
		if (!extension_loaded('mysql')) {
			$this->error['warning'] = '! MySQL تحذير : يجب تشغيل اضافة قواعد البيانات لكي يعمل متجر أوبن كارت';
		}
				
		if (!extension_loaded('gd')) {
			$this->error['warning'] = '! GD تحذير : لكي يعمل متجر أوبن كارت يجب تشغيل اضافة';
		}

		if (!extension_loaded('curl')) {
			$this->error['warning'] = '! CURL تحذير : لكي يعمل متجر أوبن كارت يجب تشغيل اضافة';
		}

		if (!function_exists('mcrypt_encrypt')) {
			$this->error['warning'] = '! mCrypt تحذير : لكي يعمل متجر أوبن كارت يجب تشغيل اضافة';
		}
				
		if (!extension_loaded('zlib')) {
			$this->error['warning'] = '! ZLIB تحذير : لكي يعمل متجر أوبن كارت يجب تشغيل اضافة';
		}
	
		if (!file_exists(DIR_OPENCART . 'config.php')) {
			$this->error['warning'] = 'config.php إلى config-dist.php يجب تغيير اسم الملف';
		} elseif (!is_writable(DIR_OPENCART . 'config.php')) {
			$this->error['warning'] = '!config.php تحذير : يجب اعطاء التصريح المطلوب لملف الكونفيج';
		}
				
		if (!file_exists(DIR_OPENCART . 'admin/config.php')) {
			$this->error['warning'] = 'admin/config.php إلى admin/config-dist.php يجب تغيير اسم الملف';
		} elseif (!is_writable(DIR_OPENCART . 'admin/config.php')) {
			$this->error['warning'] = '!admin/config.php تحذير : يجب اعطاء التصريح المطلوب لملف الكونفيج';
		}

		if (!is_writable(DIR_SYSTEM . 'cache')) {
			$this->error['warning'] = '! cache تحذير : يجب أن يكون مجلد الكاش قابل للكتابة لكي يعمل متجر اوبن كارت';
		}
		
		if (!is_writable(DIR_SYSTEM . 'logs')) {
			$this->error['warning'] = '! logs تحذير : يجب أن يكون مجلد التقارير قابل للكتابة لكي يعمل متجر اوبن كارت';
		}
		
		if (!is_writable(DIR_OPENCART . 'image')) {
			$this->error['warning'] = '! image تحذير : يجب أن يكون مجلد الصور قابل للكتابة لكي يعمل متجر اوبن كارت';
		}

		if (!is_writable(DIR_OPENCART . 'image/cache')) {
			$this->error['warning'] = '! image/cache تحذير : يجب أن يكون مجلد ملفات كاش الصور قابل للكتابة لكي يعمل متجر اوبن كارت';
		}
		
		if (!is_writable(DIR_OPENCART . 'image/data')) {
			$this->error['warning'] = '! image/data تحذير : يجب أن يكون مجلد ملفات الصور قابل للكتابة لكي يعمل متجر اوبن كارت';
		}
		
		if (!is_writable(DIR_OPENCART . 'download')) {
			$this->error['warning'] = '! download تحذير : يجب أن يكون مجلد ملفات التنزيل قابل للكتابة لكي يعمل متجر اوبن كارت';
		}
		
    	if (!$this->error) {
      		return true;
    	} else {
      		return false;
    	}
	}
}
?>