From: Chuck Scott Date: Mon, 5 Mar 2018 22:08:42 +0000 (-0500) Subject: Added more data classes X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=e33e21d928d9cd151d0c7f9acdcefadfb4010552;p=WP-Plugins%2Fglm-member-db-assets.git Added more data classes --- diff --git a/classes/data/dataAccount.php b/classes/data/dataAccount.php new file mode 100644 index 0000000..36909f5 --- /dev/null +++ b/classes/data/dataAccount.php @@ -0,0 +1,547 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataAddedInfoFields.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ + */ + +/** + * GlmDataAssetsAccounts class + * + * PHP version 5 + * + * @category Data + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataAddedInfoFields.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmDataAssetsAccounts extends GlmDataAbstract +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * Plugin Configuration Data + * + * @var $config + * @access public + */ + public $config; + /** + * Data Table Name + * + * @var $table + * @access public + */ + public $table; + /** + * Field definitions + * + * 'type' is type of field as defined by the application + * text Regular text field + * pointer Pointer to an entry in another table + * 'filters' is the filter name for a particular filter ID in PHP filter + * functions + * See PHP filter_id() + * + * 'use' is when to use the field + * l = List + * g = Get + * n = New + * i = Insert + * e = Edit + * u = Update + * d = Delete + * a = All + * + * @var $ini + * @access public + */ + public $fields = false; + + /** + * Constructor + * + * @param object $d database connection + * @param array $config Configuration array + * @param bool $limitedEdit Flag to say indicate limited edit requested + * + * @return void + * @access public + */ + public function __construct($wpdb, $config, $limitedEdit = false) + { + + // If this class is not being extended along with existing $wpdb and $config + if (!$this->wpdb) { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + } + + /* + * Table Name + */ + $this->table = GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'account'; + + /* + * Table Data Fields + */ + + $this->fields = array ( + + // ID + 'id' => array ( + 'field' => 'id', + 'type' => 'integer', + 'view_only' => true, + 'use' => 'a' + ), + + // Is active flag (may be accessed or used) - default is true + 'active' => array ( + 'field' => 'active', + 'type' => 'checkbox', + 'use' => 'a', + 'default' => 1 + ), + + // Validated E-Mail address flag + 'validated' => array ( + 'field' => 'validated', + 'type' => 'checkbox', + 'use' => 'lg', + 'default' => false + ), + + // Validation Code - Used to confirm the person creating an account + // During validation process this includes the following. {validation_code}-{timestamp} - validation code is 6 digit number + // The validation code is sent in a simple E-Mail to the user who then has to provide that in a certain amount of time + // The timestamp is to determine if the time for validation has expired. + 'validation_code' => array ( + 'field' => 'validation_code', + 'type' => 'text', + 'use' => 'lg' + ), + + // Member ID if account derived from a member contact + 'member_id' => array ( + 'field' => 'member_id', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // First Name + 'fname' => array ( + 'field' => 'fname', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Last Name + 'lname' => array ( + 'field' => 'lname', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Organization + 'org' => array ( + 'field' => 'org', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Title + 'title' => array ( + 'field' => 'title', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Address 1 + 'addr1' => array ( + 'field' => 'addr1', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Address 2 + 'addr2' => array ( + 'field' => 'addr2', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // City + 'city' => array ( + 'field' => 'city', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // State + 'state' => array ( + 'field' => 'state', + 'type' => 'list', + 'list' => $this->config['states'], + 'default' => $this->config['settings']['default_state'], + 'use' => 'a' + ), + + // + 'zip' => array ( + 'field' => 'zip', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Country + 'country' => array ( + 'field' => 'country', + 'type' => 'list', + 'list' => $this->config['countries'], + 'default' => 'US', + 'use' => 'a' + ), + + // + 'phone' => array ( + 'field' => 'phone', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'fax' => array ( + 'field' => 'fax', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Last used billing information + 'bill_fname' => array ( + 'field' => 'bill_fname', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_lname' => array ( + 'field' => 'bill_lname', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_org' => array ( + 'field' => 'bill_org', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_title' => array ( + 'field' => 'bill_title', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_addr1' => array ( + 'field' => 'bill_addr1', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_addr2' => array ( + 'field' => 'bill_addr2', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_city' => array ( + 'field' => 'bill_city', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Bill State + 'bill_state' => array ( + 'field' => 'bill_state', + 'type' => 'list', + 'list' => $this->config['states'], + 'default' => $this->config['settings']['default_state'], + 'use' => 'a' + ), + + // + 'bill_zip' => array ( + 'field' => 'bill_zip', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Country + 'bill_country' => array ( + 'field' => 'bill_country', + 'type' => 'list', + 'list' => $this->config['countries'], + 'default' => 'US', + 'use' => 'a' + ), + + // + 'bill_phone' => array ( + 'field' => 'bill_phone', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'bill_fax' => array ( + 'field' => 'bill_fax', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'email' => array ( + 'field' => 'email', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // Cryped password for login back into this account + 'password' => array ( + 'field' => 'password', + 'type' => 'password', + 'pw_type' => 'strong', + 'minLength' => 8, + 'use' => 'a' + ), + + // + 'email_ok' => array ( + 'field' => 'email_ok', + 'type' => 'checkbox', + 'use' => 'a', + 'default' => 0 + ), + + // Is a member of the entity that owns the site + 'is_member' => array ( + 'field' => 'is_member', + 'type' => 'checkbox', + 'use' => 'a', + 'default' => 0 + ), + + // Pointer to GLM Associate member contact record if account is for a member contact + 'contact_id' => array ( + 'field' => 'contact_id', + 'type' => 'integer', + 'required' => false, + 'use' => 'lgneud' + ), + + // + 'contact_fname' => array ( + 'field' => 'contact_fname', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_lname' => array ( + 'field' => 'contact_lname', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_org' => array ( + 'field' => 'contact_org', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_title' => array ( + 'field' => 'contact_title', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_addr1' => array ( + 'field' => 'contact_addr1', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_addr2' => array ( + 'field' => 'contact_addr2', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_city' => array ( + 'field' => 'contact_city', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_state' => array ( + 'field' => 'contact_state', + 'type' => 'text', + 'required' => '', + 'use' => 'a' + ), + + // + 'contact_zip' => array ( + 'field' => 'contact_zip', + 'type' => 'text', + 'required' => '', + 'use' => 'a' + ), + + // + 'contact_country' => array ( + 'field' => 'contact_country', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_phone' => array ( + 'field' => 'contact_phone', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_fax' => array ( + 'field' => 'contact_fax', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_email' => array ( + 'field' => 'contact_email', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // + 'contact_email_ok' => array ( + 'field' => 'contact_email_ok', + 'type' => 'checkbox', + 'use' => 'a', + 'default' => 0 + ), + + // + 'date_created' => array ( + 'field' => 'date_created', + 'type' => 'datetime', + 'use' => 'a', + 'default' => 'NOW()' + ), + + // + 'notes' => array ( + 'field' => 'notes', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + // IP Address of user computer and timestamp + 'user_trace_info' => array ( + 'field' => 'user_trace_info', + 'type' => 'text', + 'required' => false, + 'use' => 'a' + ), + + ); + + } + + /** + * Entry Post Processing Call-Back Method + * + * Perform post-processing for all result entries. + * + * @param array $r Array of field result data for a single entry + * @param string $a Action being performed (l, i, g, ...) + * + * @return object Class object + * + */ + public function entryPostProcessing( $result_data, $action ) + { + + return $result_data; + } + +} diff --git a/classes/data/dataAssetAssignments.php b/classes/data/dataAssetAssignments.php new file mode 100644 index 0000000..61f210f --- /dev/null +++ b/classes/data/dataAssetAssignments.php @@ -0,0 +1,164 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataSettingsTerms.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ + */ + +/** + * GlmDataAssetsAssetAssignments class + * + * PHP version 5 + * + * @category Data + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataSettingsTerms.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmDataAssetsAssetAssignments extends GlmDataAbstract +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * Plugin Configuration Data + * + * @var $config + * @access public + */ + public $config; + /** + * Data Table Name + * + * @var $table + * @access public + */ + public $table; + /** + * Field definitions + * + * 'type' is type of field as defined by the application + * text Regular text field + * pointer Pointer to an entry in another table + * 'filters' is the filter name for a particular filter ID in PHP filter + * functions + * See PHP filter_id() + * + * 'use' is when to use the field + * l = List + * g = Get + * n = New + * i = Insert + * e = Edit + * u = Update + * d = Delete + * a = All + * + * @var $ini + * @access public + */ + public $fields = false; + + /** + * Constructor + * + * @param object $d database connection + * @param array $config Configuration array + * @param bool $limitedEdit Flag to say indicate limited edit requested + * + * @return void + * @access public + */ + public function __construct($wpdb, $config, $limitedEdit = false) + { + + // If this class is not being extended along with existing $wpdb and $config + if (!$this->wpdb) { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + } + + /* + * Table Name + */ + $this->table = GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_assignments'; + + /* + * Table Data Fields + */ + + $this->fields = array ( + + // ID + 'id' => array ( + 'field' => 'id', + 'type' => 'integer', + 'view_only' => true, + 'use' => 'a' + ), + + // Status + 'status' => array ( + 'field' => 'status', + 'type' => 'list', + 'list' => $this->config['assignment_status'], + 'force_list' => true, + 'use' => 'a' + ), + + // Name + 'name' => array ( + 'field' => 'name', + 'type' => 'text', + 'use' => 'a' + ), + + // Account + 'account' => array ( + 'field' => 'account', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'account', + 'p_field' => 'name', + 'p_static' => true, + 'required' => true, + 'use' => 'elg' + ), + + // Start Time + 'start_time' => array ( + 'field' => 'start_time', + 'type' => 'datetime', + 'use' => 'a' + ), + + // Start Time + 'start_time' => array ( + 'field' => 'start_time', + 'type' => 'datetime', + 'use' => 'a' + ) + + ); + + } + +} \ No newline at end of file diff --git a/classes/data/dataAssetItems.php b/classes/data/dataAssetItems.php new file mode 100644 index 0000000..d1c472b --- /dev/null +++ b/classes/data/dataAssetItems.php @@ -0,0 +1,213 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataSettingsTerms.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ + */ + +/** + * GlmDataAssetsAssetItems class + * + * PHP version 5 + * + * @category Data + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataSettingsTerms.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmDataAssetsAssetItems extends GlmDataAbstract +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * Plugin Configuration Data + * + * @var $config + * @access public + */ + public $config; + /** + * Data Table Name + * + * @var $table + * @access public + */ + public $table; + /** + * Field definitions + * + * 'type' is type of field as defined by the application + * text Regular text field + * pointer Pointer to an entry in another table + * 'filters' is the filter name for a particular filter ID in PHP filter + * functions + * See PHP filter_id() + * + * 'use' is when to use the field + * l = List + * g = Get + * n = New + * i = Insert + * e = Edit + * u = Update + * d = Delete + * a = All + * + * @var $ini + * @access public + */ + public $fields = false; + + /** + * Constructor + * + * @param object $d database connection + * @param array $config Configuration array + * @param bool $limitedEdit Flag to say indicate limited edit requested + * + * @return void + * @access public + */ + public function __construct($wpdb, $config, $limitedEdit = false) + { + + // If this class is not being extended along with existing $wpdb and $config + if (!$this->wpdb) { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + } + + /* + * Table Name + */ + $this->table = GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_item'; + + /* + * Table Data Fields + */ + + $this->fields = array ( + + // ID + 'id' => array ( + 'field' => 'id', + 'type' => 'integer', + 'view_only' => true, + 'use' => 'a' + ), + + // Asset Type + 'asset_type' => array ( + 'field' => 'asset_type', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_type', + 'p_field' => 'name', + 'p_static' => true, + 'required' => true, + 'use' => 'a' + ), + + // Name + 'name' => array ( + 'field' => 'name', + 'type' => 'text', + 'use' => 'a' + ), + + // Use Type + 'use_type' => array ( + 'field' => 'state', + 'type' => 'list', + 'list' => $this->config['use_type'], + 'force_list' => true, + 'use' => 'a' + ), + + // Number + 'number' => array ( + 'field' => 'number', + 'type' => 'integer', + 'use' => 'a' + ), + + // Quantity + 'quant' => array ( + 'field' => 'quant', + 'type' => 'integer', + 'default' => 1, + 'use' => 'a' + ), + + // Description + 'descr' => array ( + 'field' => 'descr', + 'type' => 'text', + 'use' => 'a' + ), + + // Area Units + 'area_units' => array ( + 'field' => 'area_units', + 'type' => 'list', + 'list' => $this->config['area_unit'], + 'force_list' => true, + 'use' => 'a' + ), + + // Lead Time + 'lead_time' => array ( + 'field' => 'lead_time', + 'type' => 'integer', + 'use' => 'a' + ), + + // Reuse Time + 'reuse_time' => array ( + 'field' => 'reuse_time', + 'type' => 'integer', + 'use' => 'a' + ), + + // Cost + 'cost' => array ( + 'field' => 'cost', + 'type' => 'money', + 'use' => 'a' + ), + + // Facility + 'facility' => array ( + 'field' => 'facility', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'facility', + 'p_field' => 'name', + 'p_static' => true, + 'required' => true, + 'use' => 'a' + ) + + ); + + } + +} \ No newline at end of file diff --git a/classes/data/dataAssetsAssigned.php b/classes/data/dataAssetsAssigned.php new file mode 100644 index 0000000..cd715a5 --- /dev/null +++ b/classes/data/dataAssetsAssigned.php @@ -0,0 +1,169 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataSettingsTerms.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ + */ + +/** + * GlmDataAssetsAssetsAssigned class + * + * PHP version 5 + * + * @category Data + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataSettingsTerms.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmDataAssetsAssetsAssigned extends GlmDataAbstract +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * Plugin Configuration Data + * + * @var $config + * @access public + */ + public $config; + /** + * Data Table Name + * + * @var $table + * @access public + */ + public $table; + /** + * Field definitions + * + * 'type' is type of field as defined by the application + * text Regular text field + * pointer Pointer to an entry in another table + * 'filters' is the filter name for a particular filter ID in PHP filter + * functions + * See PHP filter_id() + * + * 'use' is when to use the field + * l = List + * g = Get + * n = New + * i = Insert + * e = Edit + * u = Update + * d = Delete + * a = All + * + * @var $ini + * @access public + */ + public $fields = false; + + /** + * Constructor + * + * @param object $d database connection + * @param array $config Configuration array + * @param bool $limitedEdit Flag to say indicate limited edit requested + * + * @return void + * @access public + */ + public function __construct($wpdb, $config, $limitedEdit = false) + { + + // If this class is not being extended along with existing $wpdb and $config + if (!$this->wpdb) { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + } + + /* + * Table Name + */ + $this->table = GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_assigned'; + + /* + * Table Data Fields + */ + + $this->fields = array ( + + // ID + 'id' => array ( + 'field' => 'id', + 'type' => 'integer', + 'view_only' => true, + 'use' => 'a' + ), + + // Asset Assignment + 'asset_assignment' => array ( + 'field' => 'asset_assignment', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_assignment', + 'p_field' => 'name', + 'p_static' => true, + 'required' => true, + 'use' => 'elg' + ), + + // Asset Item + 'asset_item' => array ( + 'field' => 'asset_item', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_item', + 'p_field' => 'name', + 'p_static' => true, + 'required' => true, + 'use' => 'elg' + ), + + // Asset Type + 'asset_type' => array ( + 'field' => 'asset_type', + 'type' => 'pointer', + 'p_table' => GLM_MEMBERS_ASSETS_PLUGIN_DB_PREFIX . 'asset_type', + 'p_field' => 'name', + 'p_static' => true, + 'required' => true, + 'use' => 'elg' + ), + + // Quantity + 'quant' => array ( + 'field' => 'quant', + 'type' => 'text', + 'use' => 'a' + ), + + // Hold Release Time + 'hold_release_time' => array ( + 'field' => 'hold_release_time', + 'type' => 'datetime', + 'use' => 'a' + ) + ); + + } + +} \ No newline at end of file