/**
  * Load settings for user
  * @param FrontUserEntity $objUser
  * @return \FrontUsers\Entities\FrontUserSettingsEntity
  */
 public function selectUserSettings(FrontUserEntity $objUser)
 {
     $objUserSettings = $this->tableGateway->select(array("fk_id_users" => $objUser->get("id")))->current();
     if (!$objUserSettings) {
         return FALSE;
     }
     //end if
     $objUserSettings->set("data", unserialize($this->getServiceLocator()->get("FrontCore\\Models\\Security\\CryptoModel")->sha1EncryptDecryptValue("decrypt", $objUserSettings->get("data"), array())));
     return $objUserSettings;
 }
Ejemplo n.º 2
0
 public function getServiceConfig()
 {
     return array('factories' => array('FrontUsers\\Models\\FrontUsersModel' => function ($sm) {
         $model_users = new FrontUsersModel();
         return $model_users;
     }, "FrontUsers\\Models\\FrontUserRolesAdminModel" => function ($sm) {
         $model_user_roles_admin = new FrontUserRolesAdminModel();
         return $model_user_roles_admin;
     }, "FrontUsers\\Models\\FrontUsersRolesAclLinksModel" => function ($sm) {
         $model_roles_acl_links = new FrontUsersRolesAclLinksModel();
         return $model_roles_acl_links;
     }, "FrontUsers\\Models\\FrontUsersTasksModel" => function ($sm) {
         $model_users_tasks = new FrontUsersTasksModel();
         return $model_users_tasks;
     }, 'FrontUsers\\Storage\\UserFileSystemStorage' => function ($sm) {
         $model_user_storage = new UserFileSystemStorage();
         //set path @TODO read from config
         $model_user_storage->setPath("./data/user_storage");
         return $model_user_storage;
     }, 'FrontUsers\\Storage\\UserMySqlStorage' => function ($sm) {
         $model_user_storage = new UserMySqlStorage();
         return $model_user_storage;
     }, 'FrontUsers\\Models\\FrontUsersAclRulesModel' => function ($sm) {
         $model = new FrontUsersAclRulesModel();
         return $model;
     }, 'FrontUsers\\Entities\\FrontUserEntity' => function ($sm) {
         $entity_user = new FrontUserEntity();
         //load crypto
         $objCrypto = $sm->get("FrontCore\\Models\\Security\\CryptoModel");
         $entity_user->setCrypto($objCrypto);
         return $entity_user;
     }, "FrontUsers\\Entities\\FrontUserRoleAclLinkEntity" => function ($sm) {
         $entity_role_acl_link = new FrontUserRoleAclLinkEntity();
         return $entity_role_acl_link;
     }, "FrontUsers\\Entities\\FrontUserRoleAdminEntity" => function ($sm) {
         $entity_role_admin = new FrontUserRoleAdminEntity();
         return $entity_role_admin;
     }, "FrontUsers\\Entities\\FrontUsersUserTaskEntity" => function ($sm) {
         $entity_user_task = new FrontUsersUserTaskEntity();
         return $entity_user_task;
     }, "FrontUsers\\Entities\\FrontUserStandardRoleEntity" => function ($sm) {
         $entity_standard_roles = new FrontUserStandardRoleEntity();
         return $entity_standard_roles;
     }, 'FrontUsers\\Entities\\FrontUserSettingsEntity' => function ($sm) {
         $entity_user_settings = new FrontUserSettingsEntity();
         return $entity_user_settings;
     }, 'FrontUsers\\Entities\\FrontUserNativePreferencesEntity' => function ($sm) {
         $entity = new FrontUserNativePreferencesEntity();
         return $entity;
     }, 'FrontUsers\\Entities\\FrontUserCacheSettingsEntity' => function ($sm) {
         $entity = new FrontUserCacheSettingsEntity();
         return $entity;
     }, 'FrontUsers\\Tables\\UsersTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UsersTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UsersTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserSettingsTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserSettingsEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserSettingsTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserSettingsTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserPreferencesTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserSettingsEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserPreferencesTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserPreferencesTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserNativePreferencesTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserNativePreferencesEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserNativePreferencesTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserNativePreferencesTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserCacheSettingsTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserCacheSettingsEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserCacheSettingsTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserCacheSettingsTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Events\\FrontUsersEvents' => function ($sm) {
         $events_frontusers = new FrontUsersEvents();
         return $events_frontusers;
     }), "shared" => array("FrontUsers\\Entities\\FrontUserEntity" => FALSE, "FrontUsers\\Entities\\FrontUserSettingsEntity" => FALSE, "FrontUsers\\Entities\\FrontUserRoleAclLinkEntity" => FALSE, "FrontUsers\\Entities\\FrontUserRoleAdminEntity" => FALSE, "FrontUsers\\Entities\\FrontUsersUserTaskEntity" => FALSE, "FrontUsers\\Entities\\FrontUserStandardRoleEntity" => FALSE, 'FrontUsers\\Entities\\FrontUserNativePreferencesEntity' => FALSE, 'FrontUsers\\Entities\\FrontUserCacheSettingsEntity' => FALSE));
 }
 /**
  * Delete a user
  * @param FrontUserEntity $objUser
  */
 public function deleteUser(FrontUserEntity $objUser)
 {
     $this->tableGateway->delete(array("profile_identifier" => $objUser->get("profile_identifier")));
 }
 /**
  * UPDATE row of data from User query.
  * @param FrontUserEntity $objUser
  * @return Ambigous <\FrontCore\Models\Ambigous, \FrontCore\Models\ApiRequestModel, \FrontCore\Models\ApiRequestModel>
  */
 public function updateUser(FrontUserEntity $objUser)
 {
     // trigger .pre event
     $this->getEventManager()->trigger(__FUNCTION__ . ".pre", $this, array("objUser" => $objUser));
     // Create APIRequest object from model
     $objApiRequest = $this->getApiRequestModel();
     // Setup User object and specify action
     $objApiRequest->setApiAction($objUser->getHyperMedia("edit-user")->url);
     $objApiRequest->setApiModule(NULL);
     // Execute
     $objUser = $objApiRequest->performPUTRequest($objUser->getArrayCopy())->getBody();
     // Recreate User entity
     $objUser = $this->createUserEntity($objUser->data);
     // trigger .post event
     $this->getEventManager()->trigger(__FUNCTION__ . ".post", $this, array("objUser" => $objUser));
     return $objUser;
 }