Location: PHPKode > projects > SENAYAN Library Automation > senayan3-stable5/admin/modules/membership/member_base_lib.inc.php
<?php

/*

VERSION : 3.0
CODENAME : SENAYAN
AUTHOR :
    Code and Programming : ARIE NUGRAHA (hide@address.com)
    Database Design : HENDRO WICAKSONO (hide@address.com) & WARDIYONO (hide@address.com)

SENAYAN Library Automation System
Copyright (C) 2007

This program 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.

This program 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 this program (GPL License.txt); if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/

/* MEMBER BASE LIBRARY */

class member
{
	# class properties
    public $member_id = null;
	public $member_name = null;
	public $member_type_id = null;
	public $member_type_name = null;
	public $register_date = null;
	public $expire_date = null;
	public $member_email = null;
	public $is_expire = true;
	public $is_pending = true;
    public $is_member = false;
    public $member_image = '';
    public $member_notes = null;
	protected $member_type_prop = array();
	protected $obj_db = false;

	# class constructor
	public function __construct($obj_db, $str_member_id)
	{
		// assign simbio database object to property
		$this->obj_db = $obj_db;
		// get member data from database
		$_member_q = $this->obj_db->query("SELECT m.*,mt.* FROM member AS m
			LEFT JOIN mst_member_type AS mt ON m.member_type_id=mt.member_type_id
			WHERE member_id='".$this->obj_db->escape_string($str_member_id)."'");

		if ($_member_q->num_rows > 0) {
			// set the is_member property flag to TRUE
			$this->is_member = true;
			$_member_d = $_member_q->fetch_assoc();
			// assign database value to class properties
			$this->member_id = $_member_d['member_id'];
			$this->member_name = $_member_d['member_name'];
			$this->member_type_id = $_member_d['member_type_id'];
			$this->member_type_name = $_member_d['member_type_name'];
			$this->register_date = $_member_d['register_date'];
			$this->expire_date = $_member_d['expire_date'];
			$this->member_email = $_member_d['member_email'];
			$this->member_image = $_member_d['member_image'];
			$this->member_notes = $_member_d['member_notes'];
			$this->member_type_prop = array(
					'loan_limit' => $_member_d['loan_limit'],
					'loan_periode' => $_member_d['loan_periode'],
					'enable_reserve' => $_member_d['enable_reserve'],
					'reserve_limit' => $_member_d['reserve_limit'],
					'member_periode' => $_member_d['member_periode'],
					'reborrow_limit' => $_member_d['reborrow_limit'],
					'fine_each_day' => $_member_d['fine_each_day'],
					'grace_periode' => $_member_d['grace_periode']
				);

			// is membership expired ?
			// compare it with current date
			$_current_date = date('Y-m-d');
			$_expired_date = simbio_date::compareDates($_current_date, $_member_d['expire_date']);
			if ($_expired_date == $_member_d['expire_date']) {
				$this->is_expire = false;
			}
		}
	}


	# checking wether member is valid or not
	# return : boolean
	public function valid()
	{
		return $this->is_member;
	}


	# checking wether membership is already expired
	# return : boolean
	public function isExpired()
	{
		return $this->is_expire;
	}


	# get all member properties
	# retuen : array
	public function getMemberTypeProp()
	{
		// return all member information as an array
		return $this->member_type_prop;
	}


	# get info about item being lent by member
	# return : array
	protected function getItemLoan($int_loan_rules = 0)
	{
		$_arr_on_loan = array();
		// count how many items is in loan for this member
		if ($int_loan_rules) {
			$_sql_str = "SELECT item_code FROM loan AS l
				WHERE member_id='".$this->member_id."' AND is_lent=1 AND is_return=0 AND loan_rules_id=$int_loan_rules";
		} else {
			$_sql_str = "SELECT item_code FROM loan AS l
				WHERE member_id='".$this->member_id."' AND is_lent=1 AND is_return=0";
		}
		$_count_q = $this->obj_db->query($_sql_str);
		while ($_count_d = $_count_q->fetch_row()) {
			$_arr_on_loan[] = $_count_d[0];
		}

		return $_arr_on_loan;
	}

}
?>
Return current item: SENAYAN Library Automation