mirror of
https://github.com/php/php-src.git
synced 2025-08-20 09:24:05 +02:00
Added function OCIPasswordChange() that allows renewal of an expired Oracle password.
# Tested, but still considered experimental...
This commit is contained in:
parent
26bd73fec6
commit
7890b6fc87
1 changed files with 48 additions and 1 deletions
|
@ -28,7 +28,6 @@
|
|||
* especialliy important for things like oci_ping
|
||||
* - Change return-value for OCIFetch*() (1-row read, 0-Normal end, false-error)
|
||||
* - Error mode (print or shut up?)
|
||||
* - OCIPasswordChange()
|
||||
* - binding of arrays
|
||||
* - Character sets for NCLOBS
|
||||
* - split the module into an upper (php-callable) and lower (c-callable) layer!
|
||||
|
@ -245,6 +244,7 @@ PHP_FUNCTION(ociserverversion);
|
|||
PHP_FUNCTION(ocistatementtype);
|
||||
PHP_FUNCTION(ocirowcount);
|
||||
PHP_FUNCTION(ocisetprefetch);
|
||||
PHP_FUNCTION(ocipasswordchange);
|
||||
#ifdef HAVE_OCI8_TEMP_LOB
|
||||
PHP_FUNCTION(ociwritetemporarylob);
|
||||
PHP_FUNCTION(ocicloselob);
|
||||
|
@ -342,6 +342,7 @@ static zend_function_entry php_oci_functions[] = {
|
|||
PHP_FE(ocirollback, NULL)
|
||||
PHP_FE(ocinewdescriptor, NULL)
|
||||
PHP_FE(ocisetprefetch, NULL)
|
||||
PHP_FE(ocipasswordchange,NULL)
|
||||
#ifdef WITH_COLLECTIONS
|
||||
PHP_FE(ocifreecollection,NULL)
|
||||
PHP_FE(ocicollappend, NULL)
|
||||
|
@ -4395,6 +4396,52 @@ PHP_FUNCTION(ocisetprefetch)
|
|||
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto bool ocipasswordchange(int conn, string user, string old_password, string new_password)
|
||||
changes the password of an account*/
|
||||
|
||||
PHP_FUNCTION(ocipasswordchange)
|
||||
{
|
||||
zval **conn, **user_param, **pass_old_param, **pass_new_param;
|
||||
text *user, *pass_old, *pass_new;
|
||||
oci_connection *connection;
|
||||
|
||||
if (zend_get_parameters_ex(4, &conn, &user_param, &pass_old_param, &pass_new_param) == FAILURE) {
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
|
||||
user = Z_STRVAL_PP(user_param);
|
||||
pass_old = Z_STRVAL_PP(pass_old_param);
|
||||
pass_new = Z_STRVAL_PP(pass_new_param);
|
||||
|
||||
OCI_GET_CONN(connection, conn);
|
||||
|
||||
CALL_OCI_RETURN(
|
||||
connection->error
|
||||
,OCIPasswordChange(
|
||||
connection->pServiceContext
|
||||
,connection->pError
|
||||
,user
|
||||
,strlen(user)+1
|
||||
,pass_old
|
||||
,strlen(pass_old)+1
|
||||
,pass_new
|
||||
,strlen(pass_new)+1
|
||||
,OCI_DEFAULT
|
||||
)
|
||||
);
|
||||
|
||||
if (connection->error == OCI_SUCCESS) {
|
||||
RETURN_TRUE;
|
||||
}
|
||||
else {
|
||||
oci_error(connection->pError, "OCIPasswordChange", connection->error);
|
||||
oci_handle_error(connection, connection->error);
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto int ocinewcursor(int conn)
|
||||
Return a new cursor (Statement-Handle) - use this to bind ref-cursors! */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue