bug#3212720 Show error message on error.
[phpmyadmin/ayax.git] / libraries / display_import_ajax.lib.php
blob1a3f9db1cf3f360fbc4fc5c1d98d533463dfd728
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
5 * @package phpMyAdmin
6 */
8 if (!defined('PHPMYADMIN')) {
9 exit;
11 /**
12 * constant for differenciating array in $_SESSION variable
14 $SESSION_KEY = '__upload_status';
16 /**
17 * sets default plugin for handling the import process
19 $_SESSION[$SESSION_KEY]["handler"] = "";
21 /**
22 * unique ID for each upload
24 $upload_id = uniqid("");
26 /**
27 * list of available plugins
29 $plugins = array(
30 "uploadprogress",
31 "apc",
32 "noplugin"
33 ); // available plugins. Each plugin has own checkfunction in display_import_ajax.lib.php and own file with functions in upload_#KEY#.php
35 // select available plugin
36 foreach ($plugins as $plugin) {
37 $check = "PMA_import_" . $plugin . "Check";
39 if ($check()) {
40 $_SESSION[$SESSION_KEY]["handler"] = $plugin;
41 include_once("import/upload/" . $plugin . ".php");
42 break;
46 /**
47 * Checks if APC bar extension is available and configured correctly.
49 * @return true if APC extension is available and if rfc1867 is enabled, false if it is not
51 function PMA_import_apcCheck() {
52 if (! extension_loaded('apc') || ! function_exists('apc_fetch') || ! function_exists('getallheaders')) {
53 return false;
55 return (ini_get('apc.enabled') && ini_get('apc.rfc1867'));
58 /**
59 * Checks if UploadProgress bar extension is available.
61 * @return true if UploadProgress extension is available, false if it is not
63 function PMA_import_uploadprogressCheck() {
64 if (! function_exists("uploadprogress_get_info") || ! function_exists('getallheaders')) {
65 return false;
67 return true;
69 /**
70 * Default plugin for handling import. If no other plugin is available, noplugin is used.
72 * @return true
74 function PMA_import_nopluginCheck() {
75 return true;
78 /**
79 * The function outputs json encoded status of uploaded. It uses PMA_getUploadStatus, which is defined in plugin's file.
81 * @param $id - ID of transfer, usually $upload_id from display_import_ajax.lib.php
83 function PMA_importAjaxStatus($id) {
84 header('Content-type: application/json');
85 echo json_encode(PMA_getUploadStatus($id));