Overview

Packages

  • Auth
  • Core
  • Horde
    • Imsp
  • None
  • Notification

Classes

  • Horde
  • Horde_Config
  • Horde_Config_Form
  • Horde_Core_ActiveSync_Connector
  • Horde_Core_ActiveSync_Driver
  • Horde_Core_Ajax_Application
  • Horde_Core_Ajax_Imple
  • Horde_Core_Ajax_Imple_AutoCompleter
  • Horde_Core_Ajax_Imple_Geocoder_Geonames
  • Horde_Core_Ajax_Imple_SpellChecker
  • Horde_Core_Alarm_Handler_Notify
  • Horde_Core_Auth_Application
  • Horde_Core_Auth_Composite
  • Horde_Core_Auth_Ldap
  • Horde_Core_Auth_Msad
  • Horde_Core_Auth_Shibboleth
  • Horde_Core_Auth_Signup_Base
  • Horde_Core_Auth_Signup_Form
  • Horde_Core_Auth_Signup_Null
  • Horde_Core_Auth_Signup_Sql
  • Horde_Core_Auth_Signup_SqlObject
  • Horde_Core_Autoloader_Callback_Mime
  • Horde_Core_Autoloader_Callback_Nls
  • Horde_Core_Block
  • Horde_Core_Block_Collection
  • Horde_Core_Block_Layout
  • Horde_Core_Block_Layout_Manager
  • Horde_Core_Block_Layout_View
  • Horde_Core_Block_Upgrade
  • Horde_Core_Browser
  • Horde_Core_Bundle
  • Horde_Core_Cli
  • Horde_Core_Controller_NotFound
  • Horde_Core_Controller_RequestConfiguration
  • Horde_Core_Controller_RequestMapper
  • Horde_Core_Controller_SettingsFinder
  • Horde_Core_Db_Migration
  • Horde_Core_Factory_ActiveSyncBackend
  • Horde_Core_Factory_ActiveSyncServer
  • Horde_Core_Factory_ActiveSyncState
  • Horde_Core_Factory_Ajax
  • Horde_Core_Factory_Alarm
  • Horde_Core_Factory_Auth
  • Horde_Core_Factory_AuthSignup
  • Horde_Core_Factory_Base
  • Horde_Core_Factory_BlockCollection
  • Horde_Core_Factory_Browser
  • Horde_Core_Factory_Cache
  • Horde_Core_Factory_Crypt
  • Horde_Core_Factory_Data
  • Horde_Core_Factory_Db
  • Horde_Core_Factory_DbBase
  • Horde_Core_Factory_DbPear
  • Horde_Core_Factory_Dns
  • Horde_Core_Factory_Editor
  • Horde_Core_Factory_Facebook
  • Horde_Core_Factory_Group
  • Horde_Core_Factory_History
  • Horde_Core_Factory_HttpClient
  • Horde_Core_Factory_Identity
  • Horde_Core_Factory_Image
  • Horde_Core_Factory_Imple
  • Horde_Core_Factory_Imsp
  • Horde_Core_Factory_ImspAuth
  • Horde_Core_Factory_Injector
  • Horde_Core_Factory_KolabServer
  • Horde_Core_Factory_KolabSession
  • Horde_Core_Factory_KolabStorage
  • Horde_Core_Factory_Ldap
  • Horde_Core_Factory_Lock
  • Horde_Core_Factory_Logger
  • Horde_Core_Factory_LoginTasks
  • Horde_Core_Factory_Mail
  • Horde_Core_Factory_Mapper
  • Horde_Core_Factory_Matcher
  • Horde_Core_Factory_Memcache
  • Horde_Core_Factory_MimeViewer
  • Horde_Core_Factory_Notification
  • Horde_Core_Factory_Perms
  • Horde_Core_Factory_PermsCore
  • Horde_Core_Factory_Prefs
  • Horde_Core_Factory_Request
  • Horde_Core_Factory_Secret
  • Horde_Core_Factory_SessionHandler
  • Horde_Core_Factory_Share
  • Horde_Core_Factory_ShareBase
  • Horde_Core_Factory_Template
  • Horde_Core_Factory_TextFilter
  • Horde_Core_Factory_ThemesCache
  • Horde_Core_Factory_Token
  • Horde_Core_Factory_Tree
  • Horde_Core_Factory_Twitter
  • Horde_Core_Factory_UrlShortener
  • Horde_Core_Factory_Vfs
  • Horde_Core_Factory_View
  • Horde_Core_Factory_Weather
  • Horde_Core_Group_Ldap
  • Horde_Core_Log_Logger
  • Horde_Core_LoginTasks
  • Horde_Core_LoginTasks_Backend_Horde
  • Horde_Core_LoginTasks_SystemTask_Upgrade
  • Horde_Core_Mime_Viewer_Syntaxhighlighter
  • Horde_Core_Mime_Viewer_Vcard
  • Horde_Core_Notification_Event_Status
  • Horde_Core_Notification_Handler_Decorator_Hordelog
  • Horde_Core_Notification_Storage_Session
  • Horde_Core_Perms
  • Horde_Core_Perms_Ui
  • Horde_Core_Prefs_Cache_Session
  • Horde_Core_Prefs_Identity
  • Horde_Core_Prefs_Storage_Configuration
  • Horde_Core_Prefs_Storage_Hooks
  • Horde_Core_Prefs_Storage_Upgrade
  • Horde_Core_Prefs_Ui
  • Horde_Core_Prefs_Ui_Widgets
  • Horde_Core_Share_Driver
  • Horde_Core_Share_FactoryCallback
  • Horde_Core_Sidebar
  • Horde_Core_Text_Filter_Bbcode
  • Horde_Core_Text_Filter_Emails
  • Horde_Core_Text_Filter_Emoticons
  • Horde_Core_Text_Filter_Highlightquotes
  • Horde_Core_Translation
  • Horde_Core_Tree_Html
  • Horde_Core_Tree_Javascript
  • Horde_Core_Tree_Simplehtml
  • Horde_Core_Ui_FlagImage
  • Horde_Core_Ui_JsCalendar
  • Horde_Core_Ui_Language
  • Horde_Core_Ui_Layout
  • Horde_Core_Ui_ModalFormRenderer
  • Horde_Core_Ui_Pager
  • Horde_Core_Ui_Tabs
  • Horde_Core_Ui_TagCloud
  • Horde_Core_Ui_VarRenderer
  • Horde_Core_Ui_VarRenderer_Html
  • Horde_Core_Ui_VarRenderer_TablesetHtml
  • Horde_Core_Ui_Widget
  • Horde_ErrorHandler
  • Horde_Help
  • Horde_Menu
  • Horde_Registry
  • Horde_Registry_Api
  • Horde_Registry_Application
  • Horde_Registry_Caller
  • Horde_Registry_Nlsconfig
  • Horde_Script_Files
  • Horde_Session
  • Horde_Session_Null
  • Horde_Themes
  • Horde_Themes_Cache
  • Horde_Themes_Css
  • Horde_Themes_Element
  • Horde_Themes_Image
  • Horde_Themes_Sound

Exceptions

  • Horde_Exception_HookNotSet
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * The SQL implementation of Horde_Core_Auth_Signup.
  4:  *
  5:  * Copyright 2008-2012 Horde LLC (http://www.horde.org/)
  6:  *
  7:  * See the enclosed file COPYING for license information (LGPL). If you did
  8:  * not receive this file, see http://opensource.org/licenses/lgpl-2.1.php
  9:  *
 10:  * @author   Duck <duck@obala.net>
 11:  * @category Horde
 12:  * @license  http://opensource.org/licenses/lgpl-2.1.php LGPL
 13:  * @package  Core
 14:  */
 15: class Horde_Core_Auth_Signup_Sql extends Horde_Core_Auth_Signup_Base
 16: {
 17:     /**
 18:      * Configuration parameters.
 19:      *
 20:      * @var array
 21:      */
 22:     protected $_params = array();
 23: 
 24:     /**
 25:      * Constructor.
 26:      */
 27:     public function __construct()
 28:     {
 29:         $this->_params = array_merge(
 30:             $this->_params,
 31:             array('table' => 'horde_signups'),
 32:             Horde::getDriverConfig('signup', 'Sql'));
 33:     }
 34: 
 35:     /**
 36:      * Stores the signup data in the backend.
 37:      *
 38:      * @param Horde_Core_Auth_Signup_SqlObject $signup  Signup data.
 39:      *
 40:      * @throws Horde_Db_Exception
 41:      */
 42:     protected function _queueSignup($signup)
 43:     {
 44:         $query = 'INSERT INTO ' . $this->_params['table']
 45:             . ' (user_name, signup_date, signup_host, signup_data) VALUES (?, ?, ?, ?) ';
 46:         $values = array(
 47:             $signup->getName(),
 48:             time(),
 49:             $_SERVER['REMOTE_ADDR'],
 50:             serialize($signup->getData())
 51:         );
 52: 
 53:         $GLOBALS['injector']->getInstance('Horde_Core_Factory_Db')->create('horde', 'signup')->insert($query, $values);
 54:     }
 55: 
 56:     /**
 57:      * Checks if a user exists in the system.
 58:      *
 59:      * @param string $user  The user to check.
 60:      *
 61:      * @return boolean  True if the user exists.
 62:      * @throws Horde_Db_Exception
 63:      */
 64:     public function exists($user)
 65:     {
 66:         if (empty($GLOBALS['conf']['signup']['approve'])) {
 67:             return false;
 68:         }
 69: 
 70:         $query = 'SELECT 1 FROM ' . $this->_params['table'] .
 71:                  ' WHERE user_name = ?';
 72:         $values = array($user);
 73: 
 74:         return (bool)$GLOBALS['injector']->getInstance('Horde_Core_Factory_Db')->create('horde', 'signup')->selectValue($query, $values);
 75:     }
 76: 
 77:     /**
 78:      * Get a user's queued signup information.
 79:      *
 80:      * @param string $username  The username to retrieve the queued info for.
 81:      *
 82:      * @return Horde_Core_Auth_Signup_SqlObject $signup  The object for the
 83:      *                                                   requested signup.
 84:      * @throws Horde_Exception
 85:      * @throws Horde_Db_Exception
 86:      */
 87:     public function getQueuedSignup($username)
 88:     {
 89:         $query = 'SELECT * FROM ' . $this->_params['table'] .
 90:                  ' WHERE user_name = ?';
 91:         $values = array($username);
 92: 
 93:         $result = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Db')->create('horde', 'signup')->selectOne($query, $values);
 94:         if (empty($result)) {
 95:             throw new Horde_Exception(sprintf(Horde_Core_Translation::t("User \"%s\" does not exist."), $username));
 96:         }
 97:         $object = new Horde_Core_Auth_Signup_SqlObject($result['user_name']);
 98:         $object->setData($result);
 99: 
100:         return $object;
101:     }
102: 
103:     /**
104:      * Get the queued information for all pending signups.
105:      *
106:      * @return array  An array of signup objects, one for each signup in the
107:      *                queue.
108:      * @throws Horde_Db_Exception
109:      */
110:     public function getQueuedSignups()
111:     {
112:         $query = 'SELECT * FROM ' . $this->_params['table'] .
113:                  ' ORDER BY signup_date';
114: 
115:         $result = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Db')->create('horde', 'signup')->selectAll($query);
116:         if (empty($result)) {
117:             return array();
118:         }
119: 
120:         $signups = array();
121:         foreach ($result as $signup) {
122:             $object = new Horde_Core_Auth_Signup_SqlObject($signup['user_name']);
123:             $object->setData($signup);
124:             $signups[] = $object;
125:         }
126: 
127:         return $signups;
128:     }
129: 
130:     /**
131:      * Remove a queued signup.
132:      *
133:      * @param string $username  The user to remove from the signup queue.
134:      *
135:      * @throws Horde_Db_Exception
136:      */
137:     public function removeQueuedSignup($username)
138:     {
139:         $query = 'DELETE FROM ' . $this->_params['table'] .
140:                  ' WHERE user_name = ?';
141:         $values = array($username);
142: 
143:         $GLOBALS['injector']->getInstance('Horde_Core_Factory_Db')->create('horde', 'signup')->delete($query, $values);
144:     }
145: 
146:     /**
147:      * Return a new signup object.
148:      *
149:      * @param string $name  The signups's name.
150:      *
151:      * @return Horde_Core_Auth_Signup_SqlObject  A new signup object.
152:      * @throws InvalidArgumentException
153:      */
154:     public function newSignup($name)
155:     {
156:         if (empty($name)) {
157:             throw new InvalidArgumentException('Signup names must be non-empty.');
158:         }
159: 
160:         return new Horde_Core_Auth_Signup_SqlObject($name);
161:     }
162: 
163: }
164: 
API documentation generated by ApiGen