function setSetting($name, $value, $theme = "")
{
	clearSettingsCache();
	
	$table = new mTable("settings");
	
	if (empty($theme))
		$theme = $_SESSION['murrix']['theme'];
			
	$settings = $table->get("`name`='$name' AND (`theme`='any' OR `theme`='$theme')");
	
	if (count($settings) > 0)
	{
		$settings[0]['value'] = $value;
		
		if (empty($value))
		{
			if (!$table->remove($settings[0]['id']))
				return $table->error;
			else
				return true;
		}
		else
		{
			if (!$table->update($settings[0]['id'], $settings[0]))
				return $table->error;
			else
				return true;
		}
	}
	else if (!empty($value))
	{
		$setting = array("name" => $name, "value" => $value, "theme" => $theme);
		
		if (!$table->insert($setting))
			return $table->error;
		else
			return true;
	}
	
	return ucf(i18n("no such setting"));
}
Beispiel #2
0
function setInitialMetadata($class_name, $name, $value)
{
	$table = new mTable("initial_meta");
	
	$meta = $table->get("`class_name`='$class_name' AND `name`='$name'");
	
	if (count($meta) > 0)
	{
		if (empty($value))
		{
			if (!$table->remove($meta[0]['id']))
				return $table->error;
			else
				return true;
		}
		else
		{
			if (!$table->update($meta[0]['id'], array($name => $value)))
				return $table->error;
			else
				return true;
		}
	}
	else if (!empty($name))
	{
		if (empty($value))
			return ucf(i18n("empty value, nothing set"));
		
		$meta = array("class_name" => $class_name, "name" => $name, "value" => $value);
		
		if (!$table->insert($meta))
			return $table->error;
		else
			return true;
	}
	
	return ucf(i18n("empty name is forbidden"));
}