protected function loadRoles() { $db = Knowledgeroot_Registry::get('db'); // fetch all groups $rows = $db->fetchAll('SELECT id FROM ' . $db->quoteIdentifier('group') . ' WHERE active=' . Knowledgeroot_Db::true() . ' AND deleted=' . Knowledgeroot_Db::false()); foreach ($rows as $key => $value) { $this->addRole(new Zend_Acl_Role('G_' . $value['id'])); } // fetch all group and create group members $rows = $db->fetchAll('SELECT id FROM ' . $db->quoteIdentifier('group') . ' WHERE active=' . Knowledgeroot_Db::true() . ' AND deleted=' . Knowledgeroot_Db::false()); foreach ($rows as $key => $value) { $parents = array('G_' . $value['id']); $gm = $db->fetchAll("SELECT group_id FROM group_member WHERE member_id=? AND member_type='group'", array($value['id'])); foreach ($gm as $mKey => $mValue) { $parents[] = 'G_' . $mValue['group_id']; } $this->addRole(new Zend_Acl_Role('GM_' . $value['id']), $parents); } // fetch all users and set parent $rows = $db->fetchAll('SELECT id FROM ' . $db->quoteIdentifier('user') . ' WHERE active=' . Knowledgeroot_Db::true() . ' AND deleted=' . Knowledgeroot_Db::false()); foreach ($rows as $key => $value) { $parents = array(); $gm = $db->fetchAll("SELECT group_id FROM group_member WHERE member_id=? AND member_type='user'", array($value['id'])); foreach ($gm as $mKey => $mValue) { $parents[] = 'GM_' . $mValue['group_id']; } $this->addRole(new Zend_Acl_Role('U_' . $value['id']), $parents); } }
public function delete($id = null, $markOnly = true) { if ($id == null) { $id = $this->id; } $user = new Knowledgeroot_Db_Tag(); if ($markOnly == true) { $data = array('deleted' => Knowledgeroot_Db::true()); $user->update($data, 'id = ' . $id); } else { $user->delete('id = ' . $id); } }
public function isValid() { // get db class $db = Knowledgeroot_Registry::get('db'); // get user from db $user = $db->fetchRow("SELECT id, password FROM " . $db->quoteIdentifier('user') . " WHERE login=? AND active=?", array($this->username, Knowledgeroot_Db::true())); // check password hashes if ($user && Knowledgeroot_Password::verify($this->password, $user['password'])) { $this->isValid = true; return true; } return false; }