Add new directory structure. Tags will contain current and past releases, and stable will contain any bug fixes to the current stable release so users won't have to get the potentially broken trunk build to fix a screwup in stable.

Trunk updated to 0.9

git-svn-id: http://kusabax.cultnet.net/svn/repo/stable@176 73d99b7e-4f53-4972-b7b7-2ecd3c4d89ee
This commit is contained in:
Sazpaimon committed 2009-05-27 06:37:50 +00:00
commit 88bacfad9c
316 files changed
+79806

No files matched your search

+117
View File
@@ -0,0 +1,117 @@
<?php
/*
* This file is part of kusaba.
*
* kusaba is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* kusaba is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* kusaba; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* Module functions
*
* Provides module and hook functionality
*
* @package kusaba
*/
function hook_process($hookname, $data) {
global $hooks;
if (is_array($hooks[$hookname])) {
foreach ($hooks[$hookname] as $hook) {
$data = module_call_function($hook, 'process_' . $hookname, $data);
}
}
return $data;
}
function modules_load_all() {
foreach (modules_list() as $module) {
module_load($module);
}
}
/* Fetch the names of the modules in the inc/modules/ directory */
function modules_list() {
$modules = array();
if ($modules_handle = opendir(KU_ROOTDIR . 'inc/modules')) {
while (false !== ($file = readdir($modules_handle))) {
/* We don't want hidden files, nor . or .. */
if ($file != '.' && $file != '..' && !is_dir($file) && strpos($file, '.php') != false) {
$modules[] = substr($file, 0, -4);
}
}
} else {
echo _gettext('Unable to open the modules directory!');
}
return $modules;
}
/* Load a module's script and call its initialization function */
function module_load($module) {
global $modules_loaded;
if (!in_array($module, $modules_loaded)) {
/* Include the module file */
include(KU_ROOTDIR . 'inc/modules/' . $module . '.php');
/* Call the initialization function */
module_call_function($module, 'init');
/* Add this module to the loaded modules list */
$modules_loaded[] = $module;
/* The module was loaded, return true to show that it was a success */
return true;
}
return false;
}
/* Call a module's function, such as module_init() */
function module_call_function($module, $function, $data = null) {
if (function_exists($module . '_' . $function)) {
if ($data == null) {
return call_user_func($module . '_' . $function);
}
return call_user_func($module . '_' . $function, $data);
}
return false;
}
function module_setting_get($module, $key) {
global $tc_db;
$query = "SELECT `value` FROM `".KU_DBPREFIX."module_settings` WHERE `module` = ".$tc_db->qstr($module)." AND `key` = ".$tc_db->qstr($key)." LIMIT 1";
$result = $tc_db->GetOne($query);
return $result;
}
function module_setting_set($module, $key, $value, $type = 'string') {
global $tc_db;
$exists = $tc_db->GetOne("SELECT COUNT(*) FROM `".KU_DBPREFIX."module_settings` WHERE `module` = ".$tc_db->qstr($module)." AND `key` = ".$tc_db->qstr($key)." LIMIT 1");
if ($exists > 0) {
$result = $tc_db->Execute("UPDATE `".KU_DBPREFIX."module_settings` SET `value` = ".$tc_db->qstr($value).") WHERE `module` = ".$tc_db->qstr($module)." AND `key` = ".$tc_db->qstr($key)."");
} else {
$result = $tc_db->Execute("INSERT INTO `".KU_DBPREFIX."module_settings` (`module` , `key` , `value` , `type`) VALUES (".$tc_db->qstr($module).", ".$tc_db->qstr($key).", ".$tc_db->qstr($value).", ".$tc_db->qstr($type).")");
}
return $result;
}
?>