Your IP : 216.73.216.201


Current Path : /home/balossw/www/temp/common/cms/includes/classes/
Upload File :
Current File : /home/balossw/www/temp/common/cms/includes/classes/dbconfig.class.php

<?php
/*---------------------------------------------------------------------------
		File name ............ includes/classes/dbconfig.class.php
		Project .............. Owebia CMS
		Author ............... Antoine Lemoine
		Creation date ........ 22.08.2008
		Modification date .... 04.10.2010
---------------------------------------------------------------------------*/

include_once $global->realpath('common/cms/includes/classes/abstract-module.class.php');

if (!class_exists('DBConfig')) {
	class DBConfig extends AbstractModule
	{
		var $table;
		var $name_field_name;
		var $value_field_name;

		function DBConfig($default_title, $table) {
			$this->AbstractModule($default_title);
			$this->table = $table;
			$this->name_field_name = 'config_name';
			$this->value_field_name = 'config_value';
		}
	
		function run() {
			AbstractModule::run();
			$this->main();
		}

		function main() {
			$this->title = $this->default_title.' :: Modification';
			$invalid_field = array();
			if (count($_POST)>0 && $this->validData($this->table,$invalid_field,$error)) {
				$this->save();
			}
			$this->addForm($this->table,$this->getConfigObject(),$invalid_field,'');
		}
		
		function getConfigObject() {
			global $global;

			$query_string = "SELECT * FROM `%s` WHERE";
			$query_params = array(
				(string)$global->config['db']['table_prefix'].$this->table->name
			);
			
			foreach ($this->table->fields as $field) {
				$query_string .= " %s='%s' OR";
				$query_params[] = (string)$this->name_field_name;
				$query_params[] = (string)$field->field_name;
			}

			$query = buildSafeQuery(substr($query_string,0,-3),$query_params);
			$result = $query->getResult();
			
			$object = array();
			for ($i=0; $i<$result->numrows; $i++) {
				$fields = $result->getRow($i);
				$object[$fields[$this->name_field_name]] = $fields[$this->value_field_name];
			}
			return $object;
		}

		function save() {
			global $global;

			$query_string = "REPLACE INTO `%s` (%s,%s) VALUES ";
			$query_params = array(
				(string)$global->config['db']['table_prefix'].$this->table->name,
				(string)$this->name_field_name,
				(string)$this->value_field_name
			);
			foreach ($this->table->fields as $field) {
				if (isset($_POST[$field->field_name])) {
					$query_string .= "('%s','%s'),";
					$query_params[] = (string)$field->field_name;
					$query_params[] = (string)$_POST[$field->field_name];
				}
			}
			$query = buildSafeQuery(substr($query_string,0,-1),$query_params);
			$result = $query->getResult();
			$this->operationResult($result->success,$this->return_uri);
		}
	}
}