skipClass = $skip_class; $defs_file = SYNC_CLASS_PATH.'/sync_config.php'; if (file_exists($defs_file)) { include_once $defs_file; foreach ($sync_classes as $class_info) { $this->addSyncClass($class_info['class_name'], SYNC_CLASS_PATH.'/'.$class_info['class_file'], $class_info['sub_folder']); } } } function addSyncClass($class_name, $class_file, $sub_folder) { $this->syncClasses[$class_name] = Array('file' => $class_file, 'sub_folder' => $sub_folder); } /** * Performs action specified for all syncronization classes. * You can pass other arguments to function, they will be passed to action handler * * @param string $action */ function performAction($action) { $args = func_get_args(); array_shift($args); foreach ($this->syncClasses as $class_name => $class_info) { if ($class_name == $this->skipClass) continue; $this->Application->registerClass($class_name, $class_info['file']); $sync_object = $this->Application->recallObject($class_name, null, Array(), Array ($class_info['sub_folder'], $class_name)); call_user_func_array( Array(&$sync_object, $action), $args); } } } /** * Base class for 3rd party site user syncronizations * */ class UsersSyncronize extends kBase { /** * Sub folder to which syncronizable tool is installed * * @var string */ var $subFolder = ''; /** * Connection to database * * @var IDBConnection * @access public */ var $Conn; /** * Create new instance of user syncronizer * * @param string $sub_folder * @access public */ public function __construct($sub_folder) { parent::__construct(); $this->subFolder = $sub_folder; } /** * Used to login user with given username & password * * @param string $user * @param string $password * @return bool */ function LoginUser($user, $password) { return true; } /** * Used to logout currently logged in user (if any) * */ function LogoutUser() { } /** * Creates user * * @param Array $user_data * @return bool */ function createUser($user_data) { return true; } /** * Update user info with given $user_id * * @param Array $user_data * @return bool */ function updateUser($user_data) { return true; } /** * Deletes user * * @param Array $user_data * @return bool */ function deleteUser($user_data) { return true; } }