static function determine_loader($source) { if (is_dir($source)) { $loader = "Modyllic_Loader_Dir"; } else { if (file_exists($source)) { $loader = "Modyllic_Loader_File"; } else { if (Modyllic_Loader_DB::is_dsn($source)) { $loader = "Modyllic_Loader_DB"; } else { $loader = null; } } } return array($source, $loader); }
public static function db_driver($dialect) { if (!isset(self::$dialect_map)) { self::$dialect_map = array(); } if (!isset(self::$dialect_map[$dialect])) { $cap_dialect = preg_replace("/sql/", "SQL", $dialect); $classes_to_try = array("Modyllic_Loader_DB_" . ucfirst($cap_dialect), "Modyllic_Loader_DB_" . ucfirst($dialect) . "SQL", "Modyllic_Loader_DB_" . ucfirst($dialect), "Modyllic_Loader_DB_" . $cap_dialect, "Modyllic_Loader_DB_" . $dialect . "SQL", "Modyllic_Loader_DB_" . $dialect, $dialect); foreach ($classes_to_try as $class) { $file = preg_replace("/_/", "/", $class) . ".php"; if (class_exists($class)) { self::$dialect_map[$dialect] = $class; self::$dialect_map[$class] = $class; break; } } if (!isset(self::$dialect_map[$dialect])) { throw new Exception("Could not find Loader for SQL dialect {$dialect}"); } } return self::$dialect_map[$dialect]; }