diff options
Diffstat (limited to 'libraries/transformations.lib.php')
-rw-r--r-- | libraries/transformations.lib.php | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/libraries/transformations.lib.php b/libraries/transformations.lib.php deleted file mode 100644 index df97a2ec32..0000000000 --- a/libraries/transformations.lib.php +++ /dev/null @@ -1,250 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Set of functions used with the relation and pdf feature - * - * @version $Id$ - * @package phpMyAdmin - */ - -/** - * returns array of options from string with options separated by comma, removes quotes - * - * <code> - * PMA_transformation_getOptions("'option ,, quoted',abd,'2,3',"); - * // array { - * // 'option ,, quoted', - * // 'abc', - * // '2,3', - * // '', - * // } - * </code> - * - * @uses preg_split() - * @uses array_shift() - * @uses trim() - * @uses rtrim() - * @uses ltrim() - * @uses strlen() - * @uses substr() - * @uses stripslashes() - * @param string $option_string comma separated options - * @return array options - */ -function PMA_transformation_getOptions($option_string) -{ - $result = array(); - - if (! strlen($option_string) - || ! $transform_options = preg_split('/,/', $option_string)) { - return $result; - } - - while (($option = array_shift($transform_options)) !== null) { - $trimmed = trim($option); - if (strlen($trimmed) > 1 - && $trimmed[0] == "'" - && $trimmed[strlen($trimmed) - 1] == "'") { - // '...' - $option = substr($trimmed, 1, -1); - } elseif (isset($trimmed[0]) && $trimmed[0] == "'") { - // '..., - $trimmed = ltrim($option); - while (($option = array_shift($transform_options)) !== null) { - // ..., - $trimmed .= ',' . $option; - $rtrimmed = rtrim($trimmed); - if ($rtrimmed[strlen($rtrimmed) - 1] == "'") { - // ,...' - break; - } - } - $option = substr($rtrimmed, 1, -1); - } - $result[] = stripslashes($option); - } - - return $result; -} - -/** - * Gets all available MIME-types - * - * @access public - * @author Garvin Hicking <me@supergarv.de> - * @uses opendir() - * @uses readdir() - * @uses closedir() - * @uses sort() - * @uses preg_match() - * @uses explode() - * @uses str_replace() - * @staticvar array mimetypes - * @return array array[mimetype], array[transformation] - */ -function PMA_getAvailableMIMEtypes() -{ - static $stack = null; - - if (null !== $stack) { - return $stack; - } - - $stack = array(); - $filestack = array(); - - $handle = opendir('./libraries/transformations'); - - if (! $handle) { - return $stack; - } - - while ($file = readdir($handle)) { - $filestack[] = $file; - } - - closedir($handle); - sort($filestack); - - foreach ($filestack as $file) { - if (preg_match('|^.*__.*\.inc\.php$|', $file)) { - // File contains transformation functions. - $base = explode('__', str_replace('.inc.php', '', $file)); - $mimetype = str_replace('_', '/', $base[0]); - $stack['mimetype'][$mimetype] = $mimetype; - - $stack['transformation'][] = $mimetype . ': ' . $base[1]; - $stack['transformation_file'][] = $file; - - } elseif (preg_match('|^.*\.inc\.php$|', $file)) { - // File is a plain mimetype, no functions. - $base = str_replace('.inc.php', '', $file); - - if ($base != 'global') { - $mimetype = str_replace('_', '/', $base); - $stack['mimetype'][$mimetype] = $mimetype; - $stack['empty_mimetype'][$mimetype] = $mimetype; - } - } - } - - return $stack; -} - -/** - * Gets the mimetypes for all columns of a table - * - * @uses $GLOBALS['controllink'] - * @uses PMA_getRelationsParam() - * @uses PMA_backquote() - * @uses PMA_sqlAddslashes() - * @uses PMA_DBI_fetch_result() - * @author Mike Beck <mikebeck@users.sourceforge.net> - * @author Garvin Hicking <me@supergarv.de> - * @access public - * @param string $db the name of the db to check for - * @param string $table the name of the table to check for - * @param string $strict whether to include only results having a mimetype set - * @return array [field_name][field_key] = field_value - */ -function PMA_getMIME($db, $table, $strict = false) -{ - $cfgRelation = PMA_getRelationsParam(); - - if (! $cfgRelation['commwork']) { - return false; - } - - $com_qry = ' - SELECT `column_name`, - `mimetype`, - `transformation`, - `transformation_options` - FROM ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['column_info']) . ' - WHERE `db_name` = \'' . PMA_sqlAddslashes($db) . '\' - AND `table_name` = \'' . PMA_sqlAddslashes($table) . '\' - AND ( `mimetype` != \'\'' . (!$strict ? ' - OR `transformation` != \'\' - OR `transformation_options` != \'\'' : '') . ')'; - return PMA_DBI_fetch_result($com_qry, 'column_name', null, $GLOBALS['controllink']); -} // end of the 'PMA_getMIME()' function - -/** - * Set a single mimetype to a certain value. - * - * @uses PMA_DBI_QUERY_STORE - * @uses PMA_getRelationsParam() - * @uses PMA_backquote() - * @uses PMA_sqlAddslashes() - * @uses PMA_query_as_controluser() - * @uses PMA_DBI_num_rows() - * @uses PMA_DBI_fetch_assoc() - * @uses PMA_DBI_free_result() - * @uses strlen() - * @access public - * @param string $db the name of the db - * @param string $table the name of the table - * @param string $key the name of the column - * @param string $mimetype the mimetype of the column - * @param string $transformation the transformation of the column - * @param string $transformation_options the transformation options of the column - * @param string $forcedelete force delete, will erase any existing comments for this column - * @return boolean true, if comment-query was made. - */ -function PMA_setMIME($db, $table, $key, $mimetype, $transformation, - $transformation_options, $forcedelete = false) -{ - $cfgRelation = PMA_getRelationsParam(); - - if (! $cfgRelation['commwork']) { - return false; - } - - $test_qry = ' - SELECT `mimetype`, - `comment` - FROM ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['column_info']) . ' - WHERE `db_name` = \'' . PMA_sqlAddslashes($db) . '\' - AND `table_name` = \'' . PMA_sqlAddslashes($table) . '\' - AND `column_name` = \'' . PMA_sqlAddslashes($key) . '\''; - $test_rs = PMA_query_as_controluser($test_qry, true, PMA_DBI_QUERY_STORE); - - if ($test_rs && PMA_DBI_num_rows($test_rs) > 0) { - $row = @PMA_DBI_fetch_assoc($test_rs); - PMA_DBI_free_result($test_rs); - - if (! $forcedelete - && (strlen($mimetype) || strlen($transformation) - || strlen($transformation_options) || strlen($row['comment']))) { - $upd_query = ' - UPDATE ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['column_info']) . ' - SET `mimetype` = \'' . PMA_sqlAddslashes($mimetype) . '\', - `transformation` = \'' . PMA_sqlAddslashes($transformation) . '\', - `transformation_options` = \'' . PMA_sqlAddslashes($transformation_options) . '\''; - } else { - $upd_query = 'DELETE FROM ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['column_info']); - } - $upd_query .= ' - WHERE `db_name` = \'' . PMA_sqlAddslashes($db) . '\' - AND `table_name` = \'' . PMA_sqlAddslashes($table) . '\' - AND `column_name` = \'' . PMA_sqlAddslashes($key) . '\''; - } elseif (strlen($mimetype) || strlen($transformation) - || strlen($transformation_options)) { - $upd_query = 'INSERT INTO ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['column_info']) - . ' (db_name, table_name, column_name, mimetype, transformation, transformation_options) ' - . ' VALUES(' - . '\'' . PMA_sqlAddslashes($db) . '\',' - . '\'' . PMA_sqlAddslashes($table) . '\',' - . '\'' . PMA_sqlAddslashes($key) . '\',' - . '\'' . PMA_sqlAddslashes($mimetype) . '\',' - . '\'' . PMA_sqlAddslashes($transformation) . '\',' - . '\'' . PMA_sqlAddslashes($transformation_options) . '\')'; - } - - if (isset($upd_query)){ - return PMA_query_as_controluser($upd_query); - } else { - return false; - } -} // end of 'PMA_setMIME()' function -?> |