/** * parametre olarak gelen array deki 'id' li kaydın update ini yapar !! * @author Okan CIRAN * @version v 1.0 10.02.2016 * @param array | null $args * @param type $params * @return array * @throws PDOException */ public function setUserDetailOperationsTypeCons($params = array()) { try { $pdo = $this->getServiceLocator()->get('pgConnectFactory'); $pdo->beginTransaction(); $opUserId = InfoUsers::getUserId(array('pk' => $params['pk'])); if (\Utill\Dal\Helper::haveRecord($opUserId)) { $opUserIdValue = $opUserId['resultSet'][0]['user_id']; $addSql = " op_user_id, "; $addSqlValue = intval($opUserIdValue) . ", "; if (isset($params['operation_type_id'])) { $addSql .= " operation_type_id, "; $addSqlValue .= intval($params['operation_type_id']) . ", "; } if (isset($params['cons_allow_id'])) { $addSql .= " cons_allow_id, "; $addSqlValue .= intval($params['cons_allow_id']) . ", "; } if (isset($params['role_id'])) { $addSql .= " role_id, "; $addSqlValue .= intval($params['role_id']) . ", "; } /* * parametre olarak gelen array deki 'id' li kaydın, info_users_details tablosundaki * active = 0 ve deleted = 0 olan kaydın active alanını 1 yapar !! */ InfoUsers::setUserDetailsDisables(array('id' => $params['id'])); $sql = " \n INSERT INTO info_users_detail(\n profile_public, \n f_check,\n " . $addSql . " \n name, \n surname, \n act_parent_id, \n language_code, \n root_id, \n language_id, \n password,\n auth_allow_id,\n auth_email\n ) \n SELECT \n profile_public, \n f_check, \n " . $addSqlValue . "\n name, \n surname, \n act_parent_id, \n language_code, \n root_id, \n language_id, \n password,\n auth_allow_id,\n auth_email\n FROM info_users_detail \n WHERE root_id =" . intval($params['id']) . " \n AND active =0 AND deleted =0\n\n \n "; $statementActInsert = $pdo->prepare($sql); // echo debugPDO($sql, $params); $insertAct = $statementActInsert->execute(); $insertID = $pdo->lastInsertId('info_users_detail_id_seq'); $errorInfo = $statementActInsert->errorInfo(); if ($errorInfo[0] != "00000" && $errorInfo[1] != NULL && $errorInfo[2] != NULL) { throw new \PDOException($errorInfo[0]); } $pdo->commit(); return array("found" => true, "errorInfo" => $errorInfo, "newId" => $insertID); } else { $errorInfo = '23502'; /// 23502 user_id not_null_violation $pdo->rollback(); $result = $kontrol; return array("found" => true, "errorInfo" => $errorInfo, "resultSet" => ''); } } catch (\PDOException $e) { $pdo->rollback(); return array("found" => false, "errorInfo" => $e->getMessage()); } }