. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ global $RBAC; if ($RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::header( 'location: ../login/login' ); die(); } if (! isset( $_GET['sUID'] )) { G::SendTemporalMessage( 'ID_ERROR_OBJECT_NOT_EXISTS', 'error', 'labels' ); G::header( 'location: authSources_List' ); die(); } if ($_GET['sUID'] == '') { G::SendTemporalMessage( 'ID_ERROR_OBJECT_NOT_EXISTS', 'error', 'labels' ); G::header( 'location: authSources_List' ); die(); } $G_MAIN_MENU = 'processmaker'; $G_SUB_MENU = 'users'; $G_ID_MENU_SELECTED = 'USERS'; $G_ID_SUB_MENU_SELECTED = 'AUTH_SOURCES'; $fields = $RBAC->getAuthSource( $_GET['sUID'] ); if (is_array( $fields['AUTH_SOURCE_DATA'] )) { foreach ($fields['AUTH_SOURCE_DATA'] as $field => $value) { $fields[$field] = $value; } } $fields['AUTH_SOURCE_SHOWGRID_FLAG'] = 0; if (isset($fields['AUTH_SOURCE_DATA']['AUTH_SOURCE_SHOWGRID']) && $fields['AUTH_SOURCE_DATA']['AUTH_SOURCE_SHOWGRID'] == 'on') { $fields['AUTH_SOURCE_SHOWGRID_FLAG'] = 1; } unset( $fields['AUTH_SOURCE_DATA'] ); $textAttribute = ''; if (isset($fields['AUTH_SOURCE_GRID_ATTRIBUTE']) && count($fields['AUTH_SOURCE_GRID_ATTRIBUTE'])) { foreach ($fields['AUTH_SOURCE_GRID_ATTRIBUTE'] as $value) { $textAttribute .= '|' . $value['attributeLdap'] . '/' . $value['attributeUser']; } } $fields['AUTH_SOURCE_GRID_TEXT'] = $textAttribute; //fixing a problem with dropdown with int values, //the problem : the value was integer, but the dropdown was expecting a string value, and they returns always the first item of dropdown if (isset( $fields['AUTH_SOURCE_ENABLED_TLS'] )) { $fields['AUTH_SOURCE_ENABLED_TLS'] = sprintf( '%d', $fields['AUTH_SOURCE_ENABLED_TLS'] ); } if (isset( $fields['AUTH_ANONYMOUS'] )) { $fields['AUTH_ANONYMOUS'] = sprintf( '%d', $fields['AUTH_ANONYMOUS'] ); } $G_PUBLISH = new Publisher(); if ($fields['AUTH_SOURCE_PROVIDER'] == 'ldap') { $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addExtJsScript( 'authSources/authSourcesEdit', false ); $oHeadPublisher->assign( 'sUID', $_GET['sUID'] ); G::RenderPage( 'publish', 'extJs' ); } else { if (file_exists( PATH_PLUGINS . $fields['AUTH_SOURCE_PROVIDER'] . PATH_SEP . $fields['AUTH_SOURCE_PROVIDER'] . 'Edit.xml' )) { if (class_exists( $fields['AUTH_SOURCE_PROVIDER'] )) { // The attributes the users G::loadClass('pmFunctions'); $data = executeQuery('DESCRIBE USERS'); $fieldSet = array('USR_UID','USR_USERNAME','USR_ROLE','USR_REPLACED_BY','USR_UX'); $attributes = ''; foreach ($data as $value) { if (!(in_array($value['Field'], $fieldSet))) { $attributes .= $value['Field'] . '|'; } } $fields['AUTH_SOURCE_ATTRIBUTE_IDS'] = $attributes; $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $fields['AUTH_SOURCE_PROVIDER'] . PATH_SEP . $fields['AUTH_SOURCE_PROVIDER'] . 'Edit.xml', '', $fields, '../authSources/authSources_Save' ); } else { $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', array ('MESSAGE' => G::LoadTranslation( 'ID_AUTH_SOURCE_MISSING' ) ) ); } } else { if (file_exists( PATH_XMLFORM . 'authSources/' . $fields['AUTH_SOURCE_PROVIDER'] . 'Edit.xml' )) { $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'authSources/' . $fields['AUTH_SOURCE_PROVIDER'] . 'Edit', '', $fields, '../authSources/authSources_Save' ); } else { $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', array ('MESSAGE' => 'File: ' . $fields['AUTH_SOURCE_PROVIDER'] . 'Edit.xml' . ' not exists.' ) ); } } G::RenderPage( 'publish', 'blank' ); }