Implement factory for adapters used for dashlets and ldap.
This commit is contained in:
David Callizaya
2017-08-17 17:19:43 -04:00
parent 2e5c46d610
commit 1b8d210282
3 changed files with 116 additions and 88 deletions

View File

@@ -46,6 +46,20 @@ class G
public static $pathDataPublic; public static $pathDataPublic;
public static $httpHost; public static $httpHost;
/**
* Adapters used for different services inside Processmaker.
*
* @var string[] $adapters
*/
private static $adapters = [
'ldap' => LDAP::class,
'ldapadvanced' => LdapAdvanced::class,
'dashletopenvscompleted' => DashletOpenVsCompleted::class,
'dashletrssreader' => DashletRssReader::class,
'dashletprocesspakerenterprise' => DashletProcessMakerEnterprise::class,
'dashletprocessmakercommunity' => DashletProcessMakerCommunity::class,
];
/** /**
* @deprecated 3.2.2, We keep this function only for backwards compatibility because is used in the plugin manager * @deprecated 3.2.2, We keep this function only for backwards compatibility because is used in the plugin manager
*/ */
@@ -5865,93 +5879,18 @@ class G
define('PM_SCHEDULER_CREATE_CASE_BEFORE', 1019); define('PM_SCHEDULER_CREATE_CASE_BEFORE', 1019);
define('PM_SCHEDULER_CREATE_CASE_AFTER', 1020); define('PM_SCHEDULER_CREATE_CASE_AFTER', 1020);
} }
}
/** /**
* eprint * Instanciate an adapter by name.
* *
* @param string $s default value '' * @param string $name Adapter name or class name
* @param string $c default value null * @param string[] $parameters Constructor parameters
* */
* @return void public static function factory($name, ...$parameters)
*/ {
function eprint ($s = "", $c = null) $key = strtolower($name);
{ $class = isset(self::$adapters[$key]) ? self::$adapters[$key] : $name;
if (G::isHttpRequest()) { $rc = new ReflectionClass($class);
if (isset( $c )) { return $rc->newInstanceArgs($parameters);
echo "<pre style='color:$c'>$s</pre>";
} else {
echo "<pre>$s</pre>";
}
} else {
if (isset( $c )) {
switch ($c) {
case 'green':
printf( "\033[0;35;32m$s\033[0m" );
return;
break;
case 'red':
printf( "\033[0;35;31m$s\033[0m" );
return;
break;
case 'blue':
printf( "\033[0;35;34m$s\033[0m" );
return;
break;
default:
print "$s";
}
} else {
print "$s";
}
}
}
/**
* println
*
* @param string $s
*
* @return eprintln($s)
*/
function println ($s)
{
return eprintln( $s );
}
/**
* eprintln
*
* @param string $s
* @param string $c
*
* @return void
*/
function eprintln ($s = "", $c = null)
{
if (G::isHttpRequest()) {
if (isset( $c )) {
echo "<pre style='color:$c'>$s</pre>";
} else {
echo "<pre>$s</pre>";
}
} else {
if (isset( $c ) && (PHP_OS != 'WINNT')) {
switch ($c) {
case 'green':
printf( "\033[0;35;32m$s\033[0m\n" );
return;
break;
case 'red':
printf( "\033[0;35;31m$s\033[0m\n" );
return;
break;
case 'blue':
printf( "\033[0;35;34m$s\033[0m\n" );
return;
break;
}
}
print "$s\n";
} }
} }

View File

@@ -318,7 +318,7 @@ switch ($function) {
$sClassName = strtolower($aFields['AUTH_SOURCE_PROVIDER']); $sClassName = strtolower($aFields['AUTH_SOURCE_PROVIDER']);
$plugin = new $sClassName(); $plugin = G::factory($sClassName);
$aAuthSource = $RBAC->authSourcesObj->load($authSourceUid); $aAuthSource = $RBAC->authSourcesObj->load($authSourceUid);

View File

@@ -272,3 +272,92 @@ function getVarsGrid($proUid, $dynUid)
} }
return $dynaformFieldTypes; return $dynaformFieldTypes;
} }
/**
* eprint
*
* @param string $s default value ''
* @param string $c default value null
*
* @return void
*/
function eprint ($s = "", $c = null)
{
if (G::isHttpRequest()) {
if (isset( $c )) {
echo "<pre style='color:$c'>$s</pre>";
} else {
echo "<pre>$s</pre>";
}
} else {
if (isset( $c )) {
switch ($c) {
case 'green':
printf( "\033[0;35;32m$s\033[0m" );
return;
break;
case 'red':
printf( "\033[0;35;31m$s\033[0m" );
return;
break;
case 'blue':
printf( "\033[0;35;34m$s\033[0m" );
return;
break;
default:
print "$s";
}
} else {
print "$s";
}
}
}
/**
* println
*
* @param string $s
*
* @return eprintln($s)
*/
function println ($s)
{
return eprintln( $s );
}
/**
* eprintln
*
* @param string $s
* @param string $c
*
* @return void
*/
function eprintln ($s = "", $c = null)
{
if (G::isHttpRequest()) {
if (isset( $c )) {
echo "<pre style='color:$c'>$s</pre>";
} else {
echo "<pre>$s</pre>";
}
} else {
if (isset( $c ) && (PHP_OS != 'WINNT')) {
switch ($c) {
case 'green':
printf( "\033[0;35;32m$s\033[0m\n" );
return;
break;
case 'red':
printf( "\033[0;35;31m$s\033[0m\n" );
return;
break;
case 'blue':
printf( "\033[0;35;34m$s\033[0m\n" );
return;
break;
}
}
print "$s\n";
}
}