3.3.6 release
[phpmyadmin-themes.git] / libraries / display_import_ajax.lib.php
blobc05cd4dc9dcc8b48daf9d30f200ee4281294fc58
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
5 * @version $Id$
6 * @package phpMyAdmin
7 */
9 if (!defined('PHPMYADMIN')) {
10 exit;
12 /**
13 * constant for differenciating array in $_SESSION variable
15 $SESSION_KEY = '__upload_status';
17 /**
18 * sets default plugin for handling the import process
20 $_SESSION[$SESSION_KEY]["handler"] = "";
22 /**
23 * unique ID for each upload
25 $upload_id = uniqid("");
27 /**
28 * list of available plugins
30 $plugins = array(
31 "uploadprogress",
32 "apc",
33 "noplugin"
34 ); // available plugins. Each plugin has own checkfunction in display_import_ajax.lib.php and own file with functions in upload_#KEY#.php
36 // select available plugin
37 foreach ($plugins as $plugin) {
38 $check = "PMA_import_" . $plugin . "Check";
40 if ($check()) {
41 $_SESSION[$SESSION_KEY]["handler"] = $plugin;
42 include_once("import/upload/" . $plugin . ".php");
43 break;
47 /**
48 * Checks if APC bar extension is available and configured correctly.
50 * @return true if APC extension is available and if rfc1867 is enabled, false if it is not
52 function PMA_import_apcCheck() {
53 if (! extension_loaded('apc') || ! function_exists('apc_fetch') || ! function_exists('getallheaders')) {
54 return false;
56 return (ini_get('apc.enabled') && ini_get('apc.rfc1867'));
59 /**
60 * Checks if UploadProgress bar extension is available.
62 * @return true if UploadProgress extension is available, false if it is not
64 function PMA_import_uploadprogressCheck() {
65 if (! function_exists("uploadprogress_get_info") || ! function_exists('getallheaders')) {
66 return false;
68 return true;
70 /**
71 * Default plugin for handling import. If no other plugin is available, noplugin is used.
73 * @return true
75 function PMA_import_nopluginCheck() {
76 return true;
79 /**
80 * The function outputs json encoded status of uploaded. It uses PMA_getUploadStatus, which is defined in plugin's file.
82 * @param $id - ID of transfer, usually $upload_id from display_import_ajax.lib.php
84 function PMA_importAjaxStatus($id) {
85 header('Content-type: application/json');
86 echo json_encode(PMA_getUploadStatus($id));