/** * Kullanıcı ilk kayıt ta "pk" sız olarak cagırılacak servis. * Kullanıcıyı kaydeder. pk, pktemp, privatekey degerlerinin olusturur. * @author Okan CIRAN * @version v 1.0 27.01.2016 * @param array | null $args * @return array * @throws PDOException */ public function insertTemp($params = array()) { try { $pdo = $this->getServiceLocator()->get('pgConnectFactory'); $pdo->beginTransaction(); $kontrol = $this->haveRecords($params); if (!\Utill\Dal\Helper::haveRecord($kontrol)) { $getConsultant = SysOsbConsultants::getConsultantIdForUsers(array('category_id' => 0)); if (\Utill\Dal\Helper::haveRecord($getConsultant)) { $ConsultantId = $getConsultant['resultSet'][0]['consultant_id']; } else { $ConsultantId = 1001; } $sql = " \n INSERT INTO info_users( \n operation_type_id, \n username, \n password, \n op_user_id, \n language_id, \n role_id,\n consultant_id\n ) \n VALUES (1,\n :username,\n :password,\n (SELECT last_value FROM info_users_id_seq),\n :language_id,\n 5 ,\n " . intval($ConsultantId) . "\n )"; $statement = $pdo->prepare($sql); $statement->bindValue(':username', $params['username'], \PDO::PARAM_STR); $statement->bindValue(':password', $params['password'], \PDO::PARAM_STR); $statement->bindValue(':language_id', $params['preferred_language'], \PDO::PARAM_INT); //echo debugPDO($sql, $params); $result = $statement->execute(); $insertID = $pdo->lastInsertId('info_users_id_seq'); $errorInfo = $statement->errorInfo(); if ($errorInfo[0] != "00000" && $errorInfo[1] != NULL && $errorInfo[2] != NULL) { throw new \PDOException($errorInfo[0]); } /* * kullanıcı için gerekli olan private key ve value değerleri yaratılılacak. * kullanıcı için gerekli olan private key temp ve value temp değerleri yaratılılacak. */ $this->setPrivateKey(array('id' => $insertID)); /* * kullanıcının public key temp değeri alınacak.. */ $publicKeyTemp = $this->getPublicKeyTemp(array('id' => $insertID)); if (\Utill\Dal\Helper::haveRecord($publicKeyTemp)) { $publicKeyTempValue = $publicKeyTemp['resultSet'][0]['pk_temp']; } else { $publicKeyTempValue = NULL; } /* * kullanıcı bilgileri info_users_detail tablosuna kayıt edilecek. */ $this->insertDetail(array('op_user_id' => $insertID, 'role_id' => 5, 'active' => 0, 'operation_type_id' => 1, 'language_id' => $params['preferred_language'], 'profile_public' => $params['profile_public'], 'f_check' => 0, 'name' => $params['name'], 'surname' => $params['surname'], 'username' => $params['username'], 'auth_email' => $params['auth_email'], 'act_parent_id' => 0, 'auth_allow_id' => 0, 'cons_allow_id' => 0, 'root_id' => $insertID, 'password' => $params['password'], 'consultant_id' => $ConsultantId)); $pdo->commit(); return array("found" => true, "errorInfo" => $errorInfo, "lastInsertId" => $insertID, "pktemp" => $publicKeyTempValue); } else { $errorInfo = '23505'; // 23505 unique_violation $errorInfoColumn = 'username'; $pdo->rollback(); $result = $kontrol; return array("found" => true, "errorInfo" => $errorInfo, "resultSet" => '', "errorInfoColumn" => $errorInfoColumn); } } catch (\PDOException $e) { $pdo->rollback(); return array("found" => false, "errorInfo" => $e->getMessage()); } }
/** * @author Okan CIRAN * @ info_users_addresses tablosuna pktemp için yeni bir kayıt oluşturur. !! * @version v 1.0 03.02.2016 * @return array * @throws \PDOException */ public function insertTemp($params = array()) { try { $pdo = $this->getServiceLocator()->get('pgConnectFactory'); $pdo->beginTransaction(); $opUserId = InfoUsers::getUserIdTemp(array('pktemp' => $params['pktemp'])); if (\Utill\Dal\Helper::haveRecord($opUserId)) { $opUserIdValue = $opUserId['resultSet'][0]['user_id']; $addSql = " op_user_id, "; $addSqlValue = " " . $opUserIdValue . ","; $addSql .= " user_id, "; if (isset($params['user_id']) && $params['user_id'] != "") { $userId = $params['user_id']; } else { $userId = $opUserIdValue; } $addSqlValue .= " " . $userId . ","; $getConsultant = SysOsbConsultants::getConsultantIdForUsers(array('category_id' => 1)); if (\Utill\Dal\Helper::haveRecord($getConsultant)) { $ConsultantId = $getConsultant['resultSet'][0]['consultant_id']; } else { $ConsultantId = 1001; } $addSql .= " consultant_id, "; $addSqlValue .= " " . intval($ConsultantId) . ","; $languageId = SysLanguage::getLanguageId(array('language_code' => $params['language_code'])); if (\Utill\Dal\Helper::haveRecord($languageId)) { $languageIdValue = $languageId['resultSet'][0]['id']; } else { $languageIdValue = 647; } $addSql .= " language_id, "; $addSqlValue .= " " . intval($languageIdValue) . ","; $sql = " \n INSERT INTO info_users_addresses ( \n " . $addSql . " \n operation_type_id, \n language_code, \n address_type_id, \n address1, \n address2, \n postal_code, \n country_id, \n city_id, \n borough_id, \n city_name, \n description, \n profile_public,\n history_parent_id\n ) \n VALUES (\n " . $addSqlValue . " \n 1, \n :language_code, \n :address_type_id, \n :address1, \n :address2, \n :postal_code, \n :country_id, \n :city_id, \n :borough_id, \n :city_name, \n :description, \n :profile_public,\n (SELECT last_value FROM info_users_addresses_id_seq)\n ) "; $statement = $pdo->prepare($sql); $statement->bindValue(':language_code', $params['language_code'], \PDO::PARAM_STR); $statement->bindValue(':address_type_id', $params['address_type_id'], \PDO::PARAM_INT); $statement->bindValue(':address1', $params['address1'], \PDO::PARAM_STR); $statement->bindValue(':address2', $params['address2'], \PDO::PARAM_STR); $statement->bindValue(':postal_code', $params['postal_code'], \PDO::PARAM_STR); $statement->bindValue(':country_id', $params['country_id'], \PDO::PARAM_INT); $statement->bindValue(':city_id', $params['city_id'], \PDO::PARAM_INT); $statement->bindValue(':borough_id', $params['borough_id'], \PDO::PARAM_INT); $statement->bindValue(':description', $params['description'], \PDO::PARAM_STR); $statement->bindValue(':city_name', $params['city_name'], \PDO::PARAM_STR); $statement->bindValue(':profile_public', $params['profile_public'], \PDO::PARAM_INT); // echo debugPDO($sql, $params); $result = $statement->execute(); $insertID = $pdo->lastInsertId('info_users_addresses_id_seq'); $errorInfo = $statement->errorInfo(); if ($errorInfo[0] != "00000" && $errorInfo[1] != NULL && $errorInfo[2] != NULL) { throw new \PDOException($errorInfo[0]); } $pdo->commit(); return array("found" => true, "errorInfo" => $errorInfo, "lastInsertId" => $insertID); } else { $errorInfo = '23502'; // 23502 not_null_violation $errorInfoColumn = 'pk'; $pdo->rollback(); return array("found" => true, "errorInfo" => $errorInfo, "resultSet" => '', "errorInfoColumn" => $errorInfoColumn); } } catch (\PDOException $e) { $pdo->rollback(); return array("found" => false, "errorInfo" => $e->getMessage()); } }