protected function createUserOnDemand($partner_id, $subp_id, $puser_id, $puser_kuser, $kuser = null) { // make sure the user [puser_kuser + kuser] exists according to addUserOnDemand // TODO - remove dead code //$create_user_on_demand = $this->addUserOnDemand(); $create_user_on_demand = $this->addUserOnDemand2(); $create_user = false; if ($puser_kuser == null) { if ($create_user_on_demand == self::CREATE_USER_FALSE) { $create_user = false; } elseif ($create_user_on_demand == self::CREATE_USER_FORCE) { $create_user = true; } elseif ($create_user_on_demand == self::CREATE_USER_FROM_PARTNER_SETTINGS) { $partner = PartnerPeer::retrieveByPK($partner_id); $create_user = $partner->getCreateUserOnDemand(); } } if ($create_user) { // prefer the user_screenName on user_name $user_name = $this->getP("user_screenName", $this->getP("user_name")); if (!$user_name) { $puser_name = $kuser_name = myPartnerUtils::getPrefix($partner_id) . $puser_id; } else { $puser_name = $kuser_name = $user_name; } $puser_kuser = PuserKuserPeer::createPuserKuser($partner_id, $subp_id, $puser_id, $kuser_name, $puser_name, false, $kuser); } return $puser_kuser; }
protected function getLoggedInUserId() { if ($this->partner_id) { // this part overhere should be in a more generic place - part of the services $ks = ""; // TODO - for now ignore the session $valid = true; // ( 0 >= kSessionUtils::validateKSession ( $this->partner_id , $this->uid , $this->ks_str ,&$ks ) ); if ($valid) { $puser_id = $this->uid; // actually the better user indicator will be placed in the ks - TODO - use it !! // $puser_id = $ks->user; $kuser_name = $puser_name = $this->getP("user_name"); if (!$puser_name) { $kuser_name = myPartnerUtils::getPrefix($this->partner_id) . $puser_id; } // will return the existing one if any, will create is none $puser_kuser = PuserKuserPeer::createPuserKuser($this->partner_id, $this->subp_id, $puser_id, $kuser_name, $puser_name, false); $likuser_id = $puser_kuser->getKuserId(); // from now on - this will be considered the logged in user return $likuser_id; } } else { return parent::getLoggedInUserId(); } }