diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/DataSource.php b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/DataSource.php deleted file mode 100644 index 3a0e6d2..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/DataSource.php +++ /dev/null @@ -1,2265 +0,0 @@ - - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * @category File - * @package File_CSV_DataSource - * @author Kazuyoshi Tlacaelel - * @copyright 2008 Kazuyoshi Tlacaelel - * @license The MIT License - * @version SVN: $Id: DataSource.php 285574 2009-03-09 15:22:24Z ktlacaelel $ - * @link http://code.google.com/p/php-csv-parser/ - */ - -/** - * csv data fetcher - * - * Sample snippets refer to this csv file for demonstration. - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * @category File - * @package File_CSV_DataSource - * @author Kazuyoshi Tlacaelel - * @copyright 2008 Kazuyoshi Tlacaelel - * @license The MIT License - * @link http://code.google.com/p/php-csv-parser/ - */ -class File_CSV_DataSource -{ - public - - /** - * csv parsing default-settings - * - * @var array - * @access public - */ - $settings = array( - 'delimiter' => ',', - 'eol' => ";", - 'length' => 999999, - 'escape' => '"' - ); - - protected - - /** - * imported data from csv - * - * @var array - * @access protected - */ - $rows = array(), - - /** - * csv file to parse - * - * @var string - * @access protected - */ - $_filename = '', - - /** - * csv headers to parse - * - * @var array - * @access protected - */ - $headers = array(); - - /** - * data load initialize - * - * @param mixed $filename please look at the load() method - * - * @access public - * @see load() - * @return void - */ - public function __construct($filename = null) - { - $this->load($filename); - } - - /** - * csv file loader - * - * indicates the object which file is to be loaded - * - * - * - * require_once 'File/CSV/DataSource.php'; - * - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * var_export($csv->connect()); - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * - * @param string $filename the csv filename to load - * - * @access public - * @return boolean true if file was loaded successfully - * @see isSymmetric(), getAsymmetricRows(), symmetrize() - */ - public function load($filename) - { - $this->_filename = $filename; - $this->flush(); - return $this->parse(); - } - - /** - * settings alterator - * - * lets you define different settings for scanning - * - * Given array will override the internal settings - * - * - * $settings = array( - * 'delimiter' => ',', - * 'eol' => ";", - * 'length' => 999999, - * 'escape' => '"' - * ); - * - * - * @param mixed $array containing settings to use - * - * @access public - * @return boolean true if changes where applyed successfully - * @see $settings - */ - public function settings($array) - { - $this->settings = array_merge($this->settings, $array); - } - - /** - * header fetcher - * - * gets csv headers into an array - * - * - * - * var_export($csv->getHeaders()); - * - * array ( - * 0 => 'name', - * 1 => 'age', - * 2 => 'skill', - * ) - * - * - * - * @access public - * @return array - */ - public function getHeaders() - { - return $this->headers; - } - - /** - * header counter - * - * retrives the total number of loaded headers - * - * @access public - * @return integer gets the length of headers - */ - public function countHeaders() - { - return count($this->headers); - } - - /** - * header and row relationship builder - * - * Attempts to create a relationship for every single cell that - * was captured and its corresponding header. The sample below shows - * how a connection/relationship is built. - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * php implementation - * - * - * - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * if (!$csv->isSymmetric()) { - * die('file has headers and rows with different lengths - * cannot connect'); - * } - * - * var_export($csv->connect()); - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * - * - * You can pass a collection of headers in an array to build - * a connection for those columns only! - * - * - * - * var_export($csv->connect(array('age'))); - * - * array ( - * 0 => - * array ( - * 'age' => '13', - * ), - * 1 => - * array ( - * 'age' => '8', - * ), - * 2 => - * array ( - * 'age' => '5', - * ), - * ) - * - * - * - * @param array $columns the columns to connect, if nothing - * is given all headers will be used to create a connection - * - * @access public - * @return array If the data is not symmetric an empty array - * will be returned instead - * @see isSymmetric(), getAsymmetricRows(), symmetrize(), getHeaders() - */ - public function connect($columns = array()) - { - if (!$this->isSymmetric()) { - return array(); - } - if (!is_array($columns)) { - return array(); - } - if ($columns === array()) { - $columns = $this->headers; - } - - $ret_arr = array(); - - foreach ($this->rows as $record) { - $item_array = array(); - foreach ($record as $column => $value) { - $header = $this->headers[$column]; - if (in_array($header, $columns)) { - $item_array[$header] = $value; - } - } - - // do not append empty results - if ($item_array !== array()) { - array_push($ret_arr, $item_array); - } - } - - return $ret_arr; - } - - /** - * data length/symmetry checker - * - * tells if the headers and all of the contents length match. - * Note: there is a lot of methods that won't work if data is not - * symmetric this method is very important! - * - * @access public - * @return boolean - * @see symmetrize(), getAsymmetricRows(), isSymmetric() - */ - public function isSymmetric() - { - $hc = count($this->headers); - foreach ($this->rows as $row) { - if (count($row) != $hc) { - return false; - } - } - return true; - } - - /** - * asymmetric data fetcher - * - * finds the rows that do not match the headers length - * - * lets assume that we add one more row to our csv file. - * that has only two values. Something like - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * niki,6 - * - * - * Then in our php code - * - * - * $csv->load('my_cool.csv'); - * var_export($csv->getAsymmetricRows()); - * - * - * The result - * - * - * - * array ( - * 0 => - * array ( - * 0 => 'niki', - * 1 => '6', - * ), - * ) - * - * - * - * @access public - * @return array filled with rows that do not match headers - * @see getHeaders(), symmetrize(), isSymmetric(), - * getAsymmetricRows() - */ - public function getAsymmetricRows() - { - $ret_arr = array(); - $hc = count($this->headers); - foreach ($this->rows as $row) { - if (count($row) != $hc) { - $ret_arr[] = $row; - } - } - return $ret_arr; - } - - /** - * all rows length equalizer - * - * makes the length of all rows and headers the same. If no $value is given - * all unexistent cells will be filled with empty spaces - * - * @param mixed $value the value to fill the unexistent cells - * - * @access public - * @return array - * @see isSymmetric(), getAsymmetricRows(), symmetrize() - */ - public function symmetrize($value = '') - { - $max_length = 0; - $headers_length = count($this->headers); - - foreach ($this->rows as $row) { - $row_length = count($row); - if ($max_length < $row_length) { - $max_length = $row_length; - } - } - - if ($max_length < $headers_length) { - $max_length = $headers_length; - } - - foreach ($this->rows as $key => $row) { - $this->rows[$key] = array_pad($row, $max_length, $value); - } - - $this->headers = array_pad($this->headers, $max_length, $value); - } - - /** - * grid walker - * - * travels through the whole dataset executing a callback per each - * cell - * - * Note: callback functions get the value of the cell as an - * argument, and whatever that callback returns will be used to - * replace the current value of that cell. - * - * @param string $callback the callback function to be called per - * each cell in the dataset. - * - * @access public - * @return void - * @see walkColumn(), walkRow(), fillColumn(), fillRow(), fillCell() - */ - public function walkGrid($callback) - { - foreach (array_keys($this->getRows()) as $key) { - if (!$this->walkRow($key, $callback)) { - return false; - } - } - return true; - } - - /** - * column fetcher - * - * gets all the data for a specific column identified by $name - * - * Note $name is the same as the items returned by getHeaders() - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * php implementation - * - * - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * var_export($csv->getColumn('name')); - * - * - * the above example outputs something like - * - * - * - * array ( - * 0 => 'john', - * 1 => 'tanaka', - * 2 => 'jose', - * ) - * - * - * - * @param string $name the name of the column to fetch - * - * @access public - * @return array filled with values of a column - * @see getHeaders(), fillColumn(), appendColumn(), getCell(), getRows(), - * getRow(), hasColumn() - */ - public function getColumn($name) - { - if (!in_array($name, $this->headers)) { - return array(); - } - $ret_arr = array(); - $key = array_search($name, $this->headers, true); - foreach ($this->rows as $data) { - $ret_arr[] = $data[$key]; - } - return $ret_arr; - } - - /** - * column existance checker - * - * checks if a column exists, columns are identified by their - * header name. - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * php implementation - * - * - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * $headers = $csv->getHeaders(); - * - * - * now lets check if the columns exist - * - * - * var_export($csv->hasColumn($headers[0])); // true - * var_export($csv->hasColumn('age')); // true - * var_export($csv->hasColumn('I dont exist')); // false - * - * - * @param string $string an item returned by getHeaders() - * - * @access public - * @return boolean - * @see getHeaders() - */ - public function hasColumn($string) - { - return in_array($string, $this->headers); - } - - /** - * column appender - * - * Appends a column and each or all values in it can be - * dinamically filled. Only when the $values argument is given. - * - * - * - * var_export($csv->fillColumn('age', 99)); - * true - * - * var_export($csv->appendColumn('candy_ownership', array(99, 44, 65))); - * true - * - * var_export($csv->appendColumn('import_id', 111111111)); - * true - * - * var_export($csv->connect()); - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => 99, - * 'skill' => 'knows magic', - * 'candy_ownership' => 99, - * 'import_id' => 111111111, - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => 99, - * 'skill' => 'makes sushi', - * 'candy_ownership' => 44, - * 'import_id' => 111111111, - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => 99, - * 'skill' => 'dances salsa', - * 'candy_ownership' => 65, - * 'import_id' => 111111111, - * ), - * ) - * - * - * - * @param string $column an item returned by getHeaders() - * @param mixed $values same as fillColumn() - * - * @access public - * @return boolean - * @see getHeaders(), fillColumn(), fillCell(), createHeaders(), - * setHeaders() - */ - public function appendColumn($column, $values = null) - { - if ($this->hasColumn($column)) { - return false; - } - $this->headers[] = $column; - $length = $this->countHeaders(); - $rows = array(); - - foreach ($this->rows as $row) { - $rows[] = array_pad($row, $length, ''); - } - - $this->rows = $rows; - - if ($values === null) { - $values = ''; - } - - return $this->fillColumn($column, $values); - } - - /** - * collumn data injector - * - * fills alll the data in the given column with $values - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * php implementation - * - * - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * // if the csv file loads - * if ($csv->load('my_cool.csv')) { - * - * // grab all data within the age column - * var_export($csv->getColumn('age')); - * - * // rename all values in it with the number 99 - * var_export($csv->fillColumn('age', 99)); - * - * // grab all data within the age column - * var_export($csv->getColumn('age')); - * - * // rename each value in a column independently - * $data = array(1, 2, 3); - * $csv->fillColumn('age', $data); - * - * var_export($csv->getColumn('age')); - * } - * - * - * standard output - * - * - * array ( - * 0 => '13', - * 1 => '8', - * 2 => '5', - * ) - * - * - * - * true - * - * - * - * array ( - * 0 => 99, - * 1 => 99, - * 2 => 99, - * ) - * - * - * - * array ( - * 0 => 1, - * 1 => 2, - * 2 => 3, - * ) - * - * - * @param mixed $column the column identified by a string - * @param mixed $values ither one of the following - * - (Number) will fill the whole column with the value of number - * - (String) will fill the whole column with the value of string - * - (Array) will fill the while column with the values of array - * the array gets ignored if it does not match the length of rows - * - * @access public - * @return void - */ - public function fillColumn($column, $values = null) - { - if (!$this->hasColumn($column)) { - return false; - } - - if ($values === null) { - return false; - } - - if (!$this->isSymmetric()) { - return false; - } - - $y = array_search($column, $this->headers); - - if (is_numeric($values) || is_string($values)) { - foreach (range(0, $this->countRows() -1) as $x) { - $this->fillCell($x, $y, $values); - } - return true; - } - - if ($values === array()) { - return false; - } - - $length = $this->countRows(); - if (is_array($values) && $length == count($values)) { - for ($x = 0; $x < $length; $x++) { - $this->fillCell($x, $y, $values[$x]); - } - return true; - } - - return false; - } - - /** - * column remover - * - * Completly removes a whole column identified by $name - * Note: that this function will only work if data is symmetric. - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * load the library and csv file - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * - * lets dump currently loaded data - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * and now let's remove the second column - * - * - * var_export($csv->removeColumn('age')); - * - * - * output - * - * - * true - * - * - * those changes made let's dump the data again and see what we got - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * @param string $name same as the ones returned by getHeaders(); - * - * @access public - * @return boolean - * @see hasColumn(), getHeaders(), createHeaders(), setHeaders(), - * isSymmetric(), getAsymmetricRows() - */ - public function removeColumn($name) - { - if (!in_array($name, $this->headers)) { - return false; - } - - if (!$this->isSymmetric()) { - return false; - } - - $key = array_search($name, $this->headers); - unset($this->headers[$key]); - $this->resetKeys($this->headers); - - foreach ($this->rows as $target => $row) { - unset($this->rows[$target][$key]); - $this->resetKeys($this->rows[$target]); - } - - return $this->isSymmetric(); - } - - /** - * column walker - * - * goes through the whole column and executes a callback for each - * one of the cells in it. - * - * Note: callback functions get the value of the cell as an - * argument, and whatever that callback returns will be used to - * replace the current value of that cell. - * - * @param string $name the header name used to identify the column - * @param string $callback the callback function to be called per - * each cell value - * - * @access public - * @return boolean - * @see getHeaders(), fillColumn(), appendColumn() - */ - public function walkColumn($name, $callback) - { - if (!$this->isSymmetric()) { - return false; - } - - if (!$this->hasColumn($name)) { - return false; - } - - if (!function_exists($callback)) { - return false; - } - - $column = $this->getColumn($name); - foreach ($column as $key => $cell) { - $column[$key] = $callback($cell); - } - return $this->fillColumn($name, $column); - } - - /** - * cell fetcher - * - * gets the value of a specific cell by given coordinates - * - * Note: That indexes start with zero, and headers are not - * searched! - * - * For example if we are trying to grab the cell that is in the - * second row and the third column - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * we would do something like - * - * var_export($csv->getCell(1, 2)); - * - * - * and get the following results - * - * 'makes sushi' - * - * - * @param integer $x the row to fetch - * @param integer $y the column to fetch - * - * @access public - * @return mixed|false the value of the cell or false if the cell does - * not exist - * @see getHeaders(), hasCell(), getRow(), getRows(), getColumn() - */ - public function getCell($x, $y) - { - if ($this->hasCell($x, $y)) { - $row = $this->getRow($x); - return $row[$y]; - } - return false; - } - - /** - * cell value filler - * - * replaces the value of a specific cell - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * php implementation - * - * - * - * $csv = new File_CSV_DataSource; - * - * // load the csv file - * $csv->load('my_cool.csv'); - * - * // find out if the given coordinate is valid - * if($csv->hasCell(1, 1)) { - * - * // if so grab that cell and dump it - * var_export($csv->getCell(1, 1)); // '8' - * - * // replace the value of that cell - * $csv->fillCell(1, 1, 'new value'); // true - * - * // output the new value of the cell - * var_export($csv->getCell(1, 1)); // 'new value' - * - * } - * - * - * now lets try to grab the whole row - * - * - * // show the whole row - * var_export($csv->getRow(1)); - * - * - * standard output - * - * - * array ( - * 0 => 'tanaka', - * 1 => 'new value', - * 2 => 'makes sushi', - * ) - * - * - * @param integer $x the row to fetch - * @param integer $y the column to fetch - * @param mixed $value the value to fill the cell with - * - * @access public - * @return boolean - * @see hasCell(), getRow(), getRows(), getColumn() - */ - public function fillCell($x, $y, $value) - { - if (!$this->hasCell($x, $y)) { - return false; - } - $row = $this->getRow($x); - $row[$y] = $value; - $this->rows[$x] = $row; - return true; - } - - /** - * checks if a coordinate is valid - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * load the csv file - * - * - * $csv = new File_CSV_DataSource; - * var_export($csv->load('my_cool.csv')); // true if file is - * // loaded - * - * - * find out if a coordinate is valid - * - * - * var_export($csv->hasCell(99, 3)); // false - * - * - * check again for a know valid coordinate and grab that cell - * - * - * var_export($csv->hasCell(1, 1)); // true - * var_export($csv->getCell(1, 1)); // '8' - * - * - * @param mixed $x the row to fetch - * @param mixed $y the column to fetch - * - * @access public - * @return void - */ - public function hasCell($x, $y) - { - $has_x = array_key_exists($x, $this->rows); - $has_y = array_key_exists($y, $this->headers); - return ($has_x && $has_y); - } - - /** - * row fetcher - * - * Note: first row is zero - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * load the library and csv file - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * - * lets dump currently loaded data - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * Now let's fetch the second row - * - * - * var_export($csv->getRow(1)); - * - * - * output - * - * - * array ( - * 0 => 'tanaka', - * 1 => '8', - * 2 => 'makes sushi', - * ) - * - * - * @param integer $number the row number to fetch - * - * @access public - * @return array the row identified by number, if $number does - * not exist an empty array is returned instead - */ - public function getRow($number) - { - $raw = $this->rows; - if (array_key_exists($number, $raw)) { - return $raw[$number]; - } - return array(); - } - - /** - * multiple row fetcher - * - * Extracts a rows in the following fashion - * - all rows if no $range argument is given - * - a range of rows identified by their key - * - if rows in range are not found nothing is retrived instead - * - if no rows were found an empty array is returned - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * load the library and csv file - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * - * lets dump currently loaded data - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * now get the second and thirdh row - * - * - * var_export($csv->getRows(array(1, 2))); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 0 => 'tanaka', - * 1 => '8', - * 2 => 'makes sushi', - * ), - * 1 => - * array ( - * 0 => 'jose', - * 1 => '5', - * 2 => 'dances salsa', - * ), - * ) - * - * - * now lets try something odd and the goodie third row - * - * - * var_export($csv->getRows(array(9, 2))); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 0 => 'jose', - * 1 => '5', - * 2 => 'dances salsa', - * ), - * ) - * - * - * @param array $range a list of rows to retrive - * - * @access public - * @return array - */ - public function getRows($range = array()) - { - if (is_array($range) && ($range === array())) { - return $this->rows; - } - - if (!is_array($range)) { - return $this->rows; - } - - $ret_arr = array(); - foreach ($this->rows as $key => $row) { - if (in_array($key, $range)) { - $ret_arr[] = $row; - } - } - return $ret_arr; - } - - /** - * row counter - * - * This function will exclude the headers - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * php implementation - * - * - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * var_export($csv->countRows()); // returns 3 - * - * - * @access public - * @return integer - */ - public function countRows() - { - return count($this->rows); - } - - /** - * row appender - * - * Aggregates one more row to the currently loaded dataset - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * - * first let's load the file and output whatever was retrived. - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * var_export($csv->connect()); - * - * - * output - * - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * now lets do some modifications, let's try adding three rows. - * - * - * var_export($csv->appendRow(1)); - * var_export($csv->appendRow('2')); - * var_export($csv->appendRow(array(3, 3, 3))); - * - * - * output - * - * - * true - * true - * true - * - * - * and now let's try to see what has changed - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * 3 => - * array ( - * 'name' => 1, - * 'age' => 1, - * 'skill' => 1, - * ), - * 4 => - * array ( - * 'name' => '2', - * 'age' => '2', - * 'skill' => '2', - * ), - * 5 => - * array ( - * 'name' => 3, - * 'age' => 3, - * 'skill' => 3, - * ), - * ) - * - * - * @param array $values the values to be appended to the row - * - * @access public - * @return boolean - */ - public function appendRow($values) - { - $this->rows[] = array(); - $this->symmetrize(); - return $this->fillRow($this->countRows() - 1, $values); - } - - /** - * fillRow - * - * Replaces the contents of cells in one given row with $values. - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * if we load the csv file and fill the second row with new data? - * - * - * // load the library - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * - * // load csv file - * $csv->load('my_cool.csv'); - * - * // fill exitent row - * var_export($csv->fillRow(1, 'x')); - * - * - * output - * - * - * true - * - * - * now let's dump whatever we have changed - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'x', - * 'age' => 'x', - * 'skill' => 'x', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * now lets try to fill the row with specific data for each cell - * - * - * var_export($csv->fillRow(1, array(1, 2, 3))); - * - * - * output - * - * - * true - * - * - * and dump the results - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 1, - * 'age' => 2, - * 'skill' => 3, - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * @param integer $row the row to fill identified by its key - * @param mixed $values the value to use, if a string or number - * is given the whole row will be replaced with this value. - * if an array is given instead the values will be used to fill - * the row. Only when the currently loaded dataset is symmetric - * - * @access public - * @return boolean - * @see isSymmetric(), getAsymmetricRows(), symmetrize(), fillColumn(), - * fillCell(), appendRow() - */ - public function fillRow($row, $values) - { - if (!$this->hasRow($row)) { - return false; - } - - if (is_string($values) || is_numeric($values)) { - foreach ($this->rows[$row] as $key => $cell) { - $this->rows[$row][$key] = $values; - } - return true; - } - - $eql_to_headers = ($this->countHeaders() == count($values)); - if (is_array($values) && $this->isSymmetric() && $eql_to_headers) { - $this->rows[$row] = $values; - return true; - } - - return false; - } - - /** - * row existance checker - * - * Scans currently loaded dataset and - * checks if a given row identified by $number exists - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * load library and csv file - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * - * build a relationship and dump it so we can see the rows we will - * be working with - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => // THIS ROW EXISTS!!! - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * now lets check for row existance - * - * - * var_export($csv->hasRow(1)); - * var_export($csv->hasRow(-1)); - * var_export($csv->hasRow(9999)); - * - * - * output - * - * - * true - * false - * false - * - * - * @param mixed $number a numeric value that identifies the row - * you are trying to fetch. - * - * @access public - * @return boolean - * @see getRow(), getRows(), appendRow(), fillRow() - */ - public function hasRow($number) - { - return (in_array($number, array_keys($this->rows))); - } - - /** - * row remover - * - * removes one row from the current data set. - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * first let's load the file and output whatever was retrived. - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * var_export($csv->connect()); - * - * - * output - * - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * now lets remove the second row - * - * - * var_export($csv->removeRow(1)); - * - * - * output - * - * - * true - * - * - * now lets dump again the data and see what changes have been - * made - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * @param mixed $number the key that identifies that row - * - * @access public - * @return boolean - * @see hasColumn(), getHeaders(), createHeaders(), setHeaders(), - * isSymmetric(), getAsymmetricRows() - */ - public function removeRow($number) - { - $cnt = $this->countRows(); - $row = $this->getRow($number); - if (is_array($row) && ($row != array())) { - unset($this->rows[$number]); - } else { - return false; - } - $this->resetKeys($this->rows); - return ($cnt == ($this->countRows() + 1)); - } - - /** - * row walker - * - * goes through one full row of data and executes a callback - * function per each cell in that row. - * - * Note: callback functions get the value of the cell as an - * argument, and whatever that callback returns will be used to - * replace the current value of that cell. - * - * @param string|integer $row anything that is numeric is a valid row - * identificator. As long as it is within the range of the currently - * loaded dataset - * - * @param string $callback the callback function to be executed - * per each cell in a row - * - * @access public - * @return boolean - * - false if callback does not exist - * - false if row does not exits - */ - public function walkRow($row, $callback) - { - if (!function_exists($callback)) { - return false; - } - if ($this->hasRow($row)) { - foreach ($this->getRow($row) as $key => $value) { - $this->rows[$row][$key] = $callback($value); - } - return true; - } - return false; - } - - /** - * raw data as array - * - * Gets the data that was retrived from the csv file as an array - * - * Note: that changes and alterations made to rows, columns and - * values will also reflect on what this function retrives. - * - * @access public - * @return array - * @see connect(), getHeaders(), getRows(), isSymmetric(), getAsymmetricRows(), - * symmetrize() - */ - public function getRawArray() - { - $ret_arr = array(); - $ret_arr[] = $this->headers; - foreach ($this->rows as $row) { - $ret_arr[] = $row; - } - return $ret_arr; - } - - /** - * header creator - * - * uses prefix and creates a header for each column suffixed by a - * numeric value - * - * by default the first row is interpreted as headers but if we - * have a csv file with data only and no headers it becomes really - * annoying to work with the current loaded data. - * - * this function will create a set dinamically generated headers - * and make the current headers accessable with the row handling - * functions - * - * Note: that the csv file contains only data but no headers - * sample of a csv file "my_cool.csv" - * - * - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * checks if the csv file was loaded - * - * - * $csv = new File_CSV_DataSource; - * if (!$csv->load('my_cool.csv')) { - * die('can not load csv file'); - * } - * - * - * dump current headers - * - * - * var_export($csv->getHeaders()); - * - * - * standard output - * - * - * array ( - * 0 => 'john', - * 1 => '13', - * 2 => 'knows magic', - * ) - * - * - * generate headers named 'column' suffixed by a number and interpret - * the previous headers as rows. - * - * - * $csv->createHeaders('column') - * - * - * dump current headers - * - * - * var_export($csv->getHeaders()); - * - * - * standard output - * - * - * array ( - * 0 => 'column_1', - * 1 => 'column_2', - * 2 => 'column_3', - * ) - * - * - * build a relationship and dump it - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * - * array ( - * 0 => - * array ( - * 'column_1' => 'john', - * 'column_2' => '13', - * 'column_3' => 'knows magic', - * ), - * 1 => - * array ( - * 'column_1' => 'tanaka', - * 'column_2' => '8', - * 'column_3' => 'makes sushi', - * ), - * 2 => - * array ( - * 'column_1' => 'jose', - * 'column_2' => '5', - * 'column_3' => 'dances salsa', - * ), - * ) - * - * - * @param string $prefix string to use as prefix for each - * independent header - * - * @access public - * @return boolean fails if data is not symmetric - * @see isSymmetric(), getAsymmetricRows() - */ - public function createHeaders($prefix) - { - if (!$this->isSymmetric()) { - return false; - } - - $length = count($this->headers) + 1; - $this->moveHeadersToRows(); - - $ret_arr = array(); - for ($i = 1; $i < $length; $i ++) { - $ret_arr[] = $prefix . "_$i"; - } - $this->headers = $ret_arr; - return $this->isSymmetric(); - } - - /** - * header injector - * - * uses a $list of values which wil be used to replace current - * headers. - * - * Note: that given $list must match the length of all rows. - * known as symmetric. see isSymmetric() and getAsymmetricRows() methods - * - * Also, that current headers will be used as first row of data - * and consecuently all rows order will change with this action. - * - * sample of a csv file "my_cool.csv" - * - * - * name,age,skill - * john,13,knows magic - * tanaka,8,makes sushi - * jose,5,dances salsa - * - * - * load the library and csv file - * - * - * require_once 'File/CSV/DataSource.php'; - * $csv = new File_CSV_DataSource; - * $csv->load('my_cool.csv'); - * - * - * lets dump currently loaded data - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'name' => 'john', - * 'age' => '13', - * 'skill' => 'knows magic', - * ), - * 1 => - * array ( - * 'name' => 'tanaka', - * 'age' => '8', - * 'skill' => 'makes sushi', - * ), - * 2 => - * array ( - * 'name' => 'jose', - * 'age' => '5', - * 'skill' => 'dances salsa', - * ), - * ) - * - * - * And now lets create a new set of headers and attempt to inject - * them into the current loaded dataset - * - * - * $new_headers = array('a', 'b', 'c'); - * var_export($csv->setHeaders($new_headers)); - * - * - * output - * - * - * true - * - * - * Now lets try the same with some headers that do not match the - * current headers length. (this should fail) - * - * - * $new_headers = array('a', 'b'); - * var_export($csv->setHeaders($new_headers)); - * - * - * output - * - * - * false - * - * - * now let's dump whatever we have changed - * - * - * var_export($csv->connect()); - * - * - * output - * - * - * array ( - * 0 => - * array ( - * 'a' => 'name', - * 'b' => 'age', - * 'c' => 'skill', - * ), - * 1 => - * array ( - * 'a' => 'john', - * 'b' => '13', - * 'c' => 'knows magic', - * ), - * 2 => - * array ( - * 'a' => 'tanaka', - * 'b' => '8', - * 'c' => 'makes sushi', - * ), - * 3 => - * array ( - * 'a' => 'jose', - * 'b' => '5', - * 'c' => 'dances salsa', - * ), - * ) - * - * - * @param array $list a collection of names to use as headers, - * - * @access public - * @return boolean fails if data is not symmetric - * @see isSymmetric(), getAsymmetricRows(), getHeaders(), createHeaders() - */ - public function setHeaders($list) - { - if (!$this->isSymmetric()) { - return false; - } - if (!is_array($list)) { - return false; - } - if (count($list) != count($this->headers)) { - return false; - } - $this->moveHeadersToRows(); - $this->headers = $list; - return true; - } - - /** - * csv parser - * - * reads csv data and transforms it into php-data - * - * @access protected - * @return boolean - */ - protected function parse() - { - if (!$this->validates()) { - return false; - } - - $c = 0; - $d = $this->settings['delimiter']; - $e = $this->settings['escape']; - $l = $this->settings['length']; - - $res = fopen($this->_filename, 'r'); - - while ($keys = fgetcsv($res, $l, $d, $e)) { - - if ($c == 0) { - $this->headers = $keys; - } else { - array_push($this->rows, $keys); - } - - $c ++; - } - - fclose($res); - $this->removeEmpty(); - return true; - } - - /** - * empty row remover - * - * removes all records that have been defined but have no data. - * - * @access protected - * @return array containing only the rows that have data - */ - protected function removeEmpty() - { - $ret_arr = array(); - foreach ($this->rows as $row) { - $line = trim(join('', $row)); - if (!empty($line)) { - $ret_arr[] = $row; - } - } - $this->rows = $ret_arr; - } - - /** - * csv file validator - * - * checks wheather if the given csv file is valid or not - * - * @access protected - * @return boolean - */ - protected function validates() - { - // file existance - if (!file_exists($this->_filename)) { - return false; - } - - // file readability - if (!is_readable($this->_filename)) { - return false; - } - - return true; - } - - /** - * header relocator - * - * @access protected - * @return void - */ - protected function moveHeadersToRows() - { - $arr = array(); - $arr[] = $this->headers; - foreach ($this->rows as $row) { - $arr[] = $row; - } - $this->rows = $arr; - $this->headers = array(); - } - - /** - * array key reseter - * - * makes sure that an array's keys are setted in a correct numerical order - * - * Note: that this function does not return anything, all changes - * are made to the original array as a reference - * - * @param array &$array any array, if keys are strings they will - * be replaced with numeric values - * - * @access protected - * @return void - */ - protected function resetKeys(&$array) - { - $arr = array(); - foreach ($array as $item) { - $arr[] = $item; - } - $array = $arr; - } - - /** - * object data flusher - * - * tells this object to forget all data loaded and start from - * scratch - * - * @access protected - * @return void - */ - protected function flush() - { - $this->rows = array(); - $this->headers = array(); - } - -} - -?> diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/LICENSE b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/LICENSE deleted file mode 100644 index 210427d..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ - -The MIT License - -Copyright (c) <2008> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/README b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/README deleted file mode 100644 index 7abc3e4..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/README +++ /dev/null @@ -1,19 +0,0 @@ - - -EXAMPLES - located in the file "docs/examples/EXAMPLES" - -LICENSE - located in the file "LICENSE" - -PROJECT - http://code.google.com/p/php-csv-parser/ - -TESTS - located in the folder "tests" - -AUTHOR - Kazuyoshi Tlacaelel - -DOCUMENTATION - http://code.google.com/p/php-csv-parser/ diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/examples/EXAMPLES b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/examples/EXAMPLES deleted file mode 100644 index 0b864d4..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/examples/EXAMPLES +++ /dev/null @@ -1,72 +0,0 @@ -#summary Quick sample! -#labels Featured - -Lets get started with quick samples - -= Quick Samples = -*my_file.csv* -{{{ -name, age -john, 13 -takaka, 8 -}}} - -*php script* -{{{ -load('my_file.csv'); // boolean - - $csv->getHeaders(); // array('name', 'age'); - - $csv->getColumn('name'); // array('john', 'tanaka'); - - $csv->row(1); // array('john', '13'); - - $csv->connect(); // array( - // array('name' => 'john', 'age' => 13), - // array('name' => 'tanaka', 'age' => 8) - // ); - -?> - -}}} - - -= Detailed Usage = - -{{{ -load('my_file.csv')) { - - // execute the following if given file is usable - - // get the headers found in file - $array = $csv->getHeaders(); - - // get a specific column from csv file - $csv->getColumn($array[2]); - - // get each record with its related header - // ONLY if all records length match the number - // of headers - if ($csv->isSymmetric()) { - $array = $csv->connect(); - } else { - // fetch records that dont match headers length - $array = $csv->getAsymmetricRows(); - } - - // ignore everything and simply get the data as an array - $array = $csv->getrawArray(); - } - -?> -}}} diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/examples/documentation.wiki b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/examples/documentation.wiki deleted file mode 100644 index 2e27233..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/docs/examples/documentation.wiki +++ /dev/null @@ -1,2058 +0,0 @@ - -= Method:__construct = - -_ data load initialize _ - - # *Argument* _mixed_ $filename please look at the load() method - - * *Visibility* public - * *Also see* load() - * *Returns* void - - ----- - -= Method:appendColumn = - -_ column appender _ - -Appends a column and each or all values in it can be -dinamically filled. Only when the $values argument is given. - - -{{{ - - -var_export($csv->fillColumn('age', 99)); -true - -var_export($csv->appendColumn('candy_ownership', array(99, 44, 65))); -true - -var_export($csv->appendColumn('import_id', 111111111)); -true - -var_export($csv->connect()); - -array ( -0 => -array ( -'name' => 'john', -'age' => 99, -'skill' => 'knows magic', -'candy_ownership' => 99, -'import_id' => 111111111, -), -1 => -array ( -'name' => 'tanaka', -'age' => 99, -'skill' => 'makes sushi', -'candy_ownership' => 44, -'import_id' => 111111111, -), -2 => -array ( -'name' => 'jose', -'age' => 99, -'skill' => 'dances salsa', -'candy_ownership' => 65, -'import_id' => 111111111, -), -) - -}}} - - - # *Argument* _string_ $column an item returned by getHeaders() - # *Argument* _mixed_ $values same as fillColumn() - - * *Visibility* public - * *Returns* boolean - * *Also see* getHeaders(), fillColumn(), fillCell(), createHeaders(), -setHeaders() - - ----- - -= Method:appendRow = - -_ row appender _ - -Aggregates one more row to the currently loaded dataset - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - - -first let's load the file and output whatever was retrived. - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -var_export($csv->connect()); -}}} - - -output - - - -{{{ - -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -now lets do some modifications, let's try adding three rows. - - - -{{{ -var_export($csv->appendRow(1)); -var_export($csv->appendRow('2')); -var_export($csv->appendRow(array(3, 3, 3))); -}}} - - -output - - - -{{{ -true -true -true -}}} - - -and now let's try to see what has changed - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -3 => -array ( -'name' => 1, -'age' => 1, -'skill' => 1, -), -4 => -array ( -'name' => '2', -'age' => '2', -'skill' => '2', -), -5 => -array ( -'name' => 3, -'age' => 3, -'skill' => 3, -), -) -}}} - - - # *Argument* _array_ $values the values to be appended to the row - - * *Visibility* public - * *Returns* boolean - - ----- - -= Method:connect = - -_ header and row relationship builder _ - -Attempts to create a relationship for every single cell that -was captured and its corresponding header. The sample below shows -how a connection/relationship is built. - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -php implementation - - - -{{{ - -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); - -if (!$csv->isSymmetric()) { -die('file has headers and rows with different lengths -cannot connect'); -} - -var_export($csv->connect()); - -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) - -}}} - - - -You can pass a collection of headers in an array to build -a connection for those columns only! - - - -{{{ - -var_export($csv->connect(array('age'))); - -array ( -0 => -array ( -'age' => '13', -), -1 => -array ( -'age' => '8', -), -2 => -array ( -'age' => '5', -), -) - -}}} - - - # *Argument* _array_ $columns the columns to connect, if nothing -is given all headers will be used to create a connection - - * *Visibility* public - * *Returns* array If the data is not symmetric an empty array -will be returned instead - * *Also see* isSymmetric(), getAsymmetricRows(), symmetrize(), getHeaders() - - ----- - -= Method:countHeaders = - -_ header counter _ - -retrives the total number of loaded headers - - * *Visibility* public - * *Returns* integer gets the length of headers - - ----- - -= Method:countRows = - -_ row counter _ - -This function will exclude the headers - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -php implementation - - - -{{{ -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -var_export($csv->countRows()); // returns 3 -}}} - - - * *Visibility* public - * *Returns* integer - - ----- - -= Method:createHeaders = - -_ header creator _ - -uses prefix and creates a header for each column suffixed by a -numeric value - -by default the first row is interpreted as headers but if we -have a csv file with data only and no headers it becomes really -annoying to work with the current loaded data. - -this function will create a set dinamically generated headers -and make the current headers accessable with the row handling -functions - -Note: that the csv file contains only data but no headers -sample of a csv file "my_cool.csv" - - - -{{{ -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -checks if the csv file was loaded - - - -{{{ -$csv = new File_CSV_DataSource; -if (!$csv->load('my_cool.csv')) { -die('can not load csv file'); -} -}}} - - -dump current headers - - - -{{{ -var_export($csv->getHeaders()); -}}} - - -standard output - - - -{{{ -array ( -0 => 'john', -1 => '13', -2 => 'knows magic', -) -}}} - - -generate headers named 'column' suffixed by a number and interpret -the previous headers as rows. - - - -{{{ -$csv->createHeaders('column') -}}} - - -dump current headers - - - -{{{ -var_export($csv->getHeaders()); -}}} - - -standard output - - - -{{{ -array ( -0 => 'column_1', -1 => 'column_2', -2 => 'column_3', -) -}}} - - -build a relationship and dump it - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ - -array ( -0 => -array ( -'column_1' => 'john', -'column_2' => '13', -'column_3' => 'knows magic', -), -1 => -array ( -'column_1' => 'tanaka', -'column_2' => '8', -'column_3' => 'makes sushi', -), -2 => -array ( -'column_1' => 'jose', -'column_2' => '5', -'column_3' => 'dances salsa', -), -) -}}} - - - # *Argument* _string_ $prefix string to use as prefix for each -independent header - - * *Visibility* public - * *Returns* boolean fails if data is not symmetric - * *Also see* isSymmetric(), getAsymmetricRows() - - ----- - -= Method:fillCell = - -_ cell value filler _ - -replaces the value of a specific cell - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -php implementation - - - -{{{ - -$csv = new File_CSV_DataSource; - -// load the csv file -$csv->load('my_cool.csv'); - -// find out if the given coordinate is valid -if($csv->hasCell(1, 1)) { - -// if so grab that cell and dump it -var_export($csv->getCell(1, 1)); // '8' - -// replace the value of that cell -$csv->fillCell(1, 1, 'new value'); // true - -// output the new value of the cell -var_export($csv->getCell(1, 1)); // 'new value' - -} -}}} - - -now lets try to grab the whole row - - - -{{{ -// show the whole row -var_export($csv->getRow(1)); -}}} - - -standard output - - - -{{{ -array ( -0 => 'tanaka', -1 => 'new value', -2 => 'makes sushi', -) -}}} - - - # *Argument* _integer_ $x the row to fetch - # *Argument* _integer_ $y the column to fetch - # *Argument* _mixed_ $value the value to fill the cell with - - * *Visibility* public - * *Returns* boolean - * *Also see* hasCell(), getRow(), getRows(), getColumn() - - ----- - -= Method:fillColumn = - -_ collumn data injector _ - -fills alll the data in the given column with $values - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -php implementation - - - -{{{ -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); - -// if the csv file loads -if ($csv->load('my_cool.csv')) { - -// grab all data within the age column -var_export($csv->getColumn('age')); - -// rename all values in it with the number 99 -var_export($csv->fillColumn('age', 99)); - -// grab all data within the age column -var_export($csv->getColumn('age')); - -// rename each value in a column independently -$data = array(1, 2, 3); -$csv->fillColumn('age', $data); - -var_export($csv->getColumn('age')); -} -}}} - - -standard output - - - -{{{ -array ( -0 => '13', -1 => '8', -2 => '5', -) -}}} - - - - -{{{ -true -}}} - - - - -{{{ -array ( -0 => 99, -1 => 99, -2 => 99, -) -}}} - - - - -{{{ -array ( -0 => 1, -1 => 2, -2 => 3, -) -}}} - - - # *Argument* _mixed_ $column the column identified by a string - # *Argument* _mixed_ $values ither one of the following - # (Number) will fill the whole column with the value of number - # (String) will fill the whole column with the value of string - # (Array) will fill the while column with the values of array -the array gets ignored if it does not match the length of rows - - * *Visibility* public - * *Returns* void - - ----- - -= Method:fillRow = - -_ fillRow _ - -Replaces the contents of cells in one given row with $values. - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -if we load the csv file and fill the second row with new data? - - - -{{{ -// load the library -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; - -// load csv file -$csv->load('my_cool.csv'); - -// fill exitent row -var_export($csv->fillRow(1, 'x')); -}}} - - -output - - - -{{{ -true -}}} - - -now let's dump whatever we have changed - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'x', -'age' => 'x', -'skill' => 'x', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -now lets try to fill the row with specific data for each cell - - - -{{{ -var_export($csv->fillRow(1, array(1, 2, 3))); -}}} - - -output - - - -{{{ -true -}}} - - -and dump the results - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ - -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 1, -'age' => 2, -'skill' => 3, -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - - # *Argument* _integer_ $row the row to fill identified by its key - # *Argument* _mixed_ $values the value to use, if a string or number -is given the whole row will be replaced with this value. -if an array is given instead the values will be used to fill -the row. Only when the currently loaded dataset is symmetric - - * *Visibility* public - * *Returns* boolean - * *Also see* isSymmetric(), getAsymmetricRows(), symmetrize(), fillColumn(), -fillCell(), appendRow() - - ----- - -= Method:getAsymmetricRows = - -_ asymmetric data fetcher _ - -finds the rows that do not match the headers length - -lets assume that we add one more row to our csv file. -that has only two values. Something like - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -niki,6 -}}} - - -Then in our php code - - - -{{{ -$csv->load('my_cool.csv'); -var_export($csv->getAsymmetricRows()); -}}} - - -The result - - - -{{{ - -array ( -0 => -array ( -0 => 'niki', -1 => '6', -), -) - -}}} - - - * *Visibility* public - * *Returns* array filled with rows that do not match headers - * *Also see* getHeaders(), symmetrize(), isSymmetric(), -getAsymmetricRows() - - ----- - -= Method:getCell = - -_ cell fetcher _ - -gets the value of a specific cell by given coordinates - -Note: That indexes start with zero, and headers are not -searched! - -For example if we are trying to grab the cell that is in the -second row and the third column - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -we would do something like - - -{{{ -var_export($csv->getCell(1, 2)); -}}} - - -and get the following results - - -{{{ -'makes sushi' -}}} - - - # *Argument* _integer_ $x the row to fetch - # *Argument* _integer_ $y the column to fetch - - * *Visibility* public - * *Returns* mixed|false the value of the cell or false if the cell does -not exist - * *Also see* getHeaders(), hasCell(), getRow(), getRows(), getColumn() - - ----- - -= Method:getColumn = - -_ column fetcher _ - -gets all the data for a specific column identified by $name - -Note $name is the same as the items returned by getHeaders() - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -php implementation - - - -{{{ -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -var_export($csv->getColumn('name')); -}}} - - -the above example outputs something like - - - -{{{ - -array ( -0 => 'john', -1 => 'tanaka', -2 => 'jose', -) - -}}} - - - # *Argument* _string_ $name the name of the column to fetch - - * *Visibility* public - * *Returns* array filled with values of a column - * *Also see* getHeaders(), fillColumn(), appendColumn(), getCell(), getRows(), -getRow(), hasColumn() - - ----- - -= Method:getHeaders = - -_ header fetcher _ - -gets csv headers into an array - - - -{{{ - -var_export($csv->getHeaders()); - -array ( -0 => 'name', -1 => 'age', -2 => 'skill', -) - -}}} - - - * *Visibility* public - * *Returns* array - - ----- - -= Method:getRawArray = - -_ raw data as array _ - -Gets the data that was retrived from the csv file as an array - -Note: that changes and alterations made to rows, columns and -values will also reflect on what this function retrives. - - * *Visibility* public - * *Returns* array - * *Also see* connect(), getHeaders(), getRows(), isSymmetric(), getAsymmetricRows(), -symmetrize() - - ----- - -= Method:getRow = - -_ row fetcher _ - -Note: first row is zero - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -load the library and csv file - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -}}} - - -lets dump currently loaded data - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -Now let's fetch the second row - - - -{{{ -var_export($csv->getRow(1)); -}}} - - -output - - - -{{{ -array ( -0 => 'tanaka', -1 => '8', -2 => 'makes sushi', -) -}}} - - - # *Argument* _integer_ $number the row number to fetch - - * *Visibility* public - * *Returns* array the row identified by number, if $number does -not exist an empty array is returned instead - - ----- - -= Method:getRows = - -_ multiple row fetcher _ - -Extracts a rows in the following fashion - # all rows if no $range argument is given - # a range of rows identified by their key - # if rows in range are not found nothing is retrived instead - # if no rows were found an empty array is returned - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -load the library and csv file - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -}}} - - -lets dump currently loaded data - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -now get the second and thirdh row - - - -{{{ -var_export($csv->getRows(array(1, 2))); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -0 => 'tanaka', -1 => '8', -2 => 'makes sushi', -), -1 => -array ( -0 => 'jose', -1 => '5', -2 => 'dances salsa', -), -) -}}} - - -now lets try something odd and the goodie third row - - - -{{{ -var_export($csv->getRows(array(9, 2))); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -0 => 'jose', -1 => '5', -2 => 'dances salsa', -), -) -}}} - - - # *Argument* _array_ $range a list of rows to retrive - - * *Visibility* public - * *Returns* array - - ----- - -= Method:hasCell = - -_ checks if a coordinate is valid _ - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -load the csv file - - - -{{{ -$csv = new File_CSV_DataSource; -var_export($csv->load('my_cool.csv')); // true if file is -// loaded -}}} - - -find out if a coordinate is valid - - - -{{{ -var_export($csv->hasCell(99, 3)); // false -}}} - - -check again for a know valid coordinate and grab that cell - - - -{{{ -var_export($csv->hasCell(1, 1)); // true -var_export($csv->getCell(1, 1)); // '8' -}}} - - - # *Argument* _mixed_ $x the row to fetch - # *Argument* _mixed_ $y the column to fetch - - * *Visibility* public - * *Returns* void - - ----- - -= Method:hasColumn = - -_ column existance checker _ - -checks if a column exists, columns are identified by their -header name. - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -php implementation - - - -{{{ -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -$headers = $csv->getHeaders(); -}}} - - -now lets check if the columns exist - - - -{{{ -var_export($csv->hasColumn($headers[0])); // true -var_export($csv->hasColumn('age')); // true -var_export($csv->hasColumn('I dont exist')); // false -}}} - - - # *Argument* _string_ $string an item returned by getHeaders() - - * *Visibility* public - * *Returns* boolean - * *Also see* getHeaders() - - ----- - -= Method:hasRow = - -_ row existance checker _ - -Scans currently loaded dataset and -checks if a given row identified by $number exists - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -load library and csv file - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -}}} - - -build a relationship and dump it so we can see the rows we will -be working with - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => // THIS ROW EXISTS!!! -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -now lets check for row existance - - - -{{{ -var_export($csv->hasRow(1)); -var_export($csv->hasRow(-1)); -var_export($csv->hasRow(9999)); -}}} - - -output - - - -{{{ -true -false -false -}}} - - - # *Argument* _mixed_ $number a numeric value that identifies the row -you are trying to fetch. - - * *Visibility* public - * *Returns* boolean - * *Also see* getRow(), getRows(), appendRow(), fillRow() - - ----- - -= Method:isSymmetric = - -_ data length/symmetry checker _ - -tells if the headers and all of the contents length match. -Note: there is a lot of methods that won't work if data is not -symmetric this method is very important! - - * *Visibility* public - * *Returns* boolean - * *Also see* symmetrize(), getAsymmetricRows(), isSymmetric() - - ----- - -= Method:load = - -_ csv file loader _ - -indicates the object which file is to be loaded - - - -{{{ - -require_once 'File/CSV/DataSource.php'; - -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -var_export($csv->connect()); - -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) - -}}} - - - # *Argument* _string_ $filename the csv filename to load - - * *Visibility* public - * *Returns* boolean true if file was loaded successfully - * *Also see* isSymmetric(), getAsymmetricRows(), symmetrize() - - ----- - -= Method:removeColumn = - -_ column remover _ - -Completly removes a whole column identified by $name -Note: that this function will only work if data is symmetric. - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -load the library and csv file - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -}}} - - -lets dump currently loaded data - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -and now let's remove the second column - - - -{{{ -var_export($csv->removeColumn('age')); -}}} - - -output - - - -{{{ -true -}}} - - -those changes made let's dump the data again and see what we got - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'skill' => 'dances salsa', -), -) -}}} - - - # *Argument* _string_ $name same as the ones returned by getHeaders(); - - * *Visibility* public - * *Returns* boolean - * *Also see* hasColumn(), getHeaders(), createHeaders(), setHeaders(), -isSymmetric(), getAsymmetricRows() - - ----- - -= Method:removeRow = - -_ row remover _ - -removes one row from the current data set. - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -first let's load the file and output whatever was retrived. - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -var_export($csv->connect()); -}}} - - -output - - - -{{{ - -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -now lets remove the second row - - - -{{{ -var_export($csv->removeRow(1)); -}}} - - -output - - - -{{{ -true -}}} - - -now lets dump again the data and see what changes have been -made - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - - # *Argument* _mixed_ $number the key that identifies that row - - * *Visibility* public - * *Returns* boolean - * *Also see* hasColumn(), getHeaders(), createHeaders(), setHeaders(), -isSymmetric(), getAsymmetricRows() - - ----- - -= Method:setHeaders = - -_ header injector _ - -uses a $list of values which wil be used to replace current -headers. - -Note: that given $list must match the length of all rows. -known as symmetric. see isSymmetric() and getAsymmetricRows() methods - -Also, that current headers will be used as first row of data -and consecuently all rows order will change with this action. - -sample of a csv file "my_cool.csv" - - - -{{{ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa -}}} - - -load the library and csv file - - - -{{{ -require_once 'File/CSV/DataSource.php'; -$csv = new File_CSV_DataSource; -$csv->load('my_cool.csv'); -}}} - - -lets dump currently loaded data - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'name' => 'john', -'age' => '13', -'skill' => 'knows magic', -), -1 => -array ( -'name' => 'tanaka', -'age' => '8', -'skill' => 'makes sushi', -), -2 => -array ( -'name' => 'jose', -'age' => '5', -'skill' => 'dances salsa', -), -) -}}} - - -And now lets create a new set of headers and attempt to inject -them into the current loaded dataset - - - -{{{ -$new_headers = array('a', 'b', 'c'); -var_export($csv->setHeaders($new_headers)); -}}} - - -output - - - -{{{ -true -}}} - - -Now lets try the same with some headers that do not match the -current headers length. (this should fail) - - - -{{{ -$new_headers = array('a', 'b'); -var_export($csv->setHeaders($new_headers)); -}}} - - -output - - - -{{{ -false -}}} - - -now let's dump whatever we have changed - - - -{{{ -var_export($csv->connect()); -}}} - - -output - - - -{{{ -array ( -0 => -array ( -'a' => 'name', -'b' => 'age', -'c' => 'skill', -), -1 => -array ( -'a' => 'john', -'b' => '13', -'c' => 'knows magic', -), -2 => -array ( -'a' => 'tanaka', -'b' => '8', -'c' => 'makes sushi', -), -3 => -array ( -'a' => 'jose', -'b' => '5', -'c' => 'dances salsa', -), -) -}}} - - - # *Argument* _array_ $list a collection of names to use as headers, - - * *Visibility* public - * *Returns* boolean fails if data is not symmetric - * *Also see* isSymmetric(), getAsymmetricRows(), getHeaders(), createHeaders() - - ----- - -= Method:settings = - -_ settings alterator _ - -lets you define different settings for scanning - -Given array will override the internal settings - - - -{{{ -$settings = array( -'delimiter' => ',', -'eol' => ";", -'length' => 999999, -'escape' => '"' -); -}}} - - - # *Argument* _mixed_ $array containing settings to use - - * *Visibility* public - * *Returns* boolean true if changes where applyed successfully - * *Also see* $settings - - ----- - -= Method:symmetrize = - -_ all rows length equalizer _ - -makes the length of all rows and headers the same. If no $value is given -all unexistent cells will be filled with empty spaces - - # *Argument* _mixed_ $value the value to fill the unexistent cells - - * *Visibility* public - * *Returns* array - * *Also see* isSymmetric(), getAsymmetricRows(), symmetrize() - - ----- - -= Method:walkColumn = - -_ column walker _ - -goes through the whole column and executes a callback for each -one of the cells in it. - -Note: callback functions get the value of the cell as an -argument, and whatever that callback returns will be used to -replace the current value of that cell. - - # *Argument* _string_ $name the header name used to identify the column - # *Argument* _string_ $callback the callback function to be called per -each cell value - - * *Visibility* public - * *Returns* boolean - * *Also see* getHeaders(), fillColumn(), appendColumn() - - ----- - -= Method:walkGrid = - -_ grid walker _ - -travels through the whole dataset executing a callback per each -cell - -Note: callback functions get the value of the cell as an -argument, and whatever that callback returns will be used to -replace the current value of that cell. - - # *Argument* _string_ $callback the callback function to be called per -each cell in the dataset. - - * *Visibility* public - * *Returns* void - * *Also see* walkColumn(), walkRow(), fillColumn(), fillRow(), fillCell() - - ----- - -= Method:walkRow = - -_ row walker _ - -goes through one full row of data and executes a callback -function per each cell in that row. - -Note: callback functions get the value of the cell as an -argument, and whatever that callback returns will be used to -replace the current value of that cell. - - # *Argument* _string_ |integer $row anything that is numeric is a valid row -identificator. As long as it is within the range of the currently -loaded dataset - - # *Argument* _string_ $callback the callback function to be executed -per each cell in a row - - * *Visibility* public - * *Returns* boolean - # false if callback does not exist - # false if row does not exits - - ----- diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/File_CSV_DataSourceTest.php b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/File_CSV_DataSourceTest.php deleted file mode 100644 index d949713..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/File_CSV_DataSourceTest.php +++ /dev/null @@ -1,508 +0,0 @@ -csv = new File_CSV_DataSource; - } - - protected function tearDown() - { - $this->csv = null; - } - - public function test_uses_must_load_valid_files() - { - // must return true when a file is valid - foreach (fix('valid_files') as $file => $msg) { - $this->assertTrue($this->csv->load(path($file)), $msg); - } - } - - public function testSettings() - { - $new_delim = '>>>>'; - $this->csv->settings(array('delimiter' => $new_delim)); - - $expected = array( - 'delimiter' => $new_delim, - 'eol' => ";", - 'length' => 999999, - 'escape' => '"' - ); - - $msg = 'settings where not parsed correctly!'; - $this->assertEquals($expected, $this->csv->settings, $msg); - } - - public function testHeaders() - { - - $this->csv->load(path('symmetric.csv')); - $result = $this->csv->getHeaders(); - $this->assertEquals(fix('symmetric_headers'), $result); - } - - public function testConnect() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(fix('symmetric_connection'), $this->csv->connect()); - } - - public function test_connect_must_return_emtpy_arr_when_not_aisSymmetric() - { - $this->assertTrue($this->csv->load(path('escape_ng.csv'))); - $this->assertEquals(array(), $this->csv->connect()); - } - - public function testSymmetric_OK() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->isSymmetric()); - } - - public function testSymmetric_NG() - { - $this->assertTrue($this->csv->load(path('asymmetric.csv'))); - $this->assertFalse($this->csv->isSymmetric()); - } - - public function testAsymmetry() - { - $this->assertTrue($this->csv->load(path('asymmetric.csv'))); - $result = $this->csv->getAsymmetricRows(); - $this->assertEquals(fix('asymmetric_rows'), $result); - } - - public function testColumn() - { - $this->assertTrue($this->csv->load(path('asymmetric.csv'))); - $result = $this->csv->getColumn('header_c'); - - $this->assertEquals(fix('expected_column'), $result); - - } - - public function testRaw_array() - { - $this->assertTrue($this->csv->load(path('raw.csv'))); - $this->assertEquals(fix('expected_raw'), $this->csv->getRawArray()); - } - - public function test_if_connect_ignores_valid_escaped_delims() - { - $this->assertTrue($this->csv->load(path('escape_ok.csv'))); - $this->assertEquals(fix('expected_escaped'), $this->csv->connect()); - } - - public function test_create_headers_must_generate_headers_for_symmetric_data() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->createHeaders('COL')); - $this->assertEquals(fix('expected_headers'), $this->csv->getHeaders()); - } - - public function tets_create_headers_must_not_create_when_data_is_aisSymmetric() - { - $this->assertTrue($this->csv->load(path('asymmetric.csv'))); - $this->assertFalse($this->csv->createHeaders('COL')); - $this->assertEquals(fix('original_headers'), $this->csv->getHeaders()); - } - - public function test_inject_headers_must_inject_headers_for_symmetric_data() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(fix('original_headers'), $this->csv->getHeaders()); - $this->assertTrue($this->csv->setHeaders(fix('expected_headers'))); - $this->assertEquals(fix('expected_headers'), $this->csv->getHeaders()); - $this->assertEquals(fix('symmetric_raw_data'), $this->csv->getRows()); - } - - public function test_inject_headers_must_not_inject_when_data_is_aisSymmetric() - { - $this->assertTrue($this->csv->load(path('asymmetric.csv'))); - $this->assertEquals(fix('original_headers'), $this->csv->getHeaders()); - $this->assertFalse($this->csv->setHeaders(fix('expected_headers'))); - $this->assertEquals(fix('original_headers'), $this->csv->getHeaders()); - } - - public function test_row_count_is_correct() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $expected_count = count(fix('symmetric_connection')); - $this->assertEquals($expected_count, $this->csv->countRows()); - } - - public function test_row_fetching_returns_correct_result() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $expected = fix('eighth_row_from_symmetric'); - $this->assertEquals($expected, $this->csv->getRow(8)); - } - - public function test_row_must_be_empty_array_when_row_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(array(), $this->csv->getRow(-1)); - $this->assertEquals(array(), $this->csv->getRow(10)); - } - - public function test_connect_must_build_relationship_for_needed_headers_only() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $result = $this->csv->connect(array('header_a')); - $this->assertEquals(fix('header_a_connection'), $result); - } - - public function test_connect_must_return_empty_array_if_given_params_are_of_invalid_datatype() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(array(), $this->csv->connect('header_a')); - } - - public function test_connect_should_ignore_non_existant_headers_AND_return_empty_array() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(array(), $this->csv->connect(array('non_existent_header'))); - } - - public function test_connect_should_ignore_non_existant_headers_BUT_get_existent_ones() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $result = $this->csv->connect(array('non_existent_header', 'header_a')); - $this->assertEquals(fix('header_a_connection'), $result); - } - - public function test_count_getHeaders() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(5, $this->csv->countHeaders()); - } - - public function test_raw_array_must_remove_empty_lines() - { - $this->assertTrue($this->csv->load(path('symmetric_with_empty_lines.csv'))); - $this->assertEquals(fix('symmetric_connection'), $this->csv->connect()); - } - - public function test_raw_array_must_remove_empty_records() - { - $this->assertTrue($this->csv->load(path('symmetric_with_empty_records.csv'))); - $this->assertEquals(fix('symmetric_connection'), $this->csv->connect()); - } - - public function test_range_of_rows_should_retrive_specific_rows_only() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $expected = fix('symmetric_range_of_rows'); - $this->assertEquals($expected, $this->csv->getRows(range(1, 2))); - } - - public function test_non_existent_rows_in_range_should_be_ignored() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $expected = fix('symmetric_range_of_rows'); - $this->assertEquals($expected, $this->csv->getRows(array(22, 19, 1, 2))); - } - - public function test_fist_row_must_be_zero() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(fix('first_row_from_symmetric'), $this->csv->getRow(0)); - } - - public function test_uses_must_flush_internal_data_when_new_file_is_given() - { - $this->assertTrue($this->csv->load(path('another_symmetric.csv'))); - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(fix('symmetric_headers'), $this->csv->getHeaders()); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - $this->assertEquals(fix('symmetric_raw_data'), $this->csv->getRawArray()); - } - - public function test_getCell() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(fix('first_symmetric_cell'), $this->csv->getCell(0, 0)); - } - - public function test_header_exists() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - foreach (fix('symmetric_headers') as $h) { - $this->assertTrue($this->csv->hasColumn($h)); - } - } - - public function test_header_exists_must_return_false_when_header_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertFalse($this->csv->hasColumn(md5('x'))); - } - - public function test_fill_getCell() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->fillCell(0, 0, 'hoge hoge')); - $this->assertEquals('hoge hoge', $this->csv->getCell(0, 0)); - } - - public function test_coordinatable_must_return_true_when_coordinates_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->hasCell(0, 0)); - $this->assertFalse($this->csv->hasCell(-1, 0)); - $this->assertFalse($this->csv->hasCell(0, -1)); - $this->assertFalse($this->csv->hasCell(-1, -1)); - $this->assertFalse($this->csv->hasCell(1, 11)); - } - - public function test_fill_column_must_fill_all_values_of_a_getColumn() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $fh = fix('first_symmetric_header'); - $this->assertTrue($this->csv->fillColumn($fh, '')); - $this->assertEquals(fix('empty_column'), $this->csv->getColumn($fh)); - } - - public function test_append_column_must_create_new_header_and_blank_values() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->appendColumn('extra')); - $se = fix('symmetric_extra_header'); - $this->assertEquals($se, $this->csv->getHeaders()); - $this->assertEquals(fix('empty_column'), $this->csv->getColumn('extra')); - $this->assertEquals(count($se), $this->csv->countHeaders()); - } - - public function test_symmetrize_must_convert_asymmetric_file() - { - $this->assertTrue($this->csv->load(path('asymmetric.csv'))); - $this->csv->symmetrize(); - $this->assertTrue($this->csv->isSymmetric()); - } - - public function test_symetrize_must_not_alter_symmetric_data() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->csv->symmetrize(); - $this->assertEquals(fix('symmetric_headers'), $this->csv->getHeaders()); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - $this->assertEquals(fix('symmetric_raw_data'), $this->csv->getRawArray()); - } - - public function test_remove_column_must_remove_last_column_and_return_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->removeColumn('header_e')); - $this->assertEquals(fix('symmetric_raw_data_with_last_colum_removed'), $this->csv->getRawArray()); - } - - public function test_remove_column_must_remove_second_column_and_return_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->removeColumn('header_b')); - $this->assertEquals(fix('symmetric_raw_data_with_second_column_removed'), $this->csv->getRawArray()); - } - - public function test_remove_column_must_return_false_when_column_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertFalse($this->csv->removeColumn(md5('header_b'))); - } - - public function test_remove_row_must_remove_first_row_successfully_and_return_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->removeRow(0)); - $this->assertEquals(fix('symmetric_rows_without_first_row'), $this->csv->getRows()); - } - - public function test_remove_row_must_remove_only_third_row_and_return_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->removeRow(2)); - $this->assertEquals(fix('symmetric_rows_without_third_row'), $this->csv->getRows()); - } - - public function test_remove_row_must_return_false_and_leave_rows_intact_when_row_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertFalse($this->csv->removeRow(999999)); - } - - public function test_rows_must_return_all_rows_when_argument_is_not_an_array() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows('lasdjfklsajdf')); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows(true)); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows(false)); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows(1)); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows(0)); - } - - public function test_has_row_must_return_true_when_a_row_exists() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->hasRow(1)); - } - - public function test_row_must_return_false_when_a_row_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertFalse($this->csv->hasRow(999999)); - } - - public function test_fill_row_must_fill_a_row_with_a_string_and_return_true() - { - $this->assertTrue($this->csv->load(path('one_row_only.csv'))); - $this->assertTrue($this->csv->fillRow(0, 'hello')); - $this->assertEquals(fix('rows_from_one_row_only_plus_one_filled_with_str_hello'), $this->csv->getRows()); - } - - public function test_fill_row_mus_fill_a_row_with_an_array_and_return_true() - { - $this->assertTrue($this->csv->load(path('one_row_only.csv'))); - $this->assertTrue($this->csv->fillRow(0, $this->csv->getHeaders())); - $this->assertEquals(fix('rows_from_one_row_only_plus_one_filled_with_arr_abc'), $this->csv->getRows()); - } - - public function test_fill_row_must_fill_a_row_with_a_number_and_return_true() - { - $this->assertTrue($this->csv->load(path('one_row_only.csv'))); - $this->assertTrue($this->csv->fillRow(0, 1)); - $this->assertEquals(fix('rows_from_one_row_only_plus_one_filled_with_num_1'), $this->csv->getRows()); - } - - public function test_fill_row_must_not_change_anything_when_given_row_does_not_exist_and_return_false() - { - $this->assertTrue($this->csv->load(path('one_row_only.csv'))); - $this->assertFalse($this->csv->fillRow(999, 1)); - $this->assertEquals(fix('rows_from_one_row_only'), $this->csv->getRows()); - } - - public function test_fill_row_must_not_change_anything_when_given_value_is_other_than_string_int_or_array_and_return_false() - { - $this->assertTrue($this->csv->load(path('one_row_only.csv'))); - $this->assertFalse($this->csv->fillRow(0, new stdClass)); - $this->assertEquals(fix('rows_from_one_row_only'), $this->csv->getRows()); - } - - // be strict, no looking back from the end of array - public function test_fill_row_must_return_false_when_negative_numbers_are_given() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertFalse($this->csv->fillRow(-1, 'xxx')); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - } - - public function test_append_row_must_aggregate_a_row_fill_it_with_values_and_return_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->appendRow(fix('one_row_for_symmetric'))); - $this->assertEquals(fix('symmetric_rows_plus_one'), $this->csv->getRows()); - } - - public function test_walk_row_must_replace_values_in_a_row_by_using_a_callback_and_be_true() - { - $this->assertTrue($this->csv->load(path('one_row_only.csv'))); - $this->assertTrue($this->csv->walkRow(0, 'callback')); - $this->assertEquals(fix('rows_from_one_row_only_plus_one_filled_with_num_1'), $this->csv->getRows()); - } - - public function test_walk_row_must_return_false_when_callback_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $non_existent_callback = md5(''); - $this->assertFalse($this->csv->walkRow(1, $non_existent_callback)); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - $this->assertEquals(fix('symmetric_headers'), $this->csv->getHeaders()); - } - - public function test_walk_column_must_replace_values_in_a_column_and_be_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $fh = fix('first_symmetric_header'); - $this->assertTrue($this->csv->walkColumn($fh, 'callback2')); - $this->assertEquals(fix('empty_column'), $this->csv->getColumn($fh)); - } - - public function test_walk_column_must_return_false_when_callback_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $fh = fix('first_symmetric_header'); - $non_existent_callback = md5(''); - $this->assertFalse($this->csv->walkColumn($fh, $non_existent_callback)); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - $this->assertEquals(fix('symmetric_headers'), $this->csv->getHeaders()); - } - - public function test_walk_grid_must_replace_the_whole_data_set_and_be_true() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $this->assertTrue($this->csv->walkGrid('callback2')); - $this->assertEquals(fix('symmetric_rows_empty'), $this->csv->getRows()); - } - - public function test_walk_grid_must_return_false_when_callback_does_not_exist() - { - $this->assertTrue($this->csv->load(path('symmetric.csv'))); - $non_existent_callback = md5(''); - $this->assertFalse($this->csv->walkGrid($non_existent_callback)); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - $this->assertEquals(fix('symmetric_headers'), $this->csv->getHeaders()); - } - - public function test_constructor_must_be_equivalent_to_load() - { - $this->csv = new File_CSV_DataSource(path('symmetric.csv')); - $result = $this->csv->getHeaders(); - $this->assertEquals(fix('symmetric_headers'), $result); - $this->assertEquals(fix('symmetric_rows'), $this->csv->getRows()); - } - - public function test_must_append_row_when_csv_file_only_has_headers_and_array_is_passed_returning_true() - { - $this->csv = new File_CSV_DataSource(path('only_headers.csv')); - $this->assertTrue($this->csv->appendRow(array(1, 2, 3))); - $result = array(array('a' => 1, 'b' => 2, 'c' => 3)); - $this->assertEquals($result, $this->csv->connect()); - } - - public function test_must_append_row_when_csv_file_only_has_headers_and_string_is_passed_returning_true() - { - $this->csv = new File_CSV_DataSource(path('only_headers.csv')); - $this->assertTrue($this->csv->appendRow('1')); - $result = array(array('a' => '1', 'b' => '1', 'c' => '1')); - $this->assertEquals($result, $this->csv->connect()); - } - - public function test_must_append_row_when_csv_file_only_has_headers_and_numeric_value_is_passed_returning_true() - { - $this->csv = new File_CSV_DataSource(path('only_headers.csv')); - $this->assertTrue($this->csv->appendRow(1)); - $result = array(array('a' => 1, 'b' => 1, 'c' => 1)); - $this->assertEquals($result, $this->csv->connect()); - } - - public function test_must_use_headers_as_max_row_padding_when_headers_length_is_longer_than_all_rows_length() - { - $this->csv = new File_CSV_DataSource(path('longer_headers.csv')); - $this->csv->symmetrize(); - $this->assertEquals(fix('longer_headers'), $this->csv->connect()); - } - -} - -?> diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/another_symmetric.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/another_symmetric.csv deleted file mode 100644 index 9f3fc7f..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/another_symmetric.csv +++ /dev/null @@ -1,4 +0,0 @@ -name,age,skill -john,13,knows magic -tanaka,8,makes sushi -jose,5,dances salsa diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/asymmetric.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/asymmetric.csv deleted file mode 100644 index 830555e..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/asymmetric.csv +++ /dev/null @@ -1,10 +0,0 @@ -header_a, header_b, header_c, header_d, header_e -1aa, 1bb, 1cc, 1dd, 1ee -2aa, 2bb, 2cc, 2dd, 2ee -3aa, 3bb, 3cc, 3dd, 3ee -4aa, 4bb, 4cc, 4dd, 4ee -5aa, 5bb, 5cc, 5dd, 5ee, extra1 -6aa, 6bb, 6cc, 6dd, 6ee -7aa, 7bb, 7cc, 7dd, 7ee -8aa, 8bb, 8cc, 8dd, 8ee, extra2 -9aa, 9bb, 9cc, 9dd, 9ee diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/empty.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/empty.csv deleted file mode 100644 index e69de29..0000000 diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/escape_ng.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/escape_ng.csv deleted file mode 100644 index d77531f..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/escape_ng.csv +++ /dev/null @@ -1,3 +0,0 @@ -one, two, three -th,ie, adn, thei -thie, adn, thei diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/escape_ok.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/escape_ok.csv deleted file mode 100644 index cc8cfb5..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/escape_ok.csv +++ /dev/null @@ -1,3 +0,0 @@ -one, two, three -"thie,", adn, thei -thie, adn, thei diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/longer_headers.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/longer_headers.csv deleted file mode 100644 index 2310c4c..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/longer_headers.csv +++ /dev/null @@ -1,4 +0,0 @@ -one, two, three, four, five, six -1, 2, 3 -1, 2, 3, 4 -, 2, 3, 4 diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/multcased.CsV b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/multcased.CsV deleted file mode 100644 index e69de29..0000000 diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/non_csv_extension.txt b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/non_csv_extension.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/one_row_only.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/one_row_only.csv deleted file mode 100644 index bfde6bf..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/one_row_only.csv +++ /dev/null @@ -1,2 +0,0 @@ -a,b,c -1,2,3 diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/only_headers.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/only_headers.csv deleted file mode 100644 index b2ffb02..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/only_headers.csv +++ /dev/null @@ -1 +0,0 @@ -a,b,c diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/raw.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/raw.csv deleted file mode 100644 index 528ee5e..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/raw.csv +++ /dev/null @@ -1,5 +0,0 @@ -h_one, h_two, h_three -v_1one, v_1two, v_1three -v_2one, v_2two, v_2three -v_3one, v_3two, v_3three - diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric.csv deleted file mode 100644 index 7764a34..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric.csv +++ /dev/null @@ -1,10 +0,0 @@ -header_a, header_b, header_c, header_d, header_e -1aa, 1bb, 1cc, 1dd, 1ee -2aa, 2bb, 2cc, 2dd, 2ee -3aa, 3bb, 3cc, 3dd, 3ee -4aa, 4bb, 4cc, 4dd, 4ee -5aa, 5bb, 5cc, 5dd, 5ee -6aa, 6bb, 6cc, 6dd, 6ee -7aa, 7bb, 7cc, 7dd, 7ee -8aa, 8bb, 8cc, 8dd, 8ee -9aa, 9bb, 9cc, 9dd, 9ee diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_empty_lines.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_empty_lines.csv deleted file mode 100644 index 0459806..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_empty_lines.csv +++ /dev/null @@ -1,20 +0,0 @@ -header_a, header_b, header_c, header_d, header_e -1aa, 1bb, 1cc, 1dd, 1ee -2aa, 2bb, 2cc, 2dd, 2ee -3aa, 3bb, 3cc, 3dd, 3ee -4aa, 4bb, 4cc, 4dd, 4ee - -5aa, 5bb, 5cc, 5dd, 5ee -6aa, 6bb, 6cc, 6dd, 6ee - -7aa, 7bb, 7cc, 7dd, 7ee - - - - -8aa, 8bb, 8cc, 8dd, 8ee -9aa, 9bb, 9cc, 9dd, 9ee - - - - diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_empty_records.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_empty_records.csv deleted file mode 100644 index 49c8406..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_empty_records.csv +++ /dev/null @@ -1,28 +0,0 @@ -header_a, header_b, header_c, header_d, header_e -, , , , -, , , , -, , , , -, , , , -1aa, 1bb, 1cc, 1dd, 1ee -2aa, 2bb, 2cc, 2dd, 2ee -3aa, 3bb, 3cc, 3dd, 3ee -, , , , -4aa, 4bb, 4cc, 4dd, 4ee -, , , , -5aa, 5bb, 5cc, 5dd, 5ee -, , , , -6aa, 6bb, 6cc, 6dd, 6ee -, , , , -, , , , -, , , , -, , , , -7aa, 7bb, 7cc, 7dd, 7ee -8aa, 8bb, 8cc, 8dd, 8ee -9aa, 9bb, 9cc, 9dd, 9ee -, , , , -, , , , -, , , , -, , , , -, , , , -, , , , -, , , , diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_trailing_spaces.csv b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_trailing_spaces.csv deleted file mode 100644 index 227e877..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/symmetric_with_trailing_spaces.csv +++ /dev/null @@ -1,10 +0,0 @@ -header_a, header_b, header_c, header_d, header_e -1aa, 1bb, 1cc, 1dd, 1ee -2aa, 2bb, 2cc, 2dd, 2ee -3aa , 3bb , 3cc, 3dd, 3ee -4aa, 4bb, 4cc, 4dd, 4ee -5aa, 5bb, 5cc, 5dd, 5ee -6aa, 6bb, 6cc, 6dd, 6ee - 7aa, 7bb, 7cc, 7dd, 7ee - 8aa, 8bb, 8cc, 8dd, 8ee -9aa, 9bb, 9cc, 9dd, 9ee diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/uppercased.CSV b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/data/uppercased.CSV deleted file mode 100644 index e69de29..0000000 diff --git a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/fixtures/csv.php b/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/fixtures/csv.php deleted file mode 100644 index 6cca4f8..0000000 --- a/src/wp-content/plugins/csv-importer/File_CSV_DataSource/tests/fixtures/csv.php +++ /dev/null @@ -1,999 +0,0 @@ - - array ( - 0 => 'header_a', - 1 => 'header_b', - 2 => 'header_c', - 3 => 'header_d', - 4 => 'header_e', - ), - 'rows_from_one_row_only' => array ( - array ( - 0 => '1', - 1 => '2', - 2 => '3', - ), - ), - 'rows_from_one_row_only_plus_one_filled_with_num_1' => array ( - array ( - 0 => '1', - 1 => '1', - 2 => '1', - ), - ), - 'rows_from_one_row_only_plus_one_filled_with_str_hello' => array ( - array ( - 0 => 'hello', - 1 => 'hello', - 2 => 'hello', - ), - ), - 'rows_from_one_row_only_plus_one_filled_with_arr_abc' => array ( - array ( - 0 => 'a', - 1 => 'b', - 2 => 'c', - ), - ), - 'symmetric_raw_data_with_second_column_removed' => - array ( - 0 => - array ( - 0 => 'header_a', - 1 => 'header_c', - 2 => 'header_d', - 3 => 'header_e', - ), - 1 => - array ( - 0 => '1aa', - 1 => '1cc', - 2 => '1dd', - 3 => '1ee', - ), - 2 => - array ( - 0 => '2aa', - 1 => '2cc', - 2 => '2dd', - 3 => '2ee', - ), - 3 => - array ( - 0 => '3aa', - 1 => '3cc', - 2 => '3dd', - 3 => '3ee', - ), - 4 => - array ( - 0 => '4aa', - 1 => '4cc', - 2 => '4dd', - 3 => '4ee', - ), - 5 => - array ( - 0 => '5aa', - 1 => '5cc', - 2 => '5dd', - 3 => '5ee', - ), - 6 => - array ( - 0 => '6aa', - 1 => '6cc', - 2 => '6dd', - 3 => '6ee', - ), - 7 => - array ( - 0 => '7aa', - 1 => '7cc', - 2 => '7dd', - 3 => '7ee', - ), - 8 => - array ( - 0 => '8aa', - 1 => '8cc', - 2 => '8dd', - 3 => '8ee', - ), - 9 => - array ( - 0 => '9aa', - 1 => '9cc', - 2 => '9dd', - 3 => '9ee', - ) - ), - 'symmetric_raw_data_with_last_colum_removed' => - array ( - 0 => - array ( - 0 => 'header_a', - 1 => 'header_b', - 2 => 'header_c', - 3 => 'header_d', - ), - 1 => - array ( - 0 => '1aa', - 1 => '1bb', - 2 => '1cc', - 3 => '1dd', - ), - 2 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - ), - 3 => - array ( - 0 => '3aa', - 1 => '3bb', - 2 => '3cc', - 3 => '3dd', - ), - 4 => - array ( - 0 => '4aa', - 1 => '4bb', - 2 => '4cc', - 3 => '4dd', - ), - 5 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - ), - 6 => - array ( - 0 => '6aa', - 1 => '6bb', - 2 => '6cc', - 3 => '6dd', - ), - 7 => - array ( - 0 => '7aa', - 1 => '7bb', - 2 => '7cc', - 3 => '7dd', - ), - 8 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - ), - 9 => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - ), - ), - - 'first_symmetric_header' => 'header_a', - 'first_symmetric_cell' => '1aa', - - 'symmetric_extra_header' => - array ( - 0 => 'header_a', - 1 => 'header_b', - 2 => 'header_c', - 3 => 'header_d', - 4 => 'header_e', - 5 => 'extra', - ), - 'first_row_from_symmetric' => - array ( - 0 => '1aa', - 1 => '1bb', - 2 => '1cc', - 3 => '1dd', - 4 => '1ee', - ), - 'eighth_row_from_symmetric' => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - 4 => '9ee', - ), - 'valid_files' => - array ( - 'empty.csv' => 'emtpy csv file', - 'uppercased.CSV' => 'upper cased extension', - 'multcased.CsV' => 'multiple cased extension', - 'symmetric.csv' => 'symmetric data', - 'asymmetric.csv' => 'asymmetric data', - 'escape_ok.csv' => 'valid escape syntax file', - 'escape_ok.csv' => 'valid escape syntax file', - 'non_csv_extension.txt' => 'non csv-extension file', - ), - 'expected_headers' => - array ( - 0 => 'COL_1', - 1 => 'COL_2', - 2 => 'COL_3', - 3 => 'COL_4', - 4 => 'COL_5', - ), - 'original_headers' => - array ( - 0 => 'header_a', - 1 => 'header_b', - 2 => 'header_c', - 3 => 'header_d', - 4 => 'header_e', - ), - 'symmetric_connection' => - array ( - 0 => - array ( - 'header_a' => '1aa', - 'header_b' => '1bb', - 'header_c' => '1cc', - 'header_d' => '1dd', - 'header_e' => '1ee', - ), - 1 => - array ( - 'header_a' => '2aa', - 'header_b' => '2bb', - 'header_c' => '2cc', - 'header_d' => '2dd', - 'header_e' => '2ee', - ), - 2 => - array ( - 'header_a' => '3aa', - 'header_b' => '3bb', - 'header_c' => '3cc', - 'header_d' => '3dd', - 'header_e' => '3ee', - ), - 3 => - array ( - 'header_a' => '4aa', - 'header_b' => '4bb', - 'header_c' => '4cc', - 'header_d' => '4dd', - 'header_e' => '4ee', - ), - 4 => - array ( - 'header_a' => '5aa', - 'header_b' => '5bb', - 'header_c' => '5cc', - 'header_d' => '5dd', - 'header_e' => '5ee', - ), - 5 => - array ( - 'header_a' => '6aa', - 'header_b' => '6bb', - 'header_c' => '6cc', - 'header_d' => '6dd', - 'header_e' => '6ee', - ), - 6 => - array ( - 'header_a' => '7aa', - 'header_b' => '7bb', - 'header_c' => '7cc', - 'header_d' => '7dd', - 'header_e' => '7ee', - ), - 7 => - array ( - 'header_a' => '8aa', - 'header_b' => '8bb', - 'header_c' => '8cc', - 'header_d' => '8dd', - 'header_e' => '8ee', - ), - 8 => - array ( - 'header_a' => '9aa', - 'header_b' => '9bb', - 'header_c' => '9cc', - 'header_d' => '9dd', - 'header_e' => '9ee', - ), - ), - 'asymmetric_rows' => - array ( - 0 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - 4 => '5ee', - 5 => 'extra1', - ), - 1 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - 4 => '8ee', - 5 => 'extra2', - ), - ), - 'empty_column' => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '', - 6 => '', - 7 => '', - 8 => '', - ), - 'expected_column' => - array ( - 0 => '1cc', - 1 => '2cc', - 2 => '3cc', - 3 => '4cc', - 4 => '5cc', - 5 => '6cc', - 6 => '7cc', - 7 => '8cc', - 8 => '9cc', - ), - 'symmetric_rows_without_first_row' => - array ( - 0 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - 4 => '2ee', - ), - 1 => - array ( - 0 => '3aa', - 1 => '3bb', - 2 => '3cc', - 3 => '3dd', - 4 => '3ee', - ), - 2 => - array ( - 0 => '4aa', - 1 => '4bb', - 2 => '4cc', - 3 => '4dd', - 4 => '4ee', - ), - 3 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - 4 => '5ee', - ), - 4 => - array ( - 0 => '6aa', - 1 => '6bb', - 2 => '6cc', - 3 => '6dd', - 4 => '6ee', - ), - 5 => - array ( - 0 => '7aa', - 1 => '7bb', - 2 => '7cc', - 3 => '7dd', - 4 => '7ee', - ), - 6 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - 4 => '8ee', - ), - 7 => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - 4 => '9ee', - ), - ), - 'symmetric_rows_without_third_row' => - array ( - 0 => - array ( - 0 => '1aa', - 1 => '1bb', - 2 => '1cc', - 3 => '1dd', - 4 => '1ee', - ), - 1 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - 4 => '2ee', - ), - 2 => - array ( - 0 => '4aa', - 1 => '4bb', - 2 => '4cc', - 3 => '4dd', - 4 => '4ee', - ), - 3 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - 4 => '5ee', - ), - 4 => - array ( - 0 => '6aa', - 1 => '6bb', - 2 => '6cc', - 3 => '6dd', - 4 => '6ee', - ), - 5 => - array ( - 0 => '7aa', - 1 => '7bb', - 2 => '7cc', - 3 => '7dd', - 4 => '7ee', - ), - 6 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - 4 => '8ee', - ), - 7 => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - 4 => '9ee', - ), - ), - 'one_row_for_symmetric' => array ( - 0 => '10aa', - 1 => '10bb', - 2 => '10cc', - 3 => '10dd', - 4 => '10ee', - ), - 'symmetric_rows_plus_one' => // contains 'one_row_for_symmetric' - array ( - 0 => - array ( - 0 => '1aa', - 1 => '1bb', - 2 => '1cc', - 3 => '1dd', - 4 => '1ee', - ), - 1 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - 4 => '2ee', - ), - 2 => - array ( - 0 => '3aa', - 1 => '3bb', - 2 => '3cc', - 3 => '3dd', - 4 => '3ee', - ), - 3 => - array ( - 0 => '4aa', - 1 => '4bb', - 2 => '4cc', - 3 => '4dd', - 4 => '4ee', - ), - 4 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - 4 => '5ee', - ), - 5 => - array ( - 0 => '6aa', - 1 => '6bb', - 2 => '6cc', - 3 => '6dd', - 4 => '6ee', - ), - 6 => - array ( - 0 => '7aa', - 1 => '7bb', - 2 => '7cc', - 3 => '7dd', - 4 => '7ee', - ), - 7 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - 4 => '8ee', - ), - 8 => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - 4 => '9ee', - ), - 9 => - array ( - 0 => '10aa', - 1 => '10bb', - 2 => '10cc', - 3 => '10dd', - 4 => '10ee', - ), - ), - 'symmetric_rows_empty' => - array ( - 0 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 1 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 2 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 3 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 4 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 5 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 6 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 7 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - 8 => - array ( - 0 => '', - 1 => '', - 2 => '', - 3 => '', - 4 => '', - ), - ), - 'symmetric_rows' => - array ( - 0 => - array ( - 0 => '1aa', - 1 => '1bb', - 2 => '1cc', - 3 => '1dd', - 4 => '1ee', - ), - 1 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - 4 => '2ee', - ), - 2 => - array ( - 0 => '3aa', - 1 => '3bb', - 2 => '3cc', - 3 => '3dd', - 4 => '3ee', - ), - 3 => - array ( - 0 => '4aa', - 1 => '4bb', - 2 => '4cc', - 3 => '4dd', - 4 => '4ee', - ), - 4 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - 4 => '5ee', - ), - 5 => - array ( - 0 => '6aa', - 1 => '6bb', - 2 => '6cc', - 3 => '6dd', - 4 => '6ee', - ), - 6 => - array ( - 0 => '7aa', - 1 => '7bb', - 2 => '7cc', - 3 => '7dd', - 4 => '7ee', - ), - 7 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - 4 => '8ee', - ), - 8 => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - 4 => '9ee', - ), - ), - 'symmetric_raw_data' => - array ( - 0 => - array ( - 0 => 'header_a', - 1 => 'header_b', - 2 => 'header_c', - 3 => 'header_d', - 4 => 'header_e', - ), - 1 => - array ( - 0 => '1aa', - 1 => '1bb', - 2 => '1cc', - 3 => '1dd', - 4 => '1ee', - ), - 2 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - 4 => '2ee', - ), - 3 => - array ( - 0 => '3aa', - 1 => '3bb', - 2 => '3cc', - 3 => '3dd', - 4 => '3ee', - ), - 4 => - array ( - 0 => '4aa', - 1 => '4bb', - 2 => '4cc', - 3 => '4dd', - 4 => '4ee', - ), - 5 => - array ( - 0 => '5aa', - 1 => '5bb', - 2 => '5cc', - 3 => '5dd', - 4 => '5ee', - ), - 6 => - array ( - 0 => '6aa', - 1 => '6bb', - 2 => '6cc', - 3 => '6dd', - 4 => '6ee', - ), - 7 => - array ( - 0 => '7aa', - 1 => '7bb', - 2 => '7cc', - 3 => '7dd', - 4 => '7ee', - ), - 8 => - array ( - 0 => '8aa', - 1 => '8bb', - 2 => '8cc', - 3 => '8dd', - 4 => '8ee', - ), - 9 => - array ( - 0 => '9aa', - 1 => '9bb', - 2 => '9cc', - 3 => '9dd', - 4 => '9ee', - ), - ), - 'expected_raw' => - array ( - 0 => - array ( - 0 => 'h_one', - 1 => 'h_two', - 2 => 'h_three', - ), - 1 => - array ( - 0 => 'v_1one', - 1 => 'v_1two', - 2 => 'v_1three', - ), - 2 => - array ( - 0 => 'v_2one', - 1 => 'v_2two', - 2 => 'v_2three', - ), - 3 => - array ( - 0 => 'v_3one', - 1 => 'v_3two', - 2 => 'v_3three', - ), - ), - 'expected_escaped' => - array ( - 0 => - array ( - 'one' => 'thie,', - 'two' => 'adn', - 'three' => 'thei', - ), - 1 => - array ( - 'one' => 'thie', - 'two' => 'adn', - 'three' => 'thei', - ), - ), - 'header_a_connection' => - array ( - 0 => - array ( - 'header_a' => '1aa', - ), - 1 => - array ( - 'header_a' => '2aa', - ), - 2 => - array ( - 'header_a' => '3aa', - ), - 3 => - array ( - 'header_a' => '4aa', - ), - 4 => - array ( - 'header_a' => '5aa', - ), - 5 => - array ( - 'header_a' => '6aa', - ), - 6 => - array ( - 'header_a' => '7aa', - ), - 7 => - array ( - 'header_a' => '8aa', - ), - 8 => - array ( - 'header_a' => '9aa', - ), - ), - 'symmetric_queries' => - array ( - 0 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'1aa\', \'1bb\', \'1cc\', \'1dd\', \'1ee\')', - 1 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'2aa\', \'2bb\', \'2cc\', \'2dd\', \'2ee\')', - 2 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'3aa\', \'3bb\', \'3cc\', \'3dd\', \'3ee\')', - 3 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'4aa\', \'4bb\', \'4cc\', \'4dd\', \'4ee\')', - 4 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'5aa\', \'5bb\', \'5cc\', \'5dd\', \'5ee\')', - 5 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'6aa\', \'6bb\', \'6cc\', \'6dd\', \'6ee\')', - 6 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'7aa\', \'7bb\', \'7cc\', \'7dd\', \'7ee\')', - 7 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'8aa\', \'8bb\', \'8cc\', \'8dd\', \'8ee\')', - 8 => 'INSERT INTO test_table (header_a, header_b, header_c, header_d, header_e) VALUES (\'9aa\', \'9bb\', \'9cc\', \'9dd\', \'9ee\')', - ), - 'alternated_header_queries' => - array ( - 0 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'1aa\', \'1cc\')', - 1 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'2aa\', \'2cc\')', - 2 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'3aa\', \'3cc\')', - 3 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'4aa\', \'4cc\')', - 4 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'5aa\', \'5cc\')', - 5 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'6aa\', \'6cc\')', - 6 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'7aa\', \'7cc\')', - 7 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'8aa\', \'8cc\')', - 8 => 'INSERT INTO test_table (header_a, header_c) VALUES (\'9aa\', \'9cc\')', - ), - 'symmetric_range_of_rows' => - array ( - 0 => - array ( - 0 => '2aa', - 1 => '2bb', - 2 => '2cc', - 3 => '2dd', - 4 => '2ee', - ), - 1 => - array ( - 0 => '3aa', - 1 => '3bb', - 2 => '3cc', - 3 => '3dd', - 4 => '3ee', - ), - ), - 'longer_headers' => - array ( - 0 => - array ( - 'one' => '1', - 'two' => '2', - 'three' => '3', - 'four' => '', - 'five' => '', - 'six' => '', - ), - 1 => - array ( - 'one' => '1', - 'two' => '2', - 'three' => '3', - 'four' => '4', - 'five' => '', - 'six' => '', - ), - 2 => - array ( - 'one' => '', - 'two' => '2', - 'three' => '3', - 'four' => '4', - 'five' => '', - 'six' => '', - ), - ), - -); - -function fix($key) { - global $fixtures; - if (!array_key_exists($key, $fixtures)) { - throw new Exception("Fixture not found: '$key' "); - } - return $fixtures[$key]; -} - -function path($file) -{ - return 'File/CSV/tests/data/' . $file; -} - -function callback($value) -{ - return 1; -} - -function callback2($value) -{ - return ''; -} - -?> diff --git a/src/wp-content/plugins/csv-importer/LICENSE b/src/wp-content/plugins/csv-importer/LICENSE deleted file mode 100644 index 02e4c3d..0000000 --- a/src/wp-content/plugins/csv-importer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) <2009> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/wp-content/plugins/csv-importer/TODO b/src/wp-content/plugins/csv-importer/TODO deleted file mode 100644 index d39ad13..0000000 --- a/src/wp-content/plugins/csv-importer/TODO +++ /dev/null @@ -1,6 +0,0 @@ -* Add an option to the GUI for specifying a delimiter other than a comma -* Add column for importing post thumbnails -* Add a column for page templates -* Create users if they don't exist (as an option) -* Add support for unix timestamp dates -* Add support for category descriptions diff --git a/src/wp-content/plugins/csv-importer/csv_importer.php b/src/wp-content/plugins/csv-importer/csv_importer.php deleted file mode 100644 index 9b2eafc..0000000 --- a/src/wp-content/plugins/csv-importer/csv_importer.php +++ /dev/null @@ -1,542 +0,0 @@ -You can reach the author at d.v.kobozev@gmail.com. -Version: 0.3.6 -Author: Denis Kobozev -*/ - -/** - * LICENSE: The MIT License {{{ - * - * Copyright (c) <2009> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * @author Denis Kobozev - * @copyright 2009 Denis Kobozev - * @license The MIT License - * }}} - */ - -class CSVImporterException extends Exception {} - -class CSVImporterPlugin { - var $defaults = array( - 'csv_post_title' => null, - 'csv_post_post' => null, - 'csv_post_type' => null, - 'csv_post_excerpt' => null, - 'csv_post_date' => null, - 'csv_post_tags' => null, - 'csv_post_categories' => null, - 'csv_post_author' => null, - 'csv_post_slug' => null, - 'csv_post_parent' => 0, - ); - - var $log = array(); - - // determine value of option $name from database, $default value or $params, - // save it to the db if needed and return it - function process_option($name, $default, $params) { - if (array_key_exists($name, $params)) { - $value = stripslashes($params[$name]); - } elseif (array_key_exists('_'.$name, $params)) { - // unchecked checkbox value - $value = stripslashes($params['_'.$name]); - } else { - $value = null; - } - $stored_value = get_option($name); - if ($value == null) { - if ($stored_value === false) { - if (is_callable($default) && - method_exists($default[0], $default[1])) { - $value = call_user_func($default); - } else { - $value = $default; - } - add_option($name, $value); - } else { - $value = $stored_value; - } - } else { - if ($stored_value === false) { - add_option($name, $value); - } elseif ($stored_value != $value) { - update_option($name, $value); - } - } - return $value; - } - - // Plugin's interface - function form() { - $opt_draft = $this->process_option('csv_importer_import_as_draft', - 'publish', $_POST); - $opt_cat = $this->process_option('csv_importer_cat', 0, $_POST); - - if ('POST' == $_SERVER['REQUEST_METHOD']) { - $this->post(compact('opt_draft', 'opt_cat')); - } - - // form HTML {{{ -?> - -
-

Import CSV

-
- -

- - -

- - -

Organize into category 'Select one ...', 'hide_empty' => 0, 'hierarchical' => 1, 'show_count' => 0, 'name' => 'csv_importer_cat', 'orderby' => 'name', 'selected' => $opt_cat));?>
- This will create new categories inside the category parent you choose.

- - -


-

-

-
-
- -log)) { - - // messages HTML {{{ -?> - -
- log['error'])): ?> - -
- - log['error'] as $error): ?> -

- - -
- - - - log['notice'])): ?> - -
- - log['notice'] as $notice): ?> -

- - -
- - -
- -log = array(); - } - } - - // Handle POST submission - function post($options) { - if (empty($_FILES['csv_import']['tmp_name'])) { - $this->log['error'][] = 'No file uploaded, aborting.'; - $this->print_messages(); - return; - } - - require_once 'File_CSV_DataSource/DataSource.php'; - - $time_start = microtime(true); - $csv = new File_CSV_DataSource; - $file = $_FILES['csv_import']['tmp_name']; - $this->stripBOM($file); - - if (!$csv->load($file)) { - $this->log['error'][] = 'Failed to load file, aborting.'; - $this->print_messages(); - return; - } - - // pad shorter rows with empty values - $csv->symmetrize(); - - // WordPress sets the correct timezone for date functions somewhere - // in the bowels of wp_insert_post(). We need strtotime() to return - // correct time before the call to wp_insert_post(). - $tz = get_option('timezone_string'); - if ($tz && function_exists('date_default_timezone_set')) { - date_default_timezone_set($tz); - } - - $skipped = 0; - $imported = 0; - $comments = 0; - foreach ($csv->connect() as $csv_data) { - if ($post_id = $this->create_post($csv_data, $options)) { - $imported++; - $comments += $this->add_comments($post_id, $csv_data); - $this->create_custom_fields($post_id, $csv_data); - } else { - $skipped++; - } - } - - if (file_exists($file)) { - @unlink($file); - } - - $exec_time = microtime(true) - $time_start; - - if ($skipped) { - $this->log['notice'][] = "Skipped {$skipped} posts (most likely due to empty title, body and excerpt)."; - } - $this->log['notice'][] = sprintf("Imported {$imported} posts and {$comments} comments in %.2f seconds.", $exec_time); - $this->print_messages(); - } - - function create_post($data, $options) { - extract($options); - - $data = array_merge($this->defaults, $data); - $type = $data['csv_post_type'] ? $data['csv_post_type'] : 'post'; - $valid_type = (function_exists('post_type_exists') && - post_type_exists($type)) || in_array($type, array('post', 'page')); - - if (!$valid_type) { - $this->log['error']["type-{$type}"] = sprintf( - 'Unknown post type "%s".', $type); - } - - $new_post = array( - 'post_title' => convert_chars($data['csv_post_title']), - 'post_content' => wpautop(convert_chars($data['csv_post_post'])), - 'post_status' => $opt_draft, - 'post_type' => $type, - 'post_date' => $this->parse_date($data['csv_post_date']), - 'post_excerpt' => convert_chars($data['csv_post_excerpt']), - 'post_name' => $data['csv_post_slug'], - 'post_author' => $this->get_auth_id($data['csv_post_author']), - 'tax_input' => $this->get_taxonomies($data), - 'post_parent' => $data['csv_post_parent'], - ); - - // pages don't have tags or categories - if ('page' !== $type) { - $new_post['tags_input'] = $data['csv_post_tags']; - - // Setup categories before inserting - this should make insertion - // faster, but I don't exactly remember why :) Most likely because - // we don't assign default cat to post when csv_post_categories - // is not empty. - $cats = $this->create_or_get_categories($data, $opt_cat); - $new_post['post_category'] = $cats['post']; - } - - // create! - $id = wp_insert_post($new_post); - - if ('page' !== $type && !$id) { - // cleanup new categories on failure - foreach ($cats['cleanup'] as $c) { - wp_delete_term($c, 'category'); - } - } - return $id; - } - - /** - * Return an array of category ids for a post. - * - * @param string $data csv_post_categories cell contents - * @param integer $common_parent_id common parent id for all categories - * - * @return array() category ids - */ - function create_or_get_categories($data, $common_parent_id) { - $ids = array( - 'post' => array(), - 'cleanup' => array(), - ); - $items = array_map('trim', explode(',', $data['csv_post_categories'])); - foreach ($items as $item) { - if (is_numeric($item)) { - if (get_category($item) !== null) { - $ids['post'][] = $item; - } else { - $this->log['error'][] = "Category ID {$item} does not exist, skipping."; - } - } else { - $parent_id = $common_parent_id; - // item can be a single category name or a string such as - // Parent > Child > Grandchild - $categories = array_map('trim', explode('>', $item)); - if (count($categories) > 1 && is_numeric($categories[0])) { - $parent_id = $categories[0]; - if (get_category($parent_id) !== null) { - // valid id, everything's ok - $categories = array_slice($categories, 1); - } else { - $this->log['error'][] = "Category ID {$parent_id} does not exist, skipping."; - continue; - } - } - foreach ($categories as $category) { - if ($category) { - $term = is_term($category, 'category', $parent_id); - if ($term) { - $term_id = $term['term_id']; - } else { - $term_id = wp_insert_category(array( - 'cat_name' => $category, - 'category_parent' => $parent_id, - )); - $ids['cleanup'][] = $term_id; - } - $parent_id = $term_id; - } - } - $ids['post'][] = $term_id; - } - } - return $ids; - } - - // Parse taxonomy data from the file - // - // array( - // // hierarchical taxonomy name => ID array - // 'my taxonomy 1' => array(1, 2, 3, ...), - // // non-hierarchical taxonomy name => term names string - // 'my taxonomy 2' => array('term1', 'term2', ...), - // ) - function get_taxonomies($data) { - $taxonomies = array(); - foreach ($data as $k => $v) { - if (preg_match('/^csv_ctax_(.*)$/', $k, $matches)) { - $t_name = $matches[1]; - if (is_taxonomy($t_name)) { - $taxonomies[$t_name] = $this->create_terms($t_name, - $data[$k]); - } else { - $this->log['error'][] = "Unknown taxonomy $t_name"; - } - } - } - return $taxonomies; - } - - // Return an array of term IDs for hierarchical taxonomies or the original - // string from CSV for non-hierarchical taxonomies. The original string - // should have the same format as csv_post_tags. - function create_terms($taxonomy, $field) { - if (is_taxonomy_hierarchical($taxonomy)) { - $term_ids = array(); - foreach ($this->_parse_tax($field) as $row) { - list($parent, $child) = $row; - $parent_ok = true; - if ($parent) { - $parent_info = is_term($parent, $taxonomy); - if (!$parent_info) { - // create parent - $parent_info = wp_insert_term($parent, $taxonomy); - } - if (!is_wp_error($parent_info)) { - $parent_id = $parent_info['term_id']; - } else { - // could not find or create parent - $parent_ok = false; - } - } else { - $parent_id = 0; - } - - if ($parent_ok) { - $child_info = is_term($child, $taxonomy, $parent_id); - if (!$child_info) { - // create child - $child_info = wp_insert_term($child, $taxonomy, - array('parent' => $parent_id)); - } - if (!is_wp_error($child_info)) { - $term_ids[] = $child_info['term_id']; - } - } - } - return $term_ids; - } else { - return $field; - } - } - - // hierarchical taxonomy fields are tiny CSV files in their own right - function _parse_tax($field) { - $data = array(); - if (function_exists('str_getcsv')) { // PHP 5 >= 5.3.0 - $lines = explode("\n", $field); - - foreach ($lines as $line) { - $data[] = str_getcsv($line, ',', '"'); - } - } else { - // Use temp files for older PHP versions. Reusing the tmp file for - // the duration of the script might be faster, but not necessarily - // significant. - $handle = tmpfile(); - fwrite($handle, $field); - fseek($handle, 0); - - while (($r = fgetcsv($handle, 999999, ',', '"')) !== false) { - $data[] = $r; - } - fclose($handle); - } - return $data; - } - - function add_comments($post_id, $data) { - // First get a list of the comments for this post - $comments = array(); - foreach ($data as $k => $v) { - // comments start with cvs_comment_ - if ( preg_match('/^csv_comment_([^_]+)_(.*)/', $k, $matches) && - $v != '') { - $comments[$matches[1]] = 1; - } - } - // Sort this list which specifies the order they are inserted, in case - // that matters somewhere - ksort($comments); - - // Now go through each comment and insert it. More fields are possible - // in principle (see docu of wp_insert_comment), but I didn't have data - // for them so I didn't test them, so I didn't include them. - $count = 0; - foreach ($comments as $cid => $v) { - $new_comment = array( - 'comment_post_ID' => $post_id, - 'comment_approved' => 1, - ); - - if (isset($data["csv_comment_{$cid}_author"])) { - $new_comment['comment_author'] = convert_chars( - $data["csv_comment_{$cid}_author"]); - } - if (isset($data["csv_comment_{$cid}_author_email"])) { - $new_comment['comment_author_email'] = convert_chars( - $data["csv_comment_{$cid}_author_email"]); - } - if (isset($data["csv_comment_{$cid}_url"])) { - $new_comment['comment_author_url'] = convert_chars( - $data["csv_comment_{$cid}_url"]); - } - if (isset($data["csv_comment_{$cid}_content"])) { - $new_comment['comment_content'] = convert_chars( - $data["csv_comment_{$cid}_content"]); - } - if (isset($data["csv_comment_{$cid}_date"])) { - $new_comment['comment_date'] = $this->parse_date( - $data["csv_comment_{$cid}_date"]); - } - - $id = wp_insert_comment($new_comment); - if ($id) { - $count++; - } else { - $this->log['error'][] = "Could not add comment $cid"; - } - } - return $count; - } - - function create_custom_fields($post_id, $data) { - foreach ($data as $k => $v) { - // anything that doesn't start with csv_ is a custom field - if (!preg_match('/^csv_/', $k) && $v != '') { - add_post_meta($post_id, $k, $v); - } - } - } - - function get_auth_id($author) { - if (is_numeric($author)) { - return $author; - } - $author_data = get_userdatabylogin($author); - return ($author_data) ? $author_data->ID : 0; - } - - // Convert date in CSV file to 1999-12-31 23:52:00 format - function parse_date($data) { - $timestamp = strtotime($data); - if (false === $timestamp) { - return ''; - } else { - return date('Y-m-d H:i:s', $timestamp); - } - } - - // delete BOM from UTF-8 file - function stripBOM($fname) { - $res = fopen($fname, 'rb'); - if (false !== $res) { - $bytes = fread($res, 3); - if ($bytes == pack('CCC', 0xef, 0xbb, 0xbf)) { - $this->log['notice'][] = 'Getting rid of byte order mark...'; - fclose($res); - - $contents = file_get_contents($fname); - if (false === $contents) { - trigger_error('Failed to get file contents.', E_USER_WARNING); - } - $contents = substr($contents, 3); - $success = file_put_contents($fname, $contents); - if (false === $success) { - trigger_error('Failed to put file contents.', E_USER_WARNING); - } - } else { - fclose($res); - } - } else { - $this->log['error'][] = 'Failed to open file, aborting.'; - } - } -} - - -function csv_admin_menu() { - require_once ABSPATH . '/wp-admin/admin.php'; - $plugin = new CSVImporterPlugin; - add_management_page('edit.php', 'CSV Importer', 9, __FILE__, array($plugin, 'form')); -} - -add_action('admin_menu', 'csv_admin_menu'); - -?> diff --git a/src/wp-content/plugins/csv-importer/examples/comments.csv b/src/wp-content/plugins/csv-importer/examples/comments.csv deleted file mode 100644 index c08d200..0000000 --- a/src/wp-content/plugins/csv-importer/examples/comments.csv +++ /dev/null @@ -1,2 +0,0 @@ -"csv_post_title","csv_post_post","csv_post_categories","csv_post_tags","csv_comment_1_author","csv_comment_1_content","csv_comment_2_author","csv_comment_2_author_email","csv_comment_2_url","csv_comment_2_content","csv_comment_2_date" -"Minitel","The Minitel is a Videotex online service accessible through the telephone lines, and is considered one of the world's most successful pre-World Wide Web online services.","Testing CSV Importer","test,import,csv","gordon","Wow, I have never heard about such service.","eli","eli@example.com","http://example.com","From its early days, users could make online purchases, make train reservations, check stock prices, search the telephone directory, and chat in a similar way to that now made possible by the Internet.","yesterday" diff --git a/src/wp-content/plugins/csv-importer/examples/custom-taxonomies.csv b/src/wp-content/plugins/csv-importer/examples/custom-taxonomies.csv deleted file mode 100644 index 1833826..0000000 --- a/src/wp-content/plugins/csv-importer/examples/custom-taxonomies.csv +++ /dev/null @@ -1,7 +0,0 @@ -"csv_post_title","csv_post_post","csv_post_excerpt","csv_post_categories","csv_post_tags","csv_post_date","csv_post_author","csv_post_slug","csv_ctax_art","csv_ctax_country","my_custom1" -"Vincent Van Gogh","Vincent Willem van Gogh[a 1] (30 March 1853 – 29 July 1890) was a Dutch post-Impressionist painter whose work had a far-reaching influence on 20th century art for its vivid colors and emotional impact. He suffered from anxiety and increasingly frequent bouts of mental illness throughout his life, and died largely unknown, at the age of 37, from a self-inflicted gunshot wound.","Vincent Willem van Gogh[a 1] (30 March 1853 – 29 July 1890) was a Dutch post-Impressionist painter","Art, CSV Importer","van gogh, dutch, painter","June 1, 2010","alice","Van-gogh-one","Painting, post-impressionism","Netherlands,France",53 -"Claude Monet","Claude Monet (French pronunciation: [klod mɔnɛ]), born Oscar Claude Monet (14 November 1840 – 5 December 1926)[1] was a founder of French impressionist painting, and the most consistent and prolific practitioner of the movement's philosophy of expressing one's perceptions before nature, especially as applied to plein-air landscape painting. ","Claude Monet (French pronunciation: [klod mɔnɛ]), born Oscar Claude Monet (14 November 1840 – 5 December 1926)[1] was a founder of French impressionist painting","Art, CSV Importer","monet, french, painter","May 30, 2010","alice","Claude-monet-one","Painting, impressionism","France",40 -"Pablo Picasso","Pablo Diego José Francisco de Paula Juan Nepomuceno María de los Remedios Cipriano de la Santísima Trinidad Clito Ruiz y Picasso Ruiz Picasso known as Pablo Ruiz Picasso (25 October 1881 – 8 April 1973) was a Spanish painter, draughtsman, and sculptor. He is best known for co-founding the Cubist movement and for the wide variety of styles embodied in his work.","Pablo Ruiz Picasso (25 October 1881 – 8 April 1973) was a Spanish painter, draughtsman, and sculptor.","Art, CSV Importer","picasso, spanish, painter, sculptor","August 25 2009","alice","Pablo-picasso-one","Painting, cubism -Sculpture, cubism","France, Spain",81 -"Oscar Wilde","Oscar Fingal O'Flahertie Wills Wilde (16 October 1854 – 30 November 1900) was an Irish writer, poet, and prominent aesthete. His parents were successful Dublin intellectuals, and from an early age he was tutored at home, where he showed his intelligence, becoming fluent in French and German. ","Oscar Fingal O'Flahertie Wills Wilde (16 October 1854 – 30 November 1900) was an Irish writer, poet, and prominent aesthete.","Art, CSV Importer","wilde, irish, poet","August 25 2009","bob","Oscar-wilde-one","Poetry, aestheticism -Prose, ""fiction, gothic""","Ireland, UK, France",54 diff --git a/src/wp-content/plugins/csv-importer/examples/functions.inc.php b/src/wp-content/plugins/csv-importer/examples/functions.inc.php deleted file mode 100644 index 547f73c..0000000 --- a/src/wp-content/plugins/csv-importer/examples/functions.inc.php +++ /dev/null @@ -1,19 +0,0 @@ - true, - 'label' => 'Art', - )); - register_taxonomy('country', 'post', array( - 'hierarchical' => false, - 'label' => 'Country', - )); -} - -?> diff --git a/src/wp-content/plugins/csv-importer/examples/sample-advanced.csv b/src/wp-content/plugins/csv-importer/examples/sample-advanced.csv deleted file mode 100644 index 0097c35..0000000 --- a/src/wp-content/plugins/csv-importer/examples/sample-advanced.csv +++ /dev/null @@ -1,9 +0,0 @@ -"csv_post_title","csv_post_post","csv_post_categories","csv_post_date","csv_post_author","csv_post_slug","csv_post_type","csv_post_parent" -"[CSV Importer] Assign an author","You can manually assign an author to a post, provided that user exists.","Testing CSV Importer",,"alice",,, -"[CSV Importer] Set a slug","Slugs are supported, too.","Testing CSV Importer",,,"slug-ability",, -"[CSV Importer] Yesterday's post","Dates can be specified in a variety of formats, including plain English (with limitations, of course).","Testing CSV Importer","yesterday",,,, -"[CSV Importer] A year ago","Set date to the same day, a year ago.","Testing CSV Importer","-1 year",,,, -"[CSV Importer] Exact date 1","More precise date formats are supported, too.","Testing CSV Importer","2011, feb 2",,,, -"[CSV Importer] Exact date 2","More precise date formats are supported, too.","Testing CSV Importer","01/01/11",,,, -"[CSV Importer] Parent","You can specify a parent page using its id. The page has to already exist for this to work.","Testing CSV Importer",,,,"page",83 -"[CSV Importer] Subcategories","To specify a category structure, use the greater than sign > in the csv_post_categories column.","Testing CSV Importer > Guitars > Electric",,,,, diff --git a/src/wp-content/plugins/csv-importer/examples/sample.csv b/src/wp-content/plugins/csv-importer/examples/sample.csv deleted file mode 100644 index 4869bf2..0000000 --- a/src/wp-content/plugins/csv-importer/examples/sample.csv +++ /dev/null @@ -1,20 +0,0 @@ -"csv_post_title","csv_post_post","csv_post_type","csv_post_excerpt","csv_post_categories","csv_post_tags","csv_post_date","custom_field_1","custom_field_2" -"[CSV Importer] Test","Don't panic, this is only a test. - -The manual has a lot of useful information. - -Unsurprisingly, one of the most frequently asked questions is ""What should I do if my data has commas and double quotes?"". - -CSV Importer can be used with any language (just make sure to save the file with UTF-8 encoding): - -
-A comma-separated values or character-separated values (CSV) file is a simple text format for a database table. - -Comma-separated values (CSV) est un format informatique ouvert représentant des données tabulaires sous forme de « valeurs séparées par des virgules ». - -CSV (от англ. Comma Separated Values — значения, разделённые запятыми) — текстовый формат, предназначенный для представления табличных данных. - -Comma-Separated Values(略称:CSV)は、いくつかのフィールド(項目)をカンマ「,」で区切ったテキストデータおよびテキストファイル。 -
",,"This is an excerpt for a CSV Importer test post.","Testing CSV Importer, Testing CSV Importer 2","test,csv","2000-12-31 20:00:12","custom value","custom value 2" -"[CSV Importer] A future post","This is a post that's scheduled to be published in the future (provided that it's not imported as a draft).","post","An excerpt of a future post.","Testing CSV Importer","test,csv,future","2014-01-01 14:00:00",42,43 -"[CSV Importer] How to import a page?","To import a page, set csv_post_type column value to ""page"".","page",,,,,, diff --git a/src/wp-content/plugins/csv-importer/readme.txt b/src/wp-content/plugins/csv-importer/readme.txt deleted file mode 100644 index 8b86c24..0000000 --- a/src/wp-content/plugins/csv-importer/readme.txt +++ /dev/null @@ -1,339 +0,0 @@ -=== CSV Importer === -Contributors: dvkob -Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4YJEU5U2Y4LTS&lc=US&item_name=Support%20CSV%20Importer%20development¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted -Tags: csv, import, batch, spreadsheet, excel -Requires at least: 2.0.2 -Tested up to: 3.0.4 -Stable tag: trunk - -Import posts from CSV files into WordPress. - - -== Description == - -This plugin imports posts from CSV (Comma Separated Value) files into your -WordPress blog. It can prove extremely useful when you want to import a bunch -of posts from an Excel document or the like - simply export your document into -a CSV file and the plugin will take care of the rest. - -= Features = - -* Imports post title, body, excerpt, tags, date, categories etc. -* Supports custom fields, custom taxonomies and comments -* Deals with Word-style quotes and other non-standard characters using - WordPress' built-in mechanism (same one that normalizes your input when you - write your posts) -* Columns in the CSV file can be in any order, provided that they have correct - headings -* Multilanguage support - - -== Screenshots == - -1. Plugin's interface - - -== Installation == - -Installing the plugin: - -1. Unzip the plugin's directory into `wp-content/plugins`. -1. Activate the plugin through the 'Plugins' menu in WordPress. -1. The plugin will be available under Tools -> CSV Importer on - WordPress administration page. - - -== Usage == - -Click on the CSV Importer link on your WordPress admin page, choose the -file you would like to import and click Import. The `examples` directory -inside the plugin's directory contains several files that demonstrate -how to use the plugin. The best way to get started is to import one of -these files and look at the results. - -CSV is a tabular format that consists of rows and columns. Each row in -a CSV file represents a post; each column identifies a piece of information -that comprises a post. - -= Basic post information = - -* `csv_post_title` - title of the post -* `csv_post_post` - body of the post -* `csv_post_type` - `post`, `page` or a custom post type. - __New in version 0.3.2__ - In prior versions, importing rows as pages could be specified on a - per-file basis using the plugins UI. In 0.3.2, `csv_post_type` column - was added to support custom post types as well. - Refer to the WordPress - [documentation on custom post types][custom_post_types] for more info - on how to set up custom post types. -* `csv_post_excerpt` - post excerpt -* `csv_post_categories` - a comma separated list of category names or ids. - __New in version 0.3.5__ - It's also possible to assign posts to non-existing subcategories, using - > to denote category relationships, e.g. `Animalia > Chordata > Mammalia`. - If any of the categories in the chain does not exist, the plugin will - automatically create it. It's also possible to specify the parent category - using an id, as in `42 > Primates > Callitrichidae`, where `42` is an - existing category id. -* `csv_post_tags` - a comma separated list of tags. -* `csv_post_date` - about any English textual description of a date and time. - For example, `now`, `11/16/2009 0:00`, `1999-12-31 23:55:00`, `+1 week`, - `next Thursday`, `last year` are all valid descriptions. For technical - details, consult PHP's `strtotime()` function [documentation][strtotime]. - -[custom_post_types]: http://codex.wordpress.org/Custom_Post_Types -[strtotime]: http://php.net/manual/en/function.strtotime.php - -= Custom fields = - -Any column that doesn't start with `csv_` is considered to be a custom field -name. The data in that column will be imported as the custom fields value. - -= General remarks = - -* WordPress pages [don't have categories or tags][pages]. -* Most columns are optional. Either `csv_post_title`, `csv_post_post` or - `csv_post_excerpt` are sufficient to create a post. If all of these - columns are empty in a row, the plugin will skip that row. -* The plugin will attempt to reuse existing categories or tags; if an - existing category or tag cannot be found, the plugin will create it. -* To specify a category that has a greater than sign (>) in the name, use - the HTML entity `>` - -[pages]: http://codex.wordpress.org/Pages - -= Advanced usage = - -* `csv_post_author` - numeric user id or login name. If not specified or - user does not exist, the plugin will assign the posts to the user - performing the import. -* `csv_post_slug` - post slug used in permalinks. -* `csv_post_parent` - post parent id. - -== Custom taxonomies == - -__New in version 0.3.0__ - -Once custom taxonomies are set up in your theme's functions.php file or -by using a 3rd party plugin, `csv_ctax_(taxonomy name)` columns can be -used to assign imported data to the taxonomies. - -__Non-hierarchical taxonomies__ - -The syntax for non-hierarchical taxonomies is straightforward and is essentially -the same as the `csv_post_tags` syntax. - -__Hierarchical taxonomies__ - -The syntax for hierarchical taxonomies is more complicated. Each hierarchical -taxonomy field is a tiny two-column CSV file, where _the order of columns -matters_. The first column contains the name of the parent term and the second -column contains the name of the child term. Top level terms have to be preceded -either by an empty string or a 0 (zero). - -Sample `examples/custom-taxonomies.csv` file included with the plugin -illustrates custom taxonomy support. To see how it works, make sure to set up -custom taxonomies from `functions.inc.php`. - -Make sure that the quotation marks used as text delimiters in `csv_ctax_` -columns are regular ASCII double quotes, not typographical quotes like “ -(U+201C) and ” (U+201D). - -== Comments == - -__New in version 0.3.1__ - -An example file with comments is included in the `examples` directory. -In short, comments can be imported along with posts by specifying columns -such as `csv_comment_*_author`, `csv_comment_*_content` etc, where * is -a comment ID number. This ID doesn't go into WordPress. It is only there -to have the connection information in the CSV file. - - -== Frequently Asked Questions == - -> I have quotation marks and commas as values in my CSV file. How do I tell CSV -Importer to use a different separator? - -It doesn't really matter what kind of separator you use if your file is -properly escaped. To see what I mean by proper escaping, take a look at -`examples/sample.csv` file which has cells with quotation marks and commas. - -If the software you use for exporting to CSV is unable to escape quotation -marks and commas, you might want to give [OpenOffice Calc][calc] a try. - -[calc]: http://www.openoffice.org/ - -> How can I import characters with diacritics, Cyrillic or Han characters? - -Make sure to save your CSV file with utf-8 encoding. - -Prior to version 6.0.4, MySQL [did not support][5] some rare Han characters. As -a workaround, you can insert characters such as 𠊎 (U+2028E) by -converting them to HTML entities - &\#x2028e; - -[5]: http://dev.mysql.com/doc/refman/5.1/en/faqs-cjk.html#qandaitem-24-11-1-13 - -> I cannot import anything - the plugin displays "Imported 0 posts in 0.01 -seconds." - -Update to version 0.3.1 or greater. Previous versions required write access to -the /tmp directory and the plugin failed if access was denied by PHP's safe -mode or other settings. - -> I'm importing a file, but not all rows in it are imported and I don't see -a confirmation message. Why? - -WordPress can be many things, but one thing it's not is blazing fast. The -reason why not all rows are imported and there's no confirmation message is -that the plugin times out during execution - PHP decides that it has been -running too long and terminates it. - -There are a number of solutions you can try. First, make sure that you're not -using any plugins that may slow down post insertion. For example, a Twitter -plugin might attempt to tweet every post you import - not a very good idea -if you have 200 posts. Second, you can break up a file into smaller chunks that -take less time to import and therefore will not cause the plugin to time out. -Third, you can try adjusting PHP's `max_execution_time` option that sets how -long scripts are allowed to run. Description of how to do it is beyond the -scope of this FAQ - you should search the web and/or use your web host's help -to find out how. However, putting the following line in `.htaccess` file inside -public_html directory works for some people: - - # Sets max execution time to 2 minutes. Adjust as necessary. - php_value max_execution_time 120 - -The problem can be approached from another angle, namely instead of giving -scripts more time to run making them run faster. There's not much I can do to -speed up the plugin (you can contact me at dvkobozev at gmail.com if you like -to prove me wrong), so you can try to speed up WordPress. It is a pretty broad -topic, ranging from database optimizations to PHP accelerators such as APC, -eAccelerator or XCache, so I'm afraid you're on your own here. - -> I receive the following error when I try to import my CSV file: "Invalid CSV -file: header length and/or row lengths do not match". What's wrong with your -plugin/my file? - -Short answer: update to version 0.2.0 or later. Longer answer: the number of -fields (values) in rows in your file does not match the number of columns. -Version 0.2.0 pads such rows with empty values (if there are more columns than -cells in a row) or discards extra fields (if there are less columns than cells -in a row). - -> I'm getting the following error: `Parse error: syntax error, unexpected -T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in .../public_html/wp-content/plugins/csv-importer/File_CSV_DataSource/DataSource.php -on line 61`. What gives? - -This plugin requires PHP5, while you probably have PHP4 or older. Update your -PHP installation or ask your hosting provider to do it for you. - - -== Credits == - -This plugin uses [php-csv-parser][3] by Kazuyoshi Tlacaelel. -It was inspired by JayBlogger's [CSV Import][4] plugin. - -Contributors: - -* Kevin Hagerty (post_author support) -* Edir Pedro (root category option and tableless HTML markup) -* Frank Loeffler (comments support) -* Micah Gates (subcategory syntax) - -[3]: http://code.google.com/p/php-csv-parser/ -[4]: http://www.jayblogger.com/the-birth-of-my-first-plugin-import-csv/ - - -== Changelog == - -= 0.3.6 = -* Fix category cleanup bug - -= 0.3.5 = -* Added 'greater-than' category syntax -* Updated the docs - -= 0.3.4 = -* Added csv_post_parent column -* Updated the docs -* Got rid of a deprecation warning - -= 0.3.3 = -* Fixes incompatibility with versions of WordPress prior to 3.0 introduced - in previous release. - -= 0.3.2 = -* Added ability to specify custom post type. - -= 0.3.1 = -* Import comments. -* Updated php-csv-parser - the plugin should no longer create files in /tmp. - -= 0.3.0 = -* Custom taxonomies. - -= 0.2.4 = -* Root category selection, cleaner HTML. - -= 0.2.3 = -* Slight speed increase, support for post_author and post_name. - -= 0.2.2 = -* Bugfix release to deal with BOM that may occur in UTF-8 encoded files. - -= 0.2.1 = -* Ability to import rows as pages, not posts. -* Starting with this version, you can also specify category ids instead of - names. - -= 0.2.0 = -* Ability to handle CSV files where the number of cells in rows does not - match the number of columns -* Smart date parsing -* Code cleanup. - -= 0.1.3 = -* New option to import posts with published status. - -= 0.1.2 = -* Added support for post excerpts. - -= 0.1.1 = -* Code cleanup -* Changed column names for CSV input. Sorry if it breaks anything for you, - folks, but it had to be done in order to allow for custom fields such as - `title` ([All in One SEO Pack][1] uses those, for example). - -= v0.1.0 = -* Initial version of the plugin - -[1]: http://wordpress.org/extend/plugins/all-in-one-seo-pack/ - - -== Upgrade Notice == - -= 0.3.6 = -Fix for 'Invalid argument supplied for foreach() on line 268' error message - -= 0.3.5 = -Subcategory creation support. Documentation update. - -= 0.3.4 = -Post parent support. Documentation update. - -= 0.3.3 = -Fixes "Call to undefined function post_type_exists()" error for versions of -Wordpress prior to 3.0 - -= 0.3.2 = -Adds support for custom post types. Option to import pages has been removed from -the interface. To import a page, add csv_post_type column to your csv file and -set it to "page". - -= 0.3.1 = -Adds support for comments - -= 0.3.0 = -Adds support for custom taxonomies - diff --git a/src/wp-content/plugins/csv-importer/screenshot-1.png b/src/wp-content/plugins/csv-importer/screenshot-1.png deleted file mode 100644 index 2a163c1..0000000 Binary files a/src/wp-content/plugins/csv-importer/screenshot-1.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/about.php b/src/wp-content/plugins/nextgen-gallery/admin/about.php deleted file mode 100644 index 271846f..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/about.php +++ /dev/null @@ -1,183 +0,0 @@ - - -
- -

-
-
-

-
-

Alex Rabe.

-

-
-
- -
-

-
-

-
    -

  • -

  • -

  • -
    - - - - - - - - - - - -
    -
  • -

  • -
-
-
-
-

-
-

-

HEIKE,

-
-
-
-
- - 'http://www.anty.at/', - 'Bjoern von Prollius (Code contributor)' => 'http://www.prollius.de/', - 'Simone Fumagalli (Code contributor)' => 'http://www.iliveinperego.com/', - 'Vincent Prat (Code contributor)' => 'http://www.vincentprat.info', - 'Frederic De Ranter (AJAX code contributor)' => 'http://li.deranter.com/', - 'Christian Arnold (Code contributor)' => 'http://blog.arctic-media.de/', - 'Thomas Matzke (Album code contributor)' => 'http://mufuschnu.mu.funpic.de/', - 'KeViN (Sidebar Widget developer)' => 'http://www.kev.hu/', - 'Lazy (German Translation)' => 'http://www.lazychris.de/', - 'Lise (French Translation)' => 'http://liseweb.fr/', - 'Anja (Dutch Translation)' => 'http://www.werkgroepen.net/wordpress', - 'Adrian (Indonesian Translation)' => 'http://adrian.web.id/', - 'Gaspard Tseng / SillyCCSmile (Chinese Translation)' => '', - 'Mika Pennanen (Finnish Translation)' => 'http://kapsi.fi/~penni', - 'Wojciech Owczarek (Polish Translation)' => 'http://www.owczi.net', - 'Dilip Ramirez (Spanish Translation)' => 'http://jmtd.110mb.com/blog', - 'Oleinikov Vedmak Evgeny (Russian Translation)' => 'http://ka-2-03.mirea.org/', - 'Sebastien MALHERBE (Logo design)' => 'http://www.7vision.com/', - 'Claudia (German documentation)' => 'http://www.blog-werkstatt.de/', - 'Robert (German documentation)' => 'http://www.curlyrob.de/', - 'Pierpaolo Mannone (Italian Translation)' => 'http://www.interscambiocasa.com/', - 'Mattias Tengblad (Swedish Translation)' => 'http://wp-support.se/', - 'Müfit Kiper (Swedish Translation)' => 'http://www.kiper.se/', - 'Gil Yaker (Documentation)' => 'http://bamboosoup.com/', - 'Morten Johansen (Danish Translation)' => 'http://www.fr3ak.dk/', - 'Vidar Seland (Norwegian Translation)' => 'http://www.viidar.net/', - 'Emre Güler (Turkish Translation)' => 'http://www.emreguler.com/', - 'Emilio Lauretti (Italian Translation)' => '', - 'Jan Angelovic (Czech Translation)' => 'http://www.angelovic.cz/', - 'Laki (Slovak Translation)' => 'http://www.laki.sk/', - 'Rowan Crane (WPMU support)' => 'http://blog.rowancrane.com/', - 'Kuba Zwolinski (Polish Translation)' => 'http://kubazwolinski.com/', - 'Rina Jiang (Chinese Translation)' => 'http://http://mysticecho.net/', - 'Anthony (Chinese Translation)' => 'http://www.angryouth.com/', - 'Milan Vasicek (Czech Translation)' => 'http://www.NoWorkTeam.cz/', - 'Joo Gi-young (Korean Translation)' => 'http://lombric.linuxstudy.pe.kr/wp/', - 'Oleg A. Safonov (Russian Translation)' => 'http://blog.olart.ru', - 'AleXander Kirichev (Bulgarian Translation)' => 'http://xsakex.art-bg.org/', - 'Richer Yang (Chinese Translation)' => 'http://fantasyworld.idv.tw/', - 'Bill Jones (Forums contributor)' => 'http://jonesphoto.bluehorizoninternet.com/', - 'TheDonSansone (Forums contributor)' => 'http://abseiling.200blogs.co.uk/', - 'Komyshov (Russian Translation)' => 'http://kf-web.ru/', - 'aleX Zhang (Chinese Translation)' => 'http://zhangfei.info/', - 'TheSoloist (Chinese Translation)' => 'http://www.soloist-ic.cn/', - 'Nica Luigi Cristian (Romanian Translation)' => 'http://www.cristiannica.com/', - 'Zdenek Hatas (Czech Translation)' => '', - 'David Potter (Documentation and Help)' => 'http://dpotter.net/', - 'Carlale Chen (Chinese Translation)' => 'http://0-o-0.cc/', - 'Nica Luigi Cristian (Romanian Translation)' => 'http://www.cristiannica.com/', - 'Igor Shevkoplyas (Russian Translation)' => 'http://www.russian-translation-matters.com', - 'Alexandr Kindras (Code contributor)' => 'http://www.fixdev.com', - 'Manabu Togawa (Japanese Translation)' => 'http://www.churadesign.com/', - 'Serhiy Tretyak (Ukrainian Translation)' => 'http://designpoint.com.ua/', - 'Janis Grinvalds (Latvian Translation)' => 'http://riga.bmxrace.lv/', - 'Kristoffer Thøring (Norwegian Translation)' => '', - 'Flactarus (Italian Translation)' => 'http://www.giroevago.it', - 'Felip Alfred Galitó i Trilla (Catalan Translation)' => 'http://www.bratac.cat', - 'Luka Komac (Slovenian Translation)' => 'http://www.komac.biz', - 'Dimitris Ikonomou / Nikos Mouratidis (Greek Translation)' => 'http://www.kepik.gr' - ); - - ksort($contributors); - $i = count($contributors); - foreach ($contributors as $name => $url) - { - if ($url) - echo "$name"; - else - echo $name; - $i--; - if ($i == 1) - echo " & "; - elseif ($i) - echo ", "; - } -} - -function ngg_list_support() { -/* The list of my supporters. Thanks to all of them !*/ - - global $ngg; - - $supporter = nggAdminPanel::get_remote_array($ngg->donators); - - // Ensure that this is a array - if ( !is_array($supporter) ) - return _e('and all donators...', 'nggallery'); - - ksort($supporter); - $i = count($supporter); - foreach ($supporter as $name => $url) - { - if ($url) - echo "$name"; - else - echo $name; - $i--; - if ($i == 1) - echo " & "; - elseif ($i) - echo ", "; - } -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/addgallery.php b/src/wp-content/plugins/nextgen-gallery/admin/addgallery.php deleted file mode 100644 index d6231d5..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/addgallery.php +++ /dev/null @@ -1,417 +0,0 @@ -__construct(); - } - - /** - * nggOptions::__construct() - * - * @return void - */ - function __construct() { - - // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0 - $this->filepath = admin_url() . 'admin.php?page=' . $_GET['page']; - - //Look for POST updates - if ( !empty($_POST) ) - $this->processor(); - } - - /** - * Perform the upload and add a new hook for plugins - * - * @return void - */ - function processor() { - global $wpdb, $ngg; - - $defaultpath = $ngg->options['gallerypath']; - - if ($_POST['addgallery']){ - check_admin_referer('ngg_addgallery'); - - if ( !nggGallery::current_user_can( 'NextGEN Add new gallery' )) - wp_die(__('Cheatin’ uh?')); - - $newgallery = esc_attr( $_POST['galleryname']); - if ( !empty($newgallery) ) - nggAdmin::create_gallery($newgallery, $defaultpath); - } - - if ($_POST['zipupload']){ - check_admin_referer('ngg_addgallery'); - - if ( !nggGallery::current_user_can( 'NextGEN Upload a zip' )) - wp_die(__('Cheatin’ uh?')); - - if ($_FILES['zipfile']['error'] == 0 || (!empty($_POST['zipurl']))) - nggAdmin::import_zipfile( intval( $_POST['zipgalselect'] ) ); - else - nggGallery::show_error( __('Upload failed!','nggallery') ); - } - - if ($_POST['importfolder']){ - check_admin_referer('ngg_addgallery'); - - if ( !nggGallery::current_user_can( 'NextGEN Import image folder' )) - wp_die(__('Cheatin’ uh?')); - - $galleryfolder = $_POST['galleryfolder']; - if ( ( !empty($galleryfolder) ) AND ($defaultpath != $galleryfolder) ) - nggAdmin::import_gallery($galleryfolder); - } - - if ($_POST['uploadimage']){ - check_admin_referer('ngg_addgallery'); - - if ( !nggGallery::current_user_can( 'NextGEN Upload in all galleries' )) - wp_die(__('Cheatin’ uh?')); - - if ( $_FILES['imagefiles']['error'][0] == 0 ) - $messagetext = nggAdmin::upload_images(); - else - nggGallery::show_error( __('Upload failed! ' . nggAdmin::decode_upload_error( $_FILES['imagefiles']['error'][0]),'nggallery') ); - } - - if (isset($_POST['swf_callback'])){ - if ($_POST['galleryselect'] == '0' ) - nggGallery::show_error(__('No gallery selected !','nggallery')); - else { - // get the path to the gallery - $galleryID = (int) $_POST['galleryselect']; - $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); - nggAdmin::import_gallery($gallerypath); - } - } - - if ( isset($_POST['disable_flash']) ){ - check_admin_referer('ngg_addgallery'); - $ngg->options['swfUpload'] = false; - update_option('ngg_options', $ngg->options); - } - - if ( isset($_POST['enable_flash']) ){ - check_admin_referer('ngg_addgallery'); - $ngg->options['swfUpload'] = true; - update_option('ngg_options', $ngg->options); - } - - do_action( 'ngg_update_addgallery_page' ); - - } - - /** - * Render the page content - * - * @return void - */ - function controller() { - global $ngg, $nggdb; - - // check for the max image size - $this->maxsize = nggGallery::check_memory_limit(); - - //get all galleries (after we added new ones) - $this->gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); - - $this->defaultpath = $ngg->options['gallerypath']; - - // link for the flash file - $swf_upload_link = NGGALLERY_URLPATH . 'admin/upload.php'; - - // get list of tabs - $tabs = $this->tabs_order(); - ?> - - options['swfUpload'] && !empty ($this->gallerylist) ) { ?> - - - - - - - - - -
-
    - $tab_name) { - echo "\n\t\t
  • $tab_name
  • "; - } - ?> -
- $tab_name) { - echo "\n\t
\n"; - // Looks for the internal class function, otherwise enable a hook for plugins - if ( method_exists( $this, "tab_$tab_key" )) - call_user_func( array( &$this , "tab_$tab_key") ); - else - do_action( 'ngg_tab_content_' . $tab_key ); - echo "\n\t
"; - } - ?> -
- gallerylist) ) - $tabs['uploadimage'] = __( 'Upload Images', 'nggallery' ); - - if ( nggGallery::current_user_can( 'NextGEN Add new gallery' )) - $tabs['addgallery'] = __('Add new gallery', 'nggallery'); - - if ( wpmu_enable_function('wpmuZipUpload') && nggGallery::current_user_can( 'NextGEN Upload a zip' ) ) - $tabs['zipupload'] = __('Upload a Zip-File', 'nggallery'); - - if ( wpmu_enable_function('wpmuImportFolder') && nggGallery::current_user_can( 'NextGEN Import image folder' ) ) - $tabs['importfolder'] = __('Import image folder', 'nggallery'); - - $tabs = apply_filters('ngg_addgallery_tabs', $tabs); - - return $tabs; - - } - - function tab_addgallery() { - ?> - -

-
- - - - - - - -
:
- - defaultpath ?>
- - ( : a-z, A-Z, 0-9, -, _ )
-
-
- - -

-
- - - - - - - - - - - - - - - - -
:
-
:
-
-
maxsize; ?> -
" . ini_get('upload_max_filesize') . "Byte\n"; ?> -
-
-
- - -

-
- - - - - - -

-
-
( ) -
maxsize; ?> -
-
-
- - -

-
- - - - - - - - - - -
-
maxsize; ?> -
-
- options['swfUpload']) { ?> - - - - - -
-
- \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/admin.php b/src/wp-content/plugins/nextgen-gallery/admin/admin.php deleted file mode 100644 index 3df4f59..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/admin.php +++ /dev/null @@ -1,453 +0,0 @@ -register_columns(); - } - - // integrate the network menu - function add_network_admin_menu() { - - add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings'), 'div' ); - add_submenu_page( NGGFOLDER , __('Network settings', 'nggallery'), __('Network settings', 'nggallery'), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings')); - add_submenu_page( NGGFOLDER , __('Reset / Uninstall', 'nggallery'), __('Reset / Uninstall', 'nggallery'), 'activate_plugins', 'nggallery-setup', array (&$this, 'show_menu')); - } - - // show the network page - function show_network_settings() { - include_once ( dirname (__FILE__) . '/style.php' ); - include_once ( dirname (__FILE__) . '/wpmu.php' ); - nggallery_wpmu_setup(); - } - - // load the script for the defined page and load only this code - function show_menu() { - - global $ngg; - - // check for upgrade and show upgrade screen - if( get_option( 'ngg_db_version' ) != NGG_DBVERSION ) { - include_once ( dirname (__FILE__) . '/functions.php' ); - include_once ( dirname (__FILE__) . '/upgrade.php' ); - nggallery_upgrade_page(); - return; - } - - // Set installation date - if( empty($ngg->options['installDate']) ) { - $ngg->options['installDate'] = time(); - update_option('ngg_options', $ngg->options); - } - - // Show donation message only one time. - if (isset ( $_GET['hide_donation']) ) { - $ngg->options['hideDonation'] = true; - update_option('ngg_options', $ngg->options); - } - - if( !isset ( $ngg->options['hideDonation']) || $ngg->options['hideDonation'] !== true ) { - if ( time() > ( $ngg->options['installDate'] + ( 60 * 60 * 24 * 30 ) ) ) { - ?> -
-

donation! If you still need some help, please post your questions here .', 'nggallery')); ?> - - - - - -

-
- addgallery_page = new nggAddGallery (); - $ngg->addgallery_page->controller(); - break; - case "nggallery-manage-gallery" : - include_once ( dirname (__FILE__) . '/functions.php' ); // admin functions - include_once ( dirname (__FILE__) . '/manage.php' ); // nggallery_admin_manage_gallery - // Initate the Manage Gallery page - $ngg->manage_page = new nggManageGallery (); - // Render the output now, because you cannot access a object during the constructor is not finished - $ngg->manage_page->controller(); - break; - case "nggallery-manage-album" : - include_once ( dirname (__FILE__) . '/album.php' ); // nggallery_admin_manage_album - $ngg->manage_album = new nggManageAlbum (); - $ngg->manage_album->controller(); - break; - case "nggallery-options" : - include_once ( dirname (__FILE__) . '/settings.php' ); // nggallery_admin_options - $ngg->option_page = new nggOptions (); - $ngg->option_page->controller(); - break; - case "nggallery-tags" : - include_once ( dirname (__FILE__) . '/tags.php' ); // nggallery_admin_tags - break; - case "nggallery-style" : - include_once ( dirname (__FILE__) . '/style.php' ); // nggallery_admin_style - nggallery_admin_style(); - break; - case "nggallery-setup" : - include_once ( dirname (__FILE__) . '/setup.php' ); // nggallery_admin_setup - nggallery_admin_setup(); - break; - case "nggallery-roles" : - include_once ( dirname (__FILE__) . '/roles.php' ); // nggallery_admin_roles - nggallery_admin_roles(); - break; - case "nggallery-import" : - include_once ( dirname (__FILE__) . '/myimport.php' ); // nggallery_admin_import - nggallery_admin_import(); - break; - case "nggallery-about" : - include_once ( dirname (__FILE__) . '/about.php' ); // nggallery_admin_about - nggallery_admin_about(); - break; - //TODO: Remove after WP 3.1 release, not longer needed - case "nggallery-wpmu" : - include_once ( dirname (__FILE__) . '/style.php' ); - include_once ( dirname (__FILE__) . '/wpmu.php' ); // nggallery_wpmu_admin - nggallery_wpmu_setup(); - break; - case "nggallery" : - default : - include_once ( dirname (__FILE__) . '/overview.php' ); // nggallery_admin_overview - nggallery_admin_overview(); - break; - } - } - - function load_scripts() { - global $wp_version; - - // no need to go on if it's not a plugin page - if( !isset($_GET['page']) ) - return; - - wp_register_script('ngg-ajax', NGGALLERY_URLPATH . 'admin/js/ngg.ajax.js', array('jquery'), '1.4.1'); - wp_localize_script('ngg-ajax', 'nggAjaxSetup', array( - 'url' => admin_url('admin-ajax.php'), - 'action' => 'ngg_ajax_operation', - 'operation' => '', - 'nonce' => wp_create_nonce( 'ngg-ajax' ), - 'ids' => '', - 'permission' => __('You do not have the correct permission', 'nggallery'), - 'error' => __('Unexpected Error', 'nggallery'), - 'failure' => __('A failure occurred', 'nggallery') - ) ); - wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '2.0.1'); - wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0'); - // Until release of 3.1 not used, due to script conflict - wp_register_script('jquery-ui-autocomplete', NGGALLERY_URLPATH .'admin/js/jquery.ui.autocomplete.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.9'); - - switch ($_GET['page']) { - case NGGFOLDER : - wp_enqueue_script( 'postbox' ); - add_thickbox(); - break; - case "nggallery-manage-gallery" : - wp_enqueue_script( 'postbox' ); - wp_enqueue_script( 'ngg-ajax' ); - wp_enqueue_script( 'ngg-progressbar' ); - wp_enqueue_script( 'jquery-ui-dialog' ); - add_thickbox(); - break; - case "nggallery-manage-album" : - if ( version_compare( $wp_version, '3.0.999', '>' ) ) { - wp_enqueue_script( 'jquery-ui-autocomplete' ); - wp_enqueue_script( 'jquery-ui-dialog' ); - wp_enqueue_script( 'jquery-ui-sortable' ); - wp_enqueue_script( 'ngg-autocomplete', NGGALLERY_URLPATH .'admin/js/ngg.autocomplete.js', array('jquery-ui-autocomplete'), '1.0'); - } else { - // Due to script conflict with jQuery UI 1.8.6 - wp_deregister_script( 'jquery-ui-sortable' ); - // Package included sortable, dialog, autocomplete, tabs - wp_enqueue_script('jquery-ui', NGGALLERY_URLPATH .'admin/js/jquery-ui-1.8.6.min.js', array('jquery'), '1.8.6'); - wp_enqueue_script('ngg-autocomplete', NGGALLERY_URLPATH .'admin/js/ngg.autocomplete.js', array('jquery-ui'), '1.0'); - } - break; - case "nggallery-options" : - wp_enqueue_script( 'jquery-ui-tabs' ); - //wp_enqueue_script( 'ngg-colorpicker', NGGALLERY_URLPATH .'admin/js/colorpicker/js/colorpicker.js', array('jquery'), '1.0'); - break; - case "nggallery-add-gallery" : - wp_enqueue_script( 'jquery-ui-tabs' ); - wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.4.4' ); - wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.3' ); - wp_enqueue_script( 'ngg-ajax' ); - wp_enqueue_script( 'ngg-progressbar' ); - wp_enqueue_script( 'jquery-ui-dialog' ); - wp_enqueue_script( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.js', array('jquery'), '1.0.1' ); - break; - case "nggallery-style" : - wp_enqueue_script( 'codepress' ); - wp_enqueue_script( 'ngg-colorpicker', NGGALLERY_URLPATH .'admin/js/colorpicker/js/colorpicker.js', array('jquery'), '1.0'); - break; - - } - } - - function load_styles() { - // load the icon for the navigation menu - wp_enqueue_style( 'nggmenu', NGGALLERY_URLPATH .'admin/css/menu.css', array() ); - wp_register_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, '2.8.1', 'screen' ); - wp_register_style( 'ngg-jqueryui', NGGALLERY_URLPATH .'admin/css/jquery.ui.css', false, '1.8.5', 'screen' ); - - // no need to go on if it's not a plugin page - if( !isset($_GET['page']) ) - return; - - switch ($_GET['page']) { - case NGGFOLDER : - wp_enqueue_style( 'thickbox' ); - case "nggallery-about" : - wp_enqueue_style( 'nggadmin' ); - wp_admin_css( 'css/dashboard' ); - break; - case "nggallery-add-gallery" : - wp_enqueue_style( 'ngg-jqueryui' ); - wp_enqueue_style( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.css', false, '1.0.1', 'screen' ); - case "nggallery-options" : - wp_enqueue_style( 'nggtabs', NGGALLERY_URLPATH .'admin/css/jquery.ui.tabs.css', false, '2.5.0', 'screen' ); - wp_enqueue_style( 'nggadmin' ); - break; - case "nggallery-manage-gallery" : - case "nggallery-roles" : - case "nggallery-manage-album" : - wp_enqueue_style( 'ngg-jqueryui' ); - wp_enqueue_style( 'nggadmin' ); - wp_enqueue_style( 'thickbox' ); - break; - case "nggallery-tags" : - wp_enqueue_style( 'nggtags', NGGALLERY_URLPATH .'admin/css/tags-admin.css', false, '2.6.1', 'screen' ); - break; - case "nggallery-style" : - wp_admin_css( 'css/theme-editor' ); - wp_enqueue_style('nggcolorpicker', NGGALLERY_URLPATH.'admin/js/colorpicker/css/colorpicker.css', false, '1.0', 'screen'); - wp_enqueue_style('nggadmincp', NGGALLERY_URLPATH.'admin/css/nggColorPicker.css', false, '1.0', 'screen'); - break; - } - } - - function show_help($help, $screen) { - - // since WP3.0 it's an object - if ( is_object($screen) ) - $screen = $screen->id; - - $link = ''; - // menu title is localized... - $i18n = strtolower ( _n( 'Gallery', 'Galleries', 1, 'nggallery' ) ); - - switch ($screen) { - case 'toplevel_page_' . NGGFOLDER : - $link = __('Introduction', 'nggallery'); - break; - case "{$i18n}_page_nggallery-setup" : - $link = __('Setup', 'nggallery'); - break; - case "{$i18n}_page_nggallery-about" : - $link = __('Translation by alex rabe', 'nggallery'); - break; - case "{$i18n}_page_nggallery-roles" : - $link = __('Roles / Capabilities', 'nggallery'); - break; - case "{$i18n}_page_nggallery-style" : - $link = __('Styles', 'nggallery'); - $link .= ' | ' . __('Templates', 'nggallery') . ''; - break; - case "{$i18n}_page_nggallery-gallery" : - $link = __('Gallery management', 'nggallery'); - $link .= ' | ' . __('Gallery example', 'nggallery') . ''; - break; - case "{$i18n}_page_nggallery-manage-gallery" : - case "nggallery-manage-gallery": - case "nggallery-manage-images": - $link = __('Gallery management', 'nggallery'); - $link .= ' | ' . __('Gallery tags', 'nggallery') . ''; - break; - case "{$i18n}_page_nggallery-manage-album" : - $link = __('Album management', 'nggallery'); - $link .= ' | ' . __('Album example', 'nggallery') . ''; - $link .= ' | ' . __('Album tags', 'nggallery') . ''; - break; - case "{$i18n}_page_nggallery-tags" : - $link = __('Gallery tags', 'nggallery'); - $link .= ' | ' . __('Related images', 'nggallery') . ''; - $link .= ' | ' . __('Gallery tags', 'nggallery') . ''; - $link .= ' | ' . __('Album tags', 'nggallery') . ''; - break; - case "{$i18n}_page_nggallery-options" : - $link = __('Image management', 'nggallery'); - $link .= ' | ' . __('Custom fields', 'nggallery') . ''; - break; - } - - if ( !empty($link) ) { - $help = '
' . __('Get help with NextGEN Gallery', 'nggallery') . '
'; - $help .= '
'; - $help .= $link; - $help .= "
\n"; - $help .= '
' . __('More Help & Info', 'nggallery') . '
'; - $help .= '\n"; - } - - return $help; - } - - function edit_screen_meta($screen) { - - // menu title is localized, so we need to change the toplevel name - $i18n = strtolower ( _n( 'Gallery', 'Galleries', 1, 'nggallery' ) ); - - switch ($screen) { - case "{$i18n}_page_nggallery-manage-gallery" : - // we would like to have screen option only at the manage images / gallery page - if ( isset ($_POST['sortGallery']) ) - $screen = $screen; - else if ( ($_GET['mode'] == 'edit') || isset ($_POST['backToGallery']) ) - $screen = 'nggallery-manage-images'; - else if ( ($_GET['mode'] == 'sort') ) - $screen = $screen; - else - $screen = 'nggallery-manage-gallery'; - break; - } - - return $screen; - } - - function register_column_headers($screen, $columns) { - global $_wp_column_headers, $wp_list_table; - - if ( !isset($_wp_column_headers) ) - $_wp_column_headers = array(); - - $_wp_column_headers[$screen] = $columns; - - //TODO: Deprecated in 3.1, see http://core.trac.wordpress.org/ticket/14579 - //$wp_list_table = new _WP_List_Table_Compat($screen); - //$wp_list_table->_columns = $columns; - } - - function register_columns() { - include_once ( dirname (__FILE__) . '/manage-images.php' ); - - $this->register_column_headers('nggallery-manage-images', ngg_manage_image_columns() ); - - include_once ( dirname (__FILE__) . '/manage-galleries.php' ); - - $this->register_column_headers('nggallery-manage-galleries', ngg_manage_gallery_columns() ); - } - - /** - * Read an array from a remote url - * - * @param string $url - * @return array of the content - */ - function get_remote_array($url) { - if ( function_exists('wp_remote_request') ) { - - $options = array(); - $options['headers'] = array( - 'User-Agent' => 'NextGEN Gallery Information Reader V' . NGGVERSION . '; (' . get_bloginfo('url') .')' - ); - - $response = wp_remote_request($url, $options); - - if ( is_wp_error( $response ) ) - return false; - - if ( 200 != $response['response']['code'] ) - return false; - - $content = unserialize($response['body']); - - if (is_array($content)) - return $content; - } - - return false; - } - -} - -function wpmu_site_admin() { - // Check for site admin - if ( function_exists('is_super_admin') ) - if ( is_super_admin() ) - return true; - - return false; -} - -function wpmu_enable_function($value) { - if (is_multisite()) { - $ngg_options = get_site_option('ngg_options'); - return $ngg_options[$value]; - } - // if this is not WPMU, enable it ! - return true; -} - -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/ajax.php b/src/wp-content/plugins/nextgen-gallery/admin/ajax.php deleted file mode 100644 index e775e6c..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/ajax.php +++ /dev/null @@ -1,446 +0,0 @@ -imagePath, TRUE); - - $thumb->crop($x, $y, $w, $h); - - // Note : the routine is a bit different to create_thumbnail(), due to rounding it's resized in the other way - if ($ngg->options['thumbfix']) { - // check for portrait format - if ($thumb->currentDimensions['height'] > $thumb->currentDimensions['width']) { - // first resize to the wanted height, here changed to create_thumbnail() - $thumb->resize(0, $ngg->options['thumbheight']); - // get optimal y startpos - $ypos = ($thumb->currentDimensions['height'] - $ngg->options['thumbheight']) / 2; - $thumb->crop(0, $ypos, $ngg->options['thumbwidth'],$ngg->options['thumbheight']); - } else { - // first resize to the wanted width, here changed to create_thumbnail() - $thumb->resize($ngg->options['thumbwidth'], 0); - // - // get optimal x startpos - $xpos = ($thumb->currentDimensions['width'] - $ngg->options['thumbwidth']) / 2; - $thumb->crop($xpos, 0, $ngg->options['thumbwidth'],$ngg->options['thumbheight']); - } - //this create a thumbnail but keep ratio settings - } else { - $thumb->resize($ngg->options['thumbwidth'],$ngg->options['thumbheight']); - } - - if ( $thumb->save($picture->thumbPath, 100)) { - - //read the new sizes - $new_size = @getimagesize ( $picture->thumbPath ); - $size['width'] = $new_size[0]; - $size['height'] = $new_size[1]; - - // add them to the database - nggdb::update_image_meta($picture->pid, array( 'thumbnail' => $size) ); - - echo "OK"; - } else { - header('HTTP/1.1 500 Internal Server Error'); - echo "KO"; - } - - exit(); - -} - -add_action('wp_ajax_rotateImage', 'ngg_rotateImage'); - -function ngg_rotateImage() { - - // check for correct capability - if ( !is_user_logged_in() ) - die('-1'); - - // check for correct NextGEN capability - if ( !current_user_can('NextGEN Manage gallery') ) - die('-1'); - - require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); - - // include the ngg function - include_once (dirname (__FILE__). '/functions.php'); - - $ngg_options = get_option('ngg_options'); - - $id = (int) $_POST['id']; - $result = '-1'; - - switch ( $_POST['ra'] ) { - case 'cw' : - $result = nggAdmin::rotate_image($id, 'CW'); - break; - case 'ccw' : - $result = nggAdmin::rotate_image($id, 'CCW'); - break; - case 'fv' : - $result = nggAdmin::rotate_image($id, 0, 'V'); - break; - case 'fh' : - $result = nggAdmin::rotate_image($id, 0, 'H'); - break; - } - - // recreate the thumbnail - nggAdmin::create_thumbnail($id); - - if ( $result == 1 ) - die('1'); - - header('HTTP/1.1 500 Internal Server Error'); - die( $result ); - -} - -add_action('wp_ajax_ngg_dashboard', 'ngg_ajax_dashboard'); - -function ngg_ajax_dashboard() { - - require_once( dirname( dirname(__FILE__) ) . '/admin/admin.php'); - require_once( dirname( dirname(__FILE__) ) . '/admin/overview.php'); - - if ( !current_user_can('NextGEN Gallery overview') ) - die('-1'); - - @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) ); - @header( 'X-Content-Type-Options: nosniff' ); - - switch ( $_GET['jax'] ) { - - case 'ngg_lastdonators' : - ngg_overview_donators(); - break; - - case 'dashboard_primary' : - ngg_overview_news(); - break; - - case 'ngg_locale' : - ngg_locale(); - break; - - case 'dashboard_plugins' : - ngg_related_plugins(); - break; - - } - die(); -} - -add_action('wp_ajax_ngg_file_browser', 'ngg_ajax_file_browser'); - -/** - * jQuery File Tree PHP Connector - * @author Cory S.N. LaViska - A Beautiful Site (http://abeautifulsite.net/) - * @version 1.0.1 - * - * @return string folder content - */ -function ngg_ajax_file_browser() { - - global $ngg; - - // check for correct NextGEN capability - if ( !current_user_can('NextGEN Upload images') && !current_user_can('NextGEN Manage gallery') ) - die('No access'); - - if ( !defined('ABSPATH') ) - die('No access'); - - // if nonce is not correct it returns -1 - check_ajax_referer( 'ngg-ajax', 'nonce' ); - - //PHP4 compat script - if (!function_exists('scandir')) { - function scandir($dir, $listDirectories = false, $skipDots = true ) { - $dirArray = array(); - if ($handle = opendir($dir) ) { - while (false !== ($file = readdir($handle))) { - if (($file != '.' && $file != '..' ) || $skipDots == true) { - if($listDirectories == false) { if(is_dir($file)) { continue; } } - array_push($dirArray, basename($file) ); - } - } - closedir($handle); - } - return $dirArray; - } - } - - // start from the default path - $root = trailingslashit ( WINABSPATH ); - // get the current directory - $dir = trailingslashit ( urldecode($_POST['dir']) ); - - if( file_exists($root . $dir) ) { - $files = scandir($root . $dir); - natcasesort($files); - - // The 2 counts for . and .. - if( count($files) > 2 ) { - echo "
    "; - - // return only directories - foreach( $files as $file ) { - - //reserved name for the thumnbnails, don't use it as folder name - if ( $file == 'thumbs') - continue; - - if ( file_exists($root . $dir . $file) && $file != '.' && $file != '..' && is_dir($root . $dir . $file) ) { - echo "
  • " . esc_html($file) . "
  • "; - } - } - - echo "
"; - } - } - - die(); -} - -add_action('wp_ajax_ngg_tinymce', 'ngg_ajax_tinymce'); -/** - * Call TinyMCE window content via admin-ajax - * - * @since 1.7.0 - * @return html content - */ -function ngg_ajax_tinymce() { - - // check for rights - if ( !current_user_can('edit_pages') && !current_user_can('edit_posts') ) - die(__("You are not allowed to be here")); - - include_once( dirname( dirname(__FILE__) ) . '/admin/tinymce/window.php'); - - die(); -} - -add_action( 'wp_ajax_ngg_rebuild_unique_slugs', 'ngg_ajax_rebuild_unique_slugs' ); -/** - * This rebuild the slugs for albums, galleries and images as ajax routine, max 50 elements per request - * - * @since 1.7.0 - * @return string '1' - */ -function ngg_ajax_rebuild_unique_slugs() { - global $wpdb; - - $action = $_POST['_action']; - $offset = (int) $_POST['offset']; - - switch ($action) { - case 'images': - $images = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures ORDER BY pid ASC LIMIT $offset, 50", OBJECT_K); - if ( is_array($images) ) { - foreach ($images as $image) { - //slug must be unique, we use the alttext for that - $image->slug = nggdb::get_unique_slug( sanitize_title( $image->alttext ), 'image' ); - $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggpictures SET image_slug= '%s' WHERE pid = '%d'" , $image->slug, $image->pid ) ); - } - } - break; - case 'gallery': - $galleries = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC LIMIT $offset, 50", OBJECT_K); - if ( is_array($galleries) ) { - foreach ($galleries as $gallery) { - //slug must be unique, we use the title for that - $gallery->slug = nggdb::get_unique_slug( sanitize_title( $gallery->title ), 'gallery' ); - $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggallery SET slug= '%s' WHERE gid = '%d'" , $gallery->slug, $gallery->gid ) ); - } - } - break; - case 'album': - $albumlist = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY id ASC LIMIT $offset, 50", OBJECT_K); - if ( is_array($albumlist) ) { - foreach ($albumlist as $album) { - //slug must be unique, we use the name for that - $album->slug = nggdb::get_unique_slug( sanitize_title( $album->name ), 'album' ); - $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggalbum SET slug= '%s' WHERE id = '%d'" , $album->slug, $album->id ) ); - } - } - break; - } - - die(1); -} -add_action('wp_ajax_ngg_image_check', 'ngg_ajax_image_check'); -/** - * Test for various image resolution - * - * @since 1.7.3 - * @return result - */ -function ngg_ajax_image_check() { - - // check for correct NextGEN capability - if ( !current_user_can('NextGEN Upload images') ) - die('No access'); - - if ( !defined('ABSPATH') ) - die('No access'); - - $step = (int) $_POST['step']; - - // build the test sizes - $sizes = array(); - $sizes[1] = array ( 'width' => 800, 'height' => 600); - $sizes[2] = array ( 'width' => 1024, 'height' => 768); - $sizes[3] = array ( 'width' => 1280, 'height' => 960); // 1MP - $sizes[4] = array ( 'width' => 1600, 'height' => 1200); // 2MP - $sizes[5] = array ( 'width' => 2016, 'height' => 1512); // 3MP - $sizes[6] = array ( 'width' => 2272, 'height' => 1704); // 4MP - $sizes[7] = array ( 'width' => 2560, 'height' => 1920); // 5MP - $sizes[8] = array ( 'width' => 2848, 'height' => 2136); // 6MP - $sizes[9] = array ( 'width' => 3072, 'height' => 2304); // 7MP - $sizes[10] = array ( 'width' => 3264, 'height' => 2448); // 8MP - $sizes[11] = array ( 'width' => 4048, 'height' => 3040); // 12MP - - if ( $step < 1 || $step > 11 ) - die('No vaild value'); - - // let's test each image size - $temp = imagecreatetruecolor ($sizes[$step]['width'], $sizes[$step]['height'] ); - imagedestroy ($temp); - - $result = array ('stat' => 'ok', 'message' => sprintf(__('Could create image with %s x %s pixel', 'nggallery'), $sizes[$step]['width'], $sizes[$step]['height'] ) ); - - header('Content-Type: application/json; charset=' . get_option('blog_charset'), true); - echo json_encode($result); - - die(); -} - -add_action('wp_ajax_ngg_test_head_footer', 'ngg_ajax_test_head_footer'); -/** - * Check for the header / footer, parts taken from Matt Martz (http://sivel.net/) - * - * @see https://gist.github.com/378450 - * @since 1.7.3 - * @return result - */ -function ngg_ajax_test_head_footer() { - - // Build the url to call, NOTE: uses home_url and thus requires WordPress 3.0 - $url = add_query_arg( array( 'test-head' => '', 'test-footer' => '' ), home_url() ); - // Perform the HTTP GET ignoring SSL errors - $response = wp_remote_get( $url, array( 'sslverify' => false ) ); - // Grab the response code and make sure the request was sucessful - $code = (int) wp_remote_retrieve_response_code( $response ); - if ( $code == 200 ) { - global $head_footer_errors; - $head_footer_errors = array(); - - // Strip all tabs, line feeds, carriage returns and spaces - $html = preg_replace( '/[\t\r\n\s]/', '', wp_remote_retrieve_body( $response ) ); - - // Check to see if we found the existence of wp_head - if ( ! strstr( $html, '' ) ) - die('Missing the call to in your theme'); - // Check to see if we found the existence of wp_footer - if ( ! strstr( $html, '' ) ) - die('Missing the call to in your theme'); - } - die('success'); -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/album.php b/src/wp-content/plugins/nextgen-gallery/admin/album.php deleted file mode 100644 index 8cdd0a6..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/album.php +++ /dev/null @@ -1,582 +0,0 @@ -__construct(); - } - - /** - * Init the album output - * - */ - function __construct() { - return true; - } - - function controller() { - global $nggdb; - - $this->currentID = isset($_POST['act_album']) ? (int) $_POST['act_album'] : 0 ; - - if (isset ($_POST['update']) || isset( $_POST['delete'] ) || isset( $_POST['add'] ) ) - $this->processor(); - - if (isset ($_POST['update_album']) ) - $this->update_album(); - - // get first all galleries & albums - $this->albums = $nggdb->find_all_album(); - $this->galleries = $nggdb->find_all_galleries(); - $this->num_albums = count( $this->albums ); - $this->num_galleries = count( $this->galleries ); - $this->output(); - - } - - function processor() { - global $wpdb; - - check_admin_referer('ngg_album'); - - if ( isset($_POST['add']) && isset ($_POST['newalbum']) ) { - - if (!nggGallery::current_user_can( 'NextGEN Add/Delete album' )) - wp_die(__('Cheatin’ uh?')); - - $result = nggdb::add_album( $_POST['newalbum'] ); - $this->currentID = ($result) ? $result : 0 ; - - if ($result) - nggGallery::show_message(__('Update Successfully','nggallery')); - } - - if ( isset($_POST['update']) && ($this->currentID > 0) ) { - - $gid = ''; - - // get variable galleryContainer - parse_str($_POST['sortorder']); - if ( is_array($gid) ){ - $serial_sort = serialize($gid); - $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '$serial_sort' WHERE id = $this->currentID "); - } else { - $wpdb->query("UPDATE $wpdb->nggalbum SET sortorder = '0' WHERE id = $this->currentID "); - } - nggGallery::show_message(__('Update Successfully','nggallery')); - - } - - if ( isset($_POST['delete']) ) { - - if (!nggGallery::current_user_can( 'NextGEN Add/Delete album' )) - wp_die(__('Cheatin’ uh?')); - - $result = nggdb::delete_album( $this->currentID ); - - $this->currentID = 0; - - if ($result) - nggGallery::show_message(__('Album deleted','nggallery')); - } - - } - - function update_album() { - global $wpdb, $nggdb; - - check_admin_referer('ngg_thickbox_form'); - - if (!nggGallery::current_user_can( 'NextGEN Edit album settings' )) - wp_die(__('Cheatin’ uh?')); - - $name = $_POST['album_name']; - $desc = $_POST['album_desc']; - $prev = (int) $_POST['previewpic']; - $link = (int) $_POST['pageid']; - - // slug must be unique, we use the title for that - $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' ); - - $result = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggalbum SET slug= '%s', name= '%s', albumdesc= '%s', previewpic= %d, pageid= %d WHERE id = '%d'" , $slug, $name, $desc, $prev, $link, $this->currentID ) ); - - //hook for other plugin to update the fields - do_action('ngg_update_album', $this->currentID, $_POST); - - if ($result) - nggGallery::show_message(__('Update Successfully','nggallery')); - } - - function output() { - - global $wpdb, $nggdb; - - //TODO:Code MUST be optimized, how to flag a used gallery better ? - $used_list = $this->get_used_galleries(); - -?> - - - -
- -

-
- - -
-
- - - currentID > 0){ ?> - - - - - - - - - -   - - - - -
-
-
- -
- -
-
- - | - | -
- -
- -
- -
- - -
-
-

-
-
- albums ) ) { - foreach($this->albums as $album) { - $this->get_container('a' . $album->id); - } - } - ?> -
-
- - -
-
-

-
-
- galleries ) ) { - //get the array of galleries - $sort_array = $this->currentID > 0 ? (array) $this->albums[$this->currentID]->galleries : array() ; - foreach($this->galleries as $gallery) { - if (!in_array($gallery->gid, $sort_array)) { - if (in_array($gallery->gid,$used_list)) - $this->get_container($gallery->gid,true); - else - $this->get_container($gallery->gid,false); - } - } - } - ?> -
-
- - -
- - currentID > 0){ - $album = $this->albums[$this->currentID]; - ?> -
-

id . ' : ' . $album->name; ?>

-
-
- albums[$this->currentID]->galleries; - foreach($sort_array as $galleryid) { - $this->get_container($galleryid, false); - } - } - else - { - ?> -
-

-
-
- -
-
- -
-
- - - - - -albums[ substr( $id, 1) ] ) - return; - - $obj['id'] = $album->id; - $obj['name'] = $obj['title'] = $album->name; - $class = 'album_obj'; - - // get the post name - $post = get_post($album->pageid); - $obj['pagenname'] = ($post == null) ? '---' : $post->post_title; - - // for speed reason we limit it to 50 - if ( $this->num_albums < 50 ) { - if ($album->previewpic != 0) { - $image = $nggdb->find_image( $album->previewpic ); - $preview_image = ( !is_null($image->thumbURL) ) ? '
' : ''; - } - } - - // this indicates that we have a album container - $prefix = 'a'; - - } else { - if ( !$gallery = $nggdb->find_gallery( $id ) ) - return; - - $obj['id'] = $gallery->gid; - $obj['name'] = $gallery->name; - $obj['title'] = $gallery->title; - - // get the post name - $post = get_post($gallery->pageid); - $obj['pagenname'] = ($post == null) ? '---' : $post->post_title; - - // for spped reason we limit it to 50 - if ( $this->num_galleries < 50 ) { - // set image url - $image = $nggdb->find_image( $gallery->previewpic ); - $preview_image = isset($image->thumbURL) ? '
' : ''; - } - - $prefix = ''; - } - - // add class if it's in use in other albums - $used = $used ? ' inUse' : ''; - - echo '
-
-
- [-] - ID: ' . $obj['id'] . ' | ' . wp_html_excerpt( nggGallery::i18n( $obj['title'] ) , 25) . ' -
-
- ' . $preview_image . ' -

' . __('Name', 'nggallery') . ' : ' . nggGallery::i18n( $obj['name'] ) . '

-

' . __('Title', 'nggallery') . ' : ' . nggGallery::i18n( $obj['title'] ) . '

-

' . __('Page', 'nggallery'). ' : ' . nggGallery::i18n( $obj['pagenname'] ) . '

- ' . apply_filters('ngg_display_album_item_content', '', $obj['id']) . ' -
-
-
'; - } - - /** - * get all used galleries from all albums - * - * @return array $used_galleries_ids - */ - function get_used_galleries() { - - $used = array(); - - if ($this->albums) { - foreach($this->albums as $key => $value) { - $sort_array = $this->albums[$key]->galleries; - foreach($sort_array as $galleryid) { - if (!in_array($galleryid, $used)) - $used[] = $galleryid; - } - } - } - - return $used; - } - - /** - * PHP5 style destructor - * - * @return bool Always true - */ - function __destruct() { - return true; - } - -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/images/dropdown.png b/src/wp-content/plugins/nextgen-gallery/admin/css/images/dropdown.png deleted file mode 100644 index 3ae6179..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/css/images/dropdown.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-anim_basic_16x16.gif b/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-anim_basic_16x16.gif deleted file mode 100644 index 085ccae..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-anim_basic_16x16.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_222222_256x240.png b/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_222222_256x240.png deleted file mode 100644 index b273ff1..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_222222_256x240.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_cccccc_256x240.png b/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_cccccc_256x240.png deleted file mode 100644 index 9254e05..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_cccccc_256x240.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_ffffff_256x240.png b/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_ffffff_256x240.png deleted file mode 100644 index 42f8f99..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/css/images/ui-icons_ffffff_256x240.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/jquery.ui.css b/src/wp-content/plugins/nextgen-gallery/admin/css/jquery.ui.css deleted file mode 100644 index cce17f9..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/jquery.ui.css +++ /dev/null @@ -1,139 +0,0 @@ -/* - * jQuery UI CSS Framework @VERSION - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - -/* Icons -----------------------------------*/ -.ui-icon-triangle-1-s { background-position: -64px -16px; } - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - -/* jQuery UI CSS Framework @VERSION */ - -/* Component containers -----------------------------------*/ -.ui-widget-content { background: #fcfdfd 50% bottom repeat-x; color: #222222; } -/* .ui-widget-content a { color: #222222; } */ -.ui-widget-header { background: #222222 50% 50% repeat-x; color: #CFCFCF; } -.ui-widget-header a { color: #CFCFCF; } - -/* Interaction states -----------------------------------*/ -.ui-dialog-titlebar-close:hover { border: 1px solid #464646; background: #464646 50% 50% repeat-x; font-weight: normal; color: #ffffff; } -.ui-widget :active { outline: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_cccccc_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_cccccc_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_cccccc_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } - -/* positioning */ -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; } -.ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } -.ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } -.ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } -.ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } -.ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } -.ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } - -/* Overlays */ -.ui-widget-overlay { background: #000000 50% 50% repeat-x; opacity: .75;filter:Alpha(Opacity=75); } -.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000 50% 50% repeat-x; opacity: .75;filter:Alpha(Opacity=75); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* - -/* jQuery UI Resizable */ -.ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } -.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } -.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } -.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - -/* jQuery UI Dialog */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog { -moz-box-shadow: rgba(0,0,0,1) 0 4px 30px; -webkit-box-shadow: rgba(0,0,0,1) 0 4px 30px; -khtml-box-shadow: rgba(0,0,0,1) 0 4px 30px; box-shadow: rgba(0,0,0,1) 0 4px 30px; } -.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } -.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } -.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } -.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } -.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } - -/* jQuery UI Progressbar */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } - -/* jQuery UI Dialog loading spinner */ -#spinner {display: none; width:100px; height: 100px; position: fixed; top: 50%; left: 50%; background:url(../../images/loader.gif) no-repeat center #fff; padding:10px; border:1px solid #666; margin-left: -50px; margin-top: -50px; z-index:2; overflow: auto; } - -/* jQuery Autocomplete */ -.ui-autocomplete { position: absolute; cursor: default; } -.ui-autocomplete-start { background: white url('images/dropdown.png') right center no-repeat; } -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ -.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; } -/* this limit the height of the result list*/ -.ui-autocomplete { max-height: 90px; overflow-y: auto; } -* html .ui-autocomplete { height: 90px; } -.ui-autocomplete .ui-state-hover, .ui-autocomplete .ui-widget-content .ui-state-hover { background: #1e90ff; color: #FFFFFF !important; } -.ui-widget-content { border: 1px solid #dddddd; border-style:outset; background: #FFFFFF; } -.ui-autocomplete, .ui-autocomplete .ui-corner-all { -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; } -.ui-menu { list-style:none; padding: 1px; margin: 0; display:block; float: left; } -.ui-menu .ui-menu { margin-top: -3px; } -.ui-menu .ui-menu-item { margin:0; padding:0; zoom:1; float:left; clear:left; width:100%; } -.ui-menu .ui-menu-item a { text-decoration:none; display:block; zoom:1; color: black;} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/jquery.ui.tabs.css b/src/wp-content/plugins/nextgen-gallery/admin/css/jquery.ui.tabs.css deleted file mode 100644 index 09f1892..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/jquery.ui.tabs.css +++ /dev/null @@ -1,158 +0,0 @@ -/* Caution! Ensure accessibility in print and other media types... */ -@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */ - .ui-tabs-hide { - display: none; - } -} - -/* Hide useless elements in print layouts... */ -@media print { - .ui-tabs-nav { - display: none; - } -} - -/* Skin */ -#slider { - border-color:#EBEBEB rgb(204, 204, 204) rgb(204, 204, 204) rgb(235, 235, 235); - border-style:solid; - border-width:1px; - margin:15px 15% 0pt 15px; - padding:2px; -} -#tabs{ - display: block; - background:#F1F1F1 none repeat scroll 0%; - font-size:14px; - overflow:hidden; -} - -.ui-tabs-nav { - list-style: none; - margin: 0; - padding: 0 0 0 10px; -} -.ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */ - display: block; - clear: both; - content: " "; -} -.ui-tabs-nav li { - float: left; - padding: 6px 5px; - min-width: 84px; /* be nice to Opera */ - margin: 2px 2px 0px 1px !important; - text-decoration: none; - list-style: none; -} -.ui-tabs-nav a, .ui-tabs-nav a span { - display: block; - padding: 0 1px; -} - -.ui-tabs-nav a { - margin: 1px 0 0; /* position: relative makes opacity fail for disabled tab in IE */ - padding-left: 0; - color: #2583AD; - line-height: 1.2; - text-align: center; - text-decoration: none; - white-space: nowrap; /* required in IE 6 */ - outline: 0; /* prevent dotted border in Firefox */ -} -.ui-tabs-nav .ui-tabs-selected{ - background: #6D6D6D url(../images/menu-bits.gif) repeat-x scroll left top; - border-color: #6D6D6D; - color: #FFFFFF; - text-shadow:0 -1px 0 #666666; - - -moz-border-radius-topright: 6px; - -khtml-border-top-right-radius: 6px; - -webkit-border-top-right-radius: 6px; - border-top-right-radius: 6px; - -moz-border-radius-topleft: 6px; - -khtml-border-top-left-radius: 6px; - -webkit-border-top-left-radius: 6px; - border-top-left-radius: 6px; -} - -.ui-tabs-selected a, -.ui-tabs-selected a:hover { - color:#FFFFFF !important; -} - -.ui-tabs-nav .ui-tabs-selected a, -.ui-tabs-nav .ui-tabs-selected a:hover { - position: relative; - top: 1px; - z-index: 2; - margin-top: 0; -} - -.ui-tabs-nav li a:hover { - color:#D54E21; -} - -.ui-tabs-nav a span { - width: 64px; /* IE 6 treats width as min-width */ - min-width: 64px; - height: 18px; /* IE 6 treats height as min-height */ - min-height: 18px; - padding-top: 6px; - padding-right: 0; -} -*>.ui-tabs-nav a span { /* hide from IE 6 */ - width: auto; - height: auto; -} -.ui-tabs-nav .ui-tabs-selected a span { - padding-bottom: 1px; -} -.ui-tabs-nav .ui-tabs-selected a, .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active { - background-position: 100% -150px; -} -.ui-tabs-nav a, .ui-tabs-nav .ui-tabs-disabled a:hover, .ui-tabs-nav .ui-tabs-disabled a:focus, .ui-tabs-nav .ui-tabs-disabled a:active { - background-position: 100% -100px; -} -.ui-tabs-nav .ui-tabs-selected a span, .ui-tabs-nav a:hover span, .ui-tabs-nav a:focus span, .ui-tabs-nav a:active span { - background-position: 0 -50px; -} -.ui-tabs-nav a span, .ui-tabs-nav .ui-tabs-disabled a:hover span, .ui-tabs-nav .ui-tabs-disabled a:focus span, .ui-tabs-nav .ui-tabs-disabled a:active span { - background-position: 0 0; -} -.ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ - cursor: text; -} -.ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active, -.ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */ - cursor: pointer; -} -.ui-tabs-disabled { - opacity: .4; - filter: alpha(opacity=40); -} -.ui-tabs-panel { - border-top: 1px solid #97a5b0 !important; - padding: 1em 8px; - background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */ - - /* overwrite wp-admin */ - border:none !important; - height:100% !important; - margin:0pt 0pt 0pt 0px !important; - overflow:visible !important; -} - -.ui-tabs-panel a { - display:inline; -} - - -/* Additional IE specific bug fixes... */ -* html .ui-tabs-nav { /* auto clear, @ IE 6 & IE 7 Quirks Mode */ - display: inline-block; -} -*:first-child+html .ui-tabs-nav { /* @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */ - display: inline-block; -} - diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/menu.css b/src/wp-content/plugins/nextgen-gallery/admin/css/menu.css deleted file mode 100644 index 510ecb1..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/menu.css +++ /dev/null @@ -1,14 +0,0 @@ -#adminmenu #toplevel_page_nextgen-gallery div.wp-menu-image, -#oam_toplevel_page_nextgen-gallery div.wp-menu-image { - background: transparent url('../images/nextgen_16_grey.png') no-repeat scroll 6px 6px; -} -#adminmenu #toplevel_page_nextgen-gallery:hover div.wp-menu-image, -#adminmenu #toplevel_page_nextgen-gallery.wp-has-current-submenu div.wp-menu-image, -#adminmenu #toplevel_page_nextgen-gallery.current div.wp-menu-image, -#oam_toplevel_page_nextgen-gallery:hover div.wp-menu-image { - background: transparent url('../images/nextgen_16_color.png') no-repeat scroll 6px 6px; -} - -#icon-nextgen-gallery { - background:url("../images/nextgen_32_grey.png") no-repeat scroll 1px 1px transparent; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/nggColorPicker.css b/src/wp-content/plugins/nextgen-gallery/admin/css/nggColorPicker.css deleted file mode 100644 index 6b7775f..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/nggColorPicker.css +++ /dev/null @@ -1,14 +0,0 @@ -#colorSelector{ - background:transparent url(../images/select.png) repeat scroll 0 0; - height:36px; - position:relative; - width:36px; -} -#colorSelector div{ - background:transparent url(../images/select.png) repeat scroll center center; - height:30px; - left:3px; - position:absolute; - top:3px; - width:30px; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/nggSorter.css b/src/wp-content/plugins/nextgen-gallery/admin/css/nggSorter.css deleted file mode 100644 index e0d61b9..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/nggSorter.css +++ /dev/null @@ -1,76 +0,0 @@ -.imageBox,.imageBoxHighlighted{ - width:130px; /* Total width of each image box */ - height:160px; /* Total height of each image box */ - float:left; -} -.imageBox_theImage{ - width:110px; /* Width of image */ - height:125px; /* Height of image */ - - /* - Don't change these values * - */ - background-position: center; - background-repeat: no-repeat; - margin: 0 auto; - margin-bottom:2px; -} - -.imageBox .imageBox_theImage{ - border:1px solid #DDD; /* Border color for not selected images */ - padding:2px; -} -.imageBoxHighlighted .imageBox_theImage{ - border:3px solid #316AC5; /* Border color for selected image */ - padding:0px; - -} -.imageBoxHighlighted span{ /* Title of selected image */ - background-color: #316AC5; - color:#FFFFFF; - padding:2px; -} - -.imageBox_label{ /* Title of images - both selected and not selected */ - text-align:center; - font-family: arial; - font-size:11px; - padding-top:2px; - margin: 0 auto; -} - -/* -DIV that indicates where the dragged image will be placed -*/ -#insertionMarker{ - height:150px; - width:6px; - position:absolute; -} - -#insertionMarkerLine{ - width:6px; /* No need to change this value */ - height:145px; /* To adjust the height of the div that indicates where the dragged image will be dropped */ - -} - -#insertionMarker img{ - float:left; -} - -/* -DIV that shows the image as you drag it -*/ -#dragDropContent{ - - opacity:0.4; /* 40 % opacity */ - filter:alpha(opacity=40); /* 40 % opacity */ - - /* - No need to change these three values - */ - position:absolute; - z-index:10; - display:none; - -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/nggadmin.css b/src/wp-content/plugins/nextgen-gallery/admin/css/nggadmin.css deleted file mode 100644 index bfe1f5a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/nggadmin.css +++ /dev/null @@ -1,462 +0,0 @@ -/* -** NextGEN Gallery Style for Wordpress 3.0 -*/ - -/* SETTINGS FOR Overview Gallery */ - -#newversion { - border-color:#CCCCCC; - border-style:solid; - border-width:1px; - margin-right:7px; - margin-top:10px; - padding:2px; -} - -.ngg-dashboard-widget ul.settings span { - padding-left : 10px; - color:#2583AD; - font-weight:bold; -} - -.ngg-overview .postbox .handlediv { - float:right; - height:24px; - width:24px; -} - -.warning { - color: #9F6000; - background-color: #FEEFB3; - border: 1px solid; - margin: 5px 0px; - padding:5px; -} - -#donator_message { - margin:5px 0 15px; - background-color:#BDE5F8; - border-color:#00529B; - -moz-border-radius-bottomleft:3px; - -moz-border-radius-bottomright:3px; - -moz-border-radius-topleft:3px; - -moz-border-radius-topright:3px; - border-style:solid; - border-width:1px; - margin:5px 15px 2px; - padding:0 0.6em; -} - -#donator_message p{ - line-height:1; - margin:0.5em 0; - padding:2px; - padding-bottom:10px; -} - -#donator_message span{ - padding-top:10px; - float:right; -} - -#plugin_check img { - float: right; -} - -#plugin_check p.message { - font-size: 90%; - color: #666; -} -/* SETTING FOR FLASH UPLOAD BUTTON */ -.swfupload { - position:absolute; - z-index:1; - vertical-align:top; -} - -/* SETTINGS FOR THE OPTIONS TABLE */ -.ngg-options th { - width:22%; -} - -a.switch-expert { - text-decoration:none; -} - -/* WATERMARK */ -#wm-preview { - float:right; - font-size:90%; - width:35%; - border-color:#EBEBEB rgb(204, 204, 204) rgb(204, 204, 204) rgb(235, 235, 235); - border-style:solid; - border-width:1px; - margin-bottom:10px; - margin-left:10px; - margin-right:8px; - padding:2px; -} -#wm-preview h3{ - background:#F9F9F9 none repeat scroll 0%; - font-size:14px; - font-weight:bold; - margin:0pt 0pt 10px; - padding:8px 5px; -} - -#wm-position { - width:100%; - margin-left:40px; -} - -.wm-table { - border-collapse:collapse; - margin-top:1em; - width: 60%; - clear:none; -} -.wm-table td { - border-bottom:8px solid #FFFFFF; - line-height:20px; - margin-bottom:9px; - padding:10px; -} -.wm-table th { - border-bottom:8px solid #FFFFFF; - padding:10px; - text-align:left; -} -.wm-table tr { - background:#F9F9F9 none repeat scroll 0%; -} - -/* SETTINGS FOR MANAGE TABLE */ - -div#poststuff #gallerydiv { - cursor:pointer; -} - -p#ngg-inlinebutton { - float:right; - margin:0pt; - position:relative; - top:-25pt; -} - -.ngg-tablenav .button-secondary { - padding:2px 8px; - vertical-align: top; -} - -.fixed tbody th.column-cb { - padding:7px 0 22px; -} -.fixed .column-cb { - padding:0; - width:2.2em; -} - -.fixed .column-thumbnail{ - width:85px; -} - -.fixed .column-thumbnail img{ - max-height:80px; - max-width:80px; -} - -.fixed .column-id { - width: 5em; -} - -.fixed .column-exclude, .fixed .column-action, .fixed .column-delete { - width: 10%; -} - -/* SETTINGS FOR PROGRESS BAR */ - -div .progressborder { - border:1px solid #DDDDDD; - display: block; - height: 30px; - background-color: #464646; - width: 100%; - margin-top: 15px; - margin-bottom: 15px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; -} - -div .progressbar { - border: medium none ; - display: block; - height: 30px; - background-color: #D54E21; - width: 0%; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; -} - -div .progressbar span { - display: inline; - position: absolute; - color: white; - font-weight: bold; - padding: 5px 0 0 5px; -} - -.show_details -{ - height: 16px; - line-height: 20px; - overflow: hidden; - min-width: 8em; - padding: 3px; - cursor:pointer; -} - -.show_details span -{ - border-bottom:1px solid #999; - white-space:pre; -} -.show_details:hover -{ - height: auto; - overflow: visible; - border: 1px solid #999; -} - - /* SETTINGS FOR ALBUM PAGE */ - -.albumnav select[name="act_album"] { - width:150px; -} - -.albumnav span { - padding-left: 50px; -} - -div .groupItem -{ - cursor: move; - width: 295px; - padding: 5px; -} - -div .innerhandle { - background-color:#FBFBFB; -} - -.groupItem .item_top -{ - background-color:#2683AE; - color: #FFFFFF; - font-weight:bold; - line-height: 28px; - height: 28px; - padding: 0 5px; - -moz-border-radius: 3px; - -khtml-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; -} - -.groupItem .album_obj -{ - background-color:#D54E21; -} - -.groupItem .item_top a -{ - color:#FFFFFF; - float:right; - text-decoration: none; -} - -.groupItem .item_top a:hover -{ - color:#FFFFFF; -} - -.itemContent { - border-color:#DFDFDF; - border-style:none solid solid; - border-width:0 1px 1px; - padding:2px 0 20px 2px; -} - -.itemContent p { - border: 0; - margin: 0; - padding: 0; -} - -.inlinepicture -{ - float:left; - display:inline; - margin:0pt; - padding:0pt 3px 1px; -} - -.inlinepicture img -{ - margin:3px; - max-height:60px; -} - -.sort_placeholder -{ - border:1px dashed #bba !important; - margin: 5px; - background: #F9F9F9; -} - -.container { - margin-top: 10px; -} - -.target-album { - margin:10px 685px 10px 10px; -} - -.widget-right { - float:right; - margin:0pt 10px; - width:315px; -} - -.widget-holder { - min-height: 400px; - padding-top:1px; -} - -.target { - background-color:#F1F1F1; -} - -div.widget-top h3 { - text-align:center; - line-height:25px; - margin: 0; - padding: 5px 12px; - font-size: 13px; -} - -div.widget-top { - text-shadow:0 1px 0 #FFFFFF; - background-repeat: repeat-x; - background-position: 0 0; - font-size: 13px; -} - -.ui-autocomplete-start { background-position: 99% center; } - -/* SETTINGS FOR SORT GALLERY */ - -#sortGallery { - position:relative; -} - -p#sortButton{ - margin:0; - position:absolute; - right:0; - top:0; -} - -.imageBox,.imageBoxHighlighted{ - width:130px; /* Total width of each image box */ - height:160px; /* Total height of each image box */ - float:left; -} -.imageBox_theImage{ - width:110px; /* Width of image */ - height:125px; /* Height of image */ - - background-position: center; - background-repeat: no-repeat; - margin: 0 auto; - margin-bottom:2px; -} - -.imageBox .imageBox_theImage{ - border:1px solid #DDD; /* Border color for not selected images */ - padding:2px; -} -.imageBoxHighlighted .imageBox_theImage{ - border:3px solid #316AC5; /* Border color for selected image */ - padding:0px; - -} -.imageBoxHighlighted span{ /* Title of selected image */ - background-color: #316AC5; - color:#FFFFFF; - padding:2px; -} - -.imageBox_label{ /* Title of images - both selected and not selected */ - text-align:center; - font-family: arial; - font-size:11px; - padding-top:2px; - margin: 0 auto; -} - -/* -DIV that indicates where the dragged image will be placed -*/ - -#insertionMarker{ - height:150px; - width:6px; - position:absolute; -} - -#insertionMarkerLine{ - width:6px; /* No need to change this value */ - height:145px; /* To adjust the height of the div that indicates where the dragged image will be dropped */ - -} - -#insertionMarker img{ - float:left; -} - -/* -DIV that shows the image as you drag it -*/ - -#dragDropContent{ - - opacity:0.4; /* 40 % opacity */ - filter:alpha(opacity=40); /* 40 % opacity */ - - /* - No need to change these three values - */ - position:absolute; - z-index:10; - display:none; - -} - -/* UPGRADE PAGE */ - -.error_inline { - background:#FFEBE8 none repeat scroll 0%; - border:1px solid #CC0000; - margin:5px auto; - padding:10px; -} - -/* ABOUT PAGE */ -.ngg-list { - font-size:11px; - margin-left:15px; - list-style-position:inside; - list-style-type:disc; -} diff --git a/src/wp-content/plugins/nextgen-gallery/admin/css/tags-admin.css b/src/wp-content/plugins/nextgen-gallery/admin/css/tags-admin.css deleted file mode 100644 index a7f5e27..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/css/tags-admin.css +++ /dev/null @@ -1,10 +0,0 @@ -.ngg_wrap .auto_list{width:98%;margin:3px 0;padding:3px 5px;} -.ngg_wrap .list_tags {width:240px;vertical-align:top;} -.ngg_wrap .forms_manage {vertical-align:top;} -.ngg_wrap .forms_manage h3 {margin-bottom:5px;} -.ngg_wrap .forms_manage .form-table {margin-top:0;} -.ngg_wrap .sort_order h3 {margin:0;} -.ngg_wrap #ajax_area_tagslist {} -.ngg_wrap #ajax_area_tagslist ul{list-style:square;margin:10px 0 10px 20px;padding:0;} -.ngg_wrap #ajax_area_tagslist ul li{margin:0;padding:0;line-height:1.4;} -.ngg_wrap #ajax_area_tagslist ul li span{cursor:pointer;} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/edit-thumbnail.php b/src/wp-content/plugins/nextgen-gallery/admin/edit-thumbnail.php deleted file mode 100644 index b2425c2..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/edit-thumbnail.php +++ /dev/null @@ -1,173 +0,0 @@ - | http://deepliquid.com/content/Jcrop.html - -**/ - -require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); -require_once( NGGALLERY_ABSPATH . '/lib/image.php' ); - -if ( !is_user_logged_in() ) - die(__('Cheatin’ uh?')); - -if ( !current_user_can('NextGEN Manage gallery') ) - die(__('Cheatin’ uh?')); - -global $wpdb; - -$id = (int) $_GET['id']; - -// let's get the image data -$picture = nggdb::find_image($id); - -include_once( nggGallery::graphic_library() ); -$ngg_options=get_option('ngg_options'); - -$thumb = new ngg_Thumbnail($picture->imagePath, TRUE); -$thumb->resize(350,350); -// we need the new dimension -$resizedPreviewInfo = $thumb->newDimensions; -$thumb->destruct(); - -$preview_image = NGGALLERY_URLPATH . 'nggshow.php?pid=' . $picture->pid . '&width=350&height=350'; -$imageInfo = @getimagesize($picture->imagePath); -$rr = round($imageInfo[0] / $resizedPreviewInfo['newWidth'], 2); - -if ( ($ngg_options['thumbfix'] == 1) ) { - - $WidthHtmlPrev = $ngg_options['thumbwidth']; - $HeightHtmlPrev = $ngg_options['thumbheight']; - -} else { - // H > W - if ($imageInfo[1] > $imageInfo[0]) { - - $HeightHtmlPrev = $ngg_options['thumbheight']; - $WidthHtmlPrev = round($imageInfo[0] / ($imageInfo[1] / $ngg_options['thumbheight']),0); - - } else { - - $WidthHtmlPrev = $ngg_options['thumbwidth']; - $HeightHtmlPrev = round($imageInfo[1] / ($imageInfo[0] / $ngg_options['thumbwidth']),0); - - } -} - -?> - - - - - - - - - - - - - - - - -
- - - -
- -
- -
-
- - -
- - diff --git a/src/wp-content/plugins/nextgen-gallery/admin/functions.php b/src/wp-content/plugins/nextgen-gallery/admin/functions.php deleted file mode 100644 index 8af43e1..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/functions.php +++ /dev/null @@ -1,1484 +0,0 @@ -' . $defaultpath . ' '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!
'; - $txt .= __('Check this link, if you didn\'t know how to set the permission :', 'nggallery').' http://codex.wordpress.org/Changing_File_Permissions '; - if ($output) nggGallery::show_error($txt); - return false; - } - } - - // check for permission settings, Safe mode limitations are not taken into account. - if ( !is_writeable( $nggRoot ) ) { - $txt = __('Directory', 'nggallery').' ' . $defaultpath . ' '.__('is not writeable !', 'nggallery').'
'; - $txt .= __('Check this link, if you didn\'t know how to set the permission :', 'nggallery').' http://codex.wordpress.org/Changing_File_Permissions '; - if ($output) nggGallery::show_error($txt); - return false; - } - - // 1. Check for existing folder - if ( is_dir(WINABSPATH . $defaultpath . $name ) ) { - $suffix = 1; - do { - $alt_name = substr ($name, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "_$suffix"; - $dir_check = is_dir(WINABSPATH . $defaultpath . $alt_name ); - $suffix++; - } while ( $dir_check ); - $name = $alt_name; - } - // define relative path to gallery inside wp root folder - $nggpath = $defaultpath . $name; - - // 2. Create new gallery folder - if ( !wp_mkdir_p (WINABSPATH . $nggpath) ) - $txt = __('Unable to create directory ', 'nggallery').$nggpath.'!
'; - - // 3. Check folder permission - if ( !is_writeable(WINABSPATH . $nggpath ) ) - $txt .= __('Directory', 'nggallery').' '.$nggpath.' '.__('is not writeable !', 'nggallery').'
'; - - // 4. Now create thumbnail folder inside - if ( !is_dir(WINABSPATH . $nggpath . '/thumbs') ) { - if ( !wp_mkdir_p ( WINABSPATH . $nggpath . '/thumbs') ) - $txt .= __('Unable to create directory ', 'nggallery').' ' . $nggpath . '/thumbs !'; - } - - if (SAFE_MODE) { - $help = __('The server setting Safe-Mode is on !', 'nggallery'); - $help .= '
'.__('If you have problems, please create directory', 'nggallery').' ' . $nggpath . ' '; - $help .= __('and the thumbnails directory', 'nggallery').' ' . $nggpath . '/thumbs '.__('with permission 777 manually !', 'nggallery'); - if ($output) nggGallery::show_message($help); - } - - // show a error message - if ( !empty($txt) ) { - if (SAFE_MODE) { - // for safe_mode , better delete folder, both folder must be created manually - @rmdir(WINABSPATH . $nggpath . '/thumbs'); - @rmdir(WINABSPATH . $nggpath); - } - if ($output) nggGallery::show_error($txt); - return false; - } - - // now add the gallery to the database - $galleryID = nggdb::add_gallery($title, $nggpath, '', 0, 0, $user_ID ); - // here you can inject a custom function - do_action('ngg_created_new_gallery', $galleryID); - - // return only the id if defined - if ($output == false) - return $galleryID; - - if ($galleryID != false) { - $message = __('Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.
','nggallery'); - $message = sprintf($message, $galleryID, '[nggallery id=' . $galleryID . ']'); - $message .= ''; - $message .= __('Edit gallery','nggallery'); - $message .= ''; - - if ($output) nggGallery::show_message($message); - } - return true; - } - - /** - * nggAdmin::import_gallery() - * TODO: Check permission of existing thumb folder & images - * - * @class nggAdmin - * @param string $galleryfolder contains relative path to the gallery itself - * @return void - */ - function import_gallery($galleryfolder) { - - global $wpdb, $user_ID; - - // get the current user ID - get_currentuserinfo(); - - $created_msg = ''; - - // remove trailing slash at the end, if somebody use it - if (substr($galleryfolder, -1) == '/') $galleryfolder = substr($galleryfolder, 0, -1); - $gallerypath = WINABSPATH . $galleryfolder; - - if (!is_dir($gallerypath)) { - nggGallery::show_error(__('Directory', 'nggallery').' '.$gallerypath.' '.__('doesn`t exist!', 'nggallery')); - return ; - } - - // read list of images - $new_imageslist = nggAdmin::scandir($gallerypath); - - if (empty($new_imageslist)) { - nggGallery::show_message(__('Directory', 'nggallery').' '.$gallerypath.' '.__('contains no pictures', 'nggallery')); - return; - } - - // check & create thumbnail folder - if ( !nggGallery::get_thumbnail_folder($gallerypath) ) - return; - - // take folder name as gallery name - $galleryname = basename($galleryfolder); - $galleryname = apply_filters('ngg_gallery_name', $galleryname); - - // check for existing gallery folder - $gallery_id = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE path = '$galleryfolder' "); - - if (!$gallery_id) { - $result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, path, title, author) VALUES (%s, %s, %s, %s)", $galleryname, $galleryfolder, $galleryname , $user_ID) ); - if (!$result) { - nggGallery::show_error(__('Database error. Could not add gallery!','nggallery')); - return; - } - $created_msg = _n( 'Gallery', 'Galleries', 1, 'nggallery' ) . ' ' . $galleryname . ' ' . __('successfully created!','nggallery') . '
'; - $gallery_id = $wpdb->insert_id; // get index_id - } - - // Look for existing image list - $old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery_id' "); - - // if no images are there, create empty array - if ($old_imageslist == NULL) - $old_imageslist = array(); - - // check difference - $new_images = array_diff($new_imageslist, $old_imageslist); - - // all images must be valid files - foreach($new_images as $key => $picture) { - if (!@getimagesize($gallerypath . '/' . $picture) ) { - unset($new_images[$key]); - @unlink($gallerypath . '/' . $picture); - } - } - - // add images to database - $image_ids = nggAdmin::add_Images($gallery_id, $new_images); - - //add the preview image if needed - nggAdmin::set_gallery_preview ( $gallery_id ); - - // now create thumbnails - nggAdmin::do_ajax_operation( 'create_thumbnail' , $image_ids, __('Create new thumbnails','nggallery') ); - - //TODO:Message will not shown, because AJAX routine require more time, message should be passed to AJAX - nggGallery::show_message( $created_msg . count($image_ids) .__(' picture(s) successfully added','nggallery') ); - - return; - - } - - /** - * Scan folder for new images - * - * @class nggAdmin - * @param string $dirname - * @return array $files list of image filenames - */ - function scandir( $dirname = '.' ) { - $ext = array('jpeg', 'jpg', 'png', 'gif'); - - $files = array(); - if( $handle = opendir( $dirname ) ) { - while( false !== ( $file = readdir( $handle ) ) ) { - $info = pathinfo( $file ); - // just look for images with the correct extension - if ( isset($info['extension']) ) - if ( in_array( strtolower($info['extension']), $ext) ) - $files[] = utf8_encode( $file ); - } - closedir( $handle ); - } - sort( $files ); - return ( $files ); - } - - /** - * nggAdmin::createThumbnail() - function to create or recreate a thumbnail - * - * @class nggAdmin - * @param object | int $image contain all information about the image or the id - * @return string result code - * @since v1.0.0 - */ - function create_thumbnail($image) { - - global $ngg; - - if(! class_exists('ngg_Thumbnail')) - require_once( nggGallery::graphic_library() ); - - if ( is_numeric($image) ) - $image = nggdb::find_image( $image ); - - if ( !is_object($image) ) - return __('Object didn\'t contain correct data','nggallery'); - - // before we start we import the meta data to database (required for uploads before V1.4.0) - nggAdmin::maybe_import_meta( $image->pid ); - - // check for existing thumbnail - if (file_exists($image->thumbPath)) - if (!is_writable($image->thumbPath)) - return $image->filename . __(' is not writeable ','nggallery'); - - $thumb = new ngg_Thumbnail($image->imagePath, TRUE); - - // skip if file is not there - if (!$thumb->error) { - if ($ngg->options['thumbfix']) { - - // calculate correct ratio - $wratio = $ngg->options['thumbwidth'] / $thumb->currentDimensions['width']; - $hratio = $ngg->options['thumbheight'] / $thumb->currentDimensions['height']; - - if ($wratio > $hratio) { - // first resize to the wanted width - $thumb->resize($ngg->options['thumbwidth'], 0); - // get optimal y startpos - $ypos = ($thumb->currentDimensions['height'] - $ngg->options['thumbheight']) / 2; - $thumb->crop(0, $ypos, $ngg->options['thumbwidth'],$ngg->options['thumbheight']); - } else { - // first resize to the wanted height - $thumb->resize(0, $ngg->options['thumbheight']); - // get optimal x startpos - $xpos = ($thumb->currentDimensions['width'] - $ngg->options['thumbwidth']) / 2; - $thumb->crop($xpos, 0, $ngg->options['thumbwidth'],$ngg->options['thumbheight']); - } - //this create a thumbnail but keep ratio settings - } else { - $thumb->resize($ngg->options['thumbwidth'],$ngg->options['thumbheight']); - } - - // save the new thumbnail - $thumb->save($image->thumbPath, $ngg->options['thumbquality']); - nggAdmin::chmod ($image->thumbPath); - - //read the new sizes - $new_size = @getimagesize ( $image->thumbPath ); - $size['width'] = $new_size[0]; - $size['height'] = $new_size[1]; - - // add them to the database - nggdb::update_image_meta($image->pid, array( 'thumbnail' => $size) ); - } - - $thumb->destruct(); - - if ( !empty($thumb->errmsg) ) - return ' ' . $image->filename . ' (Error : '.$thumb->errmsg .')'; - - // success - return '1'; - } - - /** - * nggAdmin::resize_image() - create a new image, based on the height /width - * - * @class nggAdmin - * @param object | int $image contain all information about the image or the id - * @param integer $width optional - * @param integer $height optional - * @return string result code - */ - function resize_image($image, $width = 0, $height = 0) { - - global $ngg; - - if(! class_exists('ngg_Thumbnail')) - require_once( nggGallery::graphic_library() ); - - if ( is_numeric($image) ) - $image = nggdb::find_image( $image ); - - if ( !is_object($image) ) - return __('Object didn\'t contain correct data','nggallery'); - - // before we start we import the meta data to database (required for uploads before V1.4.0) - nggAdmin::maybe_import_meta( $image->pid ); - - // if no parameter is set, take global settings - $width = ($width == 0) ? $ngg->options['imgWidth'] : $width; - $height = ($height == 0) ? $ngg->options['imgHeight'] : $height; - - if (!is_writable($image->imagePath)) - return ' ' . $image->filename . __(' is not writeable','nggallery') . ''; - - $file = new ngg_Thumbnail($image->imagePath, TRUE); - - // skip if file is not there - if (!$file->error) { - - // If required save a backup copy of the file - if ( ($ngg->options['imgBackup'] == 1) && (!file_exists($image->imagePath . '_backup')) ) - @copy ($image->imagePath, $image->imagePath . '_backup'); - - $file->resize($width, $height, 4); - $file->save($image->imagePath, $ngg->options['imgQuality']); - // read the new sizes - $size = @getimagesize ( $image->imagePath ); - // add them to the database - nggdb::update_image_meta($image->pid, array( 'width' => $size[0], 'height' => $size[1] ) ); - $file->destruct(); - } else { - $file->destruct(); - return ' ' . $image->filename . ' (Error : ' . $file->errmsg . ')'; - } - - return '1'; - } - - /** - * Rotated/Flip an image based on the orientation flag or a definded angle - * - * @param int|object $image - * @param string (optional) $dir, CW (clockwise)or CCW (counter clockwise), if set to false, the exif flag will be used - * @param string (optional) $flip, could be either false | V (flip vertical) | H (flip horizontal) - * @return string result code - */ - function rotate_image($image, $dir = false, $flip = false) { - - global $ngg; - - if(! class_exists('ngg_Thumbnail')) - require_once( nggGallery::graphic_library() ); - - if ( is_numeric($image) ) - $image = nggdb::find_image( $image ); - - if ( !is_object($image) ) - return __('Object didn\'t contain correct data','nggallery'); - - if (!is_writable($image->imagePath)) - return ' ' . $image->filename . __(' is not writeable','nggallery') . ''; - - // if you didn't define a rotation, we look for the orientation flag in EXIF - if ( $dir === false ) { - $meta = new nggMeta( $image->pid ); - $exif = $meta->get_EXIF(); - - if (isset($exif['Orientation'])) { - - switch ($exif['Orientation']) { - case 5 : // vertical flip + 90 rotate right - $flip = 'V'; - case 6 : // 90 rotate right - $dir = 'CW'; - break; - case 7 : // horizontal flip + 90 rotate right - $flip = 'H'; - case 8 : // 90 rotate left - $dir = 'CCW'; - break; - case 4 : // vertical flip - $flip = 'V'; - break; - case 3 : // 180 rotate left - $dir = 180; - break; - case 2 : // horizontal flip - $flip = 'H'; - break; - case 1 : // no action in the case it doesn't need a rotation - default: - return '0'; - break; - } - } else - return '0'; - } - $file = new ngg_Thumbnail( $image->imagePath, TRUE ); - - // skip if file is not there - if (!$file->error) { - - // If required save a backup copy of the file - if ( ($ngg->options['imgBackup'] == 1) && (!file_exists($image->imagePath . '_backup')) ) - @copy ($image->imagePath, $image->imagePath . '_backup'); - - // before we start we import the meta data to database (required for uploads before V1.4.X) - nggAdmin::maybe_import_meta( $image->pid ); - - if ( $dir !== 0 ) - $file->rotateImage( $dir ); - if ( $dir === 180) - $file->rotateImage( 'CCW' ); // very special case, we rotate the image two times - if ( $flip == 'H') - $file->flipImage(true, false); - if ( $flip == 'V') - $file->flipImage(false, true); - - $file->save($image->imagePath, $ngg->options['imgQuality']); - - // read the new sizes - $size = @getimagesize ( $image->imagePath ); - // add them to the database - nggdb::update_image_meta($image->pid, array( 'width' => $size[0], 'height' => $size[1] ) ); - - } - - $file->destruct(); - - if ( !empty($file->errmsg) ) - return ' ' . $image->filename . ' (Error : '.$file->errmsg .')'; - - return '1'; - - } - - /** - * nggAdmin::set_watermark() - set the watermark for the image - * - * @class nggAdmin - * @param object | int $image contain all information about the image or the id - * @return string result code - */ - function set_watermark($image) { - - global $ngg; - - if(! class_exists('ngg_Thumbnail')) - require_once( nggGallery::graphic_library() ); - - if ( is_numeric($image) ) - $image = nggdb::find_image( $image ); - - if ( !is_object($image) ) - return __('Object didn\'t contain correct data','nggallery'); - - // before we start we import the meta data to database (required for uploads before V1.4.0) - nggAdmin::maybe_import_meta( $image->pid ); - - if (!is_writable($image->imagePath)) - return ' ' . $image->filename . __(' is not writeable','nggallery') . ''; - - $file = new ngg_Thumbnail( $image->imagePath, TRUE ); - - // skip if file is not there - if (!$file->error) { - - // If required save a backup copy of the file - if ( ($ngg->options['imgBackup'] == 1) && (!file_exists($image->imagePath . '_backup')) ) - @copy ($image->imagePath, $image->imagePath . '_backup'); - - if ($ngg->options['wmType'] == 'image') { - $file->watermarkImgPath = $ngg->options['wmPath']; - $file->watermarkImage($ngg->options['wmPos'], $ngg->options['wmXpos'], $ngg->options['wmYpos']); - } - if ($ngg->options['wmType'] == 'text') { - $file->watermarkText = $ngg->options['wmText']; - $file->watermarkCreateText($ngg->options['wmColor'], $ngg->options['wmFont'], $ngg->options['wmSize'], $ngg->options['wmOpaque']); - $file->watermarkImage($ngg->options['wmPos'], $ngg->options['wmXpos'], $ngg->options['wmYpos']); - } - $file->save($image->imagePath, $ngg->options['imgQuality']); - } - - $file->destruct(); - - if ( !empty($file->errmsg) ) - return ' ' . $image->filename . ' (Error : '.$file->errmsg .')'; - - return '1'; - } - - /** - * Recover image from backup copy and reprocess it - * - * @class nggAdmin - * @since 1.5.0 - * @param object | int $image contain all information about the image or the id - * @return string result code - */ - - function recover_image($image) { - - global $ngg; - - if ( is_numeric($image) ) - $image = nggdb::find_image( $image ); - - if ( !is_object( $image ) ) - return __('Object didn\'t contain correct data','nggallery'); - - if (!is_writable( $image->imagePath )) - return ' ' . $image->filename . __(' is not writeable','nggallery') . ''; - - if (!file_exists( $image->imagePath . '_backup' )) { - return ' '.__('File do not exists','nggallery').''; - } - - if (!@copy( $image->imagePath . '_backup' , $image->imagePath) ) - return ' '.__('Couldn\'t restore original image','nggallery').''; - - require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); - - $meta_obj = new nggMeta( $image->pid ); - - $common = $meta_obj->get_common_meta(); - $common['saved'] = true; - $result = nggdb::update_image_meta($image->pid, $common); - - return '1'; - - } - - /** - * Add images to database - * - * @class nggAdmin - * @param int $galleryID - * @param array $imageslist - * @return array $image_ids Id's which are sucessful added - */ - function add_Images($galleryID, $imageslist) { - - global $wpdb, $ngg; - - $image_ids = array(); - - if ( is_array($imageslist) ) { - foreach($imageslist as $picture) { - - // strip off the extension of the filename - $path_parts = pathinfo( $picture ); - $alttext = ( !isset($path_parts['filename']) ) ? substr($path_parts['basename'], 0,strpos($path_parts['basename'], '.')) : $path_parts['filename']; - // save it to the database - $pic_id = nggdb::add_image( $galleryID, $picture, '', $alttext ); - - if ( !empty($pic_id) ) - $image_ids[] = $pic_id; - - // add the metadata - nggAdmin::import_MetaData( $pic_id ); - - // auto rotate - nggAdmin::rotate_image( $pic_id ); - - // Autoresize image if required - if ($ngg->options['imgAutoResize']) { - $imagetmp = nggdb::find_image( $pic_id ); - $sizetmp = @getimagesize ( $imagetmp->imagePath ); - $widthtmp = $ngg->options['imgWidth']; - $heighttmp = $ngg->options['imgHeight']; - if (($sizetmp[0] > $widthtmp && $widthtmp) || ($sizetmp[1] > $heighttmp && $heighttmp)) { - nggAdmin::resize_image( $pic_id ); - } - } - - // action hook for post process after the image is added to the database - $image = array( 'id' => $pic_id, 'filename' => $picture, 'galleryID' => $galleryID); - do_action('ngg_added_new_image', $image); - - } - } // is_array - - // delete dirsize after adding new images - delete_transient( 'dirsize_cache' ); - - do_action('ngg_after_new_images_added', $galleryID, $image_ids ); - - return $image_ids; - - } - - /** - * Import some meta data into the database (if avialable) - * - * @class nggAdmin - * @param array|int $imagesIds - * @return string result code - */ - function import_MetaData($imagesIds) { - - global $wpdb; - - require_once(NGGALLERY_ABSPATH . '/lib/image.php'); - - if (!is_array($imagesIds)) - $imagesIds = array($imagesIds); - - foreach($imagesIds as $imageID) { - - $image = nggdb::find_image( $imageID ); - if (!$image->error) { - - $meta = nggAdmin::get_MetaData( $image->pid ); - - // get the title - $alttext = empty( $meta['title'] ) ? $image->alttext : $meta['title']; - - // get the caption / description field - $description = empty( $meta['caption'] ) ? $image->description : $meta['caption']; - - // get the file date/time from exif - $timestamp = $meta['timestamp']; - // first update database - $result = $wpdb->query( - $wpdb->prepare("UPDATE $wpdb->nggpictures SET - alttext = %s, - description = %s, - imagedate = %s - WHERE pid = %d", $alttext, $description, $timestamp, $image->pid) ); - - if ($result === false) - return ' ' . $image->filename . ' ' . __('(Error : Couldn\'t not update data base)', 'nggallery') . ''; - - //this flag will inform us that the import is already one time performed - $meta['common']['saved'] = true; - $result = nggdb::update_image_meta($image->pid, $meta['common']); - - if ($result === false) - return ' ' . $image->filename . ' ' . __('(Error : Couldn\'t not update meta data)', 'nggallery') . ''; - - // add the tags if we found some - if ($meta['keywords']) { - $taglist = explode(',', $meta['keywords']); - wp_set_object_terms($image->pid, $taglist, 'ngg_tag'); - } - - } else - return ' ' . $image->filename . ' ' . __('(Error : Couldn\'t not find image)', 'nggallery') . '';// error check - } - - return '1'; - } - - /** - * nggAdmin::get_MetaData() - * - * @class nggAdmin - * @require NextGEN Meta class - * @param int $id image ID - * @return array metadata - */ - function get_MetaData($id) { - - require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); - - $meta = array(); - - $pdata = new nggMeta( $id ); - - $meta['title'] = trim ( $pdata->get_META('title') ); - $meta['caption'] = trim ( $pdata->get_META('caption') ); - $meta['keywords'] = trim ( $pdata->get_META('keywords') ); - $meta['timestamp'] = $pdata->get_date_time(); - // this contain other useful meta information - $meta['common'] = $pdata->get_common_meta(); - // hook for addon plugin to add more meta fields - $meta = apply_filters('ngg_get_image_metadata', $meta, $pdata); - - return $meta; - - } - - /** - * Maybe import some meta data to the database. The functions checks the flag 'saved' - * and if based on compat reason (pre V1.4.0) we save then some meta datas to the database - * - * @since V1.4.0 - * @param int $id - * @return result - */ - function maybe_import_meta( $id ) { - - require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); - - $meta_obj = new nggMeta( $id ); - - if ( $meta_obj->image->meta_data['saved'] != true ) { - $common = $meta_obj->get_common_meta(); - //this flag will inform us that the import is already one time performed - $common['saved'] = true; - $result = nggdb::update_image_meta($id, $common); - } else - return false; - - return $result; - - } - - /** - * Unzip a file via the PclZip class - * - * @class nggAdmin - * @require PclZip class - * @param string $dir - * @param string $file - * @return bool - */ - function unzip($dir, $file) { - - if(! class_exists('PclZip')) - require_once(ABSPATH . 'wp-admin/includes/class-pclzip.php'); - - $archive = new PclZip($file); - - // extract all files in one folder - if ($archive->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH, - PCLZIP_CB_PRE_EXTRACT, 'ngg_getOnlyImages', - PCLZIP_CB_POST_EXTRACT, 'ngg_checkExtract') == 0) { - nggGallery::show_error( 'Error : ' . $archive->errorInfo(true) ); - return false; - } - - return true; - } - - /** - * nggAdmin::getOnlyImages() - * - * @class nggAdmin - * @param mixed $p_event - * @param mixed $p_header - * @return bool - */ - function getOnlyImages($p_event, &$p_header) { - // avoid null byte hack (THX to Dominic Szablewski) - if ( strpos($p_header['filename'], chr(0) ) !== false ) - $p_header['filename'] = substr ( $p_header['filename'], 0, strpos($p_header['filename'], chr(0) )); - // check for extension - $info = pathinfo($p_header['filename']); - // check for extension - $ext = array('jpeg', 'jpg', 'png', 'gif'); - if ( in_array( strtolower($info['extension']), $ext) ) { - // For MAC skip the ".image" files - if ($info['basename']{0} == '.' ) - return 0; - else - return 1; - } - // ----- all other files are skipped - else { - return 0; - } - } - - /** - * Import a ZIP file via a upload form or a URL - * - * @class nggAdmin - * @param int (optional) $galleryID - * @return bool $result - */ - function import_zipfile($galleryID) { - - global $ngg, $wpdb; - - if (nggWPMU::check_quota()) - return false; - - $defaultpath = $ngg->options['gallerypath']; - $zipurl = $_POST['zipurl']; - - // if someone entered a URL try to upload it - if (!empty($zipurl) && (function_exists('curl_init')) ) { - - if (!(preg_match('/^http(s)?:\/\//i', $zipurl) )) { - nggGallery::show_error( __('No valid URL path ','nggallery') ); - return false; - } - - $temp_zipfile = tempnam('/tmp', 'zipimport_'); - $filename = basename($zipurl); - - //Grab the zip via cURL - $save = fopen ( $temp_zipfile, "w" ); - $ch = curl_init (); - curl_setopt ( $ch, CURLOPT_FILE, $save ); - curl_setopt ( $ch, CURLOPT_HEADER, 0 ); - curl_setopt ( $ch, CURLOPT_BINARYTRANSFER, 1 ); - curl_setopt ( $ch, CURLOPT_URL, $zipurl ); - $success = curl_exec ( $ch ); - if (!$success) - nggGallery::show_error( __('Import via cURL failed.','nggallery') . ' Error code ' . curl_errno( $ch ) . ' : ' . curl_error( $ch ) ); - curl_close ( $ch ); - fclose($save); - - if (!$success) - return false; - - } else { - - $temp_zipfile = $_FILES['zipfile']['tmp_name']; - $filename = $_FILES['zipfile']['name']; - - // Chrome return a empty content-type : http://code.google.com/p/chromium/issues/detail?id=6800 - if ( !preg_match('/chrome/i', $_SERVER['HTTP_USER_AGENT']) ) { - // check if file is a zip file - if ( !preg_match('/(zip|download|octet-stream)/i', $_FILES['zipfile']['type']) ) { - @unlink($temp_zipfile); // del temp file - nggGallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognized : ','nggallery').$_FILES['zipfile']['type']); - return false; - } - } - } - - // should this unpacked into a new folder ? - if ( $galleryID == '0' ) { - //cleanup and take the zipfile name as folder name - $foldername = sanitize_title(strtok ($filename, '.')); - $foldername = $defaultpath . $foldername; - } else { - // get foldername if selected - $foldername = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); - } - - if ( empty($foldername) ) { - nggGallery::show_error( __('Could not get a valid foldername', 'nggallery') ); - return false; - } - - // set complete folder path - $newfolder = WINABSPATH . $foldername; - - // check first if the traget folder exist - if (!is_dir($newfolder)) { - // create new directories - if (!wp_mkdir_p ($newfolder)) { - $message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?', 'nggallery'), $newfolder); - nggGallery::show_error($message); - return false; - } - if (!wp_mkdir_p ($newfolder . '/thumbs')) { - nggGallery::show_error(__('Unable to create directory ', 'nggallery') . $newfolder . '/thumbs !'); - return false; - } - } - - // unzip and del temp file - $result = nggAdmin::unzip($newfolder, $temp_zipfile); - @unlink($temp_zipfile); - - if ($result) { - $message = __('Zip-File successfully unpacked','nggallery') . '
'; - - // parse now the folder and add to database - $message .= nggAdmin::import_gallery( $foldername ); - nggGallery::show_message($message); - } - - return true; - } - - /** - * Function for uploading of images via the upload form - * - * @class nggAdmin - * @return void - */ - function upload_images() { - - global $nggdb; - - // WPMU action - if (nggWPMU::check_quota()) - return; - - // Images must be an array - $imageslist = array(); - - // get selected gallery - $galleryID = (int) $_POST['galleryselect']; - - if ($galleryID == 0) { - nggGallery::show_error(__('No gallery selected !','nggallery')); - return; - } - - // get the path to the gallery - $gallery = $nggdb->find_gallery($galleryID); - - if ( empty($gallery->path) ){ - nggGallery::show_error(__('Failure in database, no gallery path set !','nggallery')); - return; - } - - // read list of images - $dirlist = nggAdmin::scandir($gallery->abspath); - - $imagefiles = $_FILES['imagefiles']; - - if (is_array($imagefiles)) { - foreach ($imagefiles['name'] as $key => $value) { - - // look only for uploded files - if ($imagefiles['error'][$key] == 0) { - - $temp_file = $imagefiles['tmp_name'][$key]; - - //clean filename and extract extension - $filepart = nggGallery::fileinfo( $imagefiles['name'][$key] ); - $filename = $filepart['basename']; - - // check for allowed extension and if it's an image file - $ext = array('jpg', 'png', 'gif'); - if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){ - nggGallery::show_error('' . $imagefiles['name'][$key] . ' ' . __('is no valid image file!','nggallery')); - continue; - } - - // check if this filename already exist in the folder - $i = 0; - while ( in_array( $filename, $dirlist ) ) { - $filename = $filepart['filename'] . '_' . $i++ . '.' .$filepart['extension']; - } - - $dest_file = $gallery->abspath . '/' . $filename; - - //check for folder permission - if ( !is_writeable($gallery->abspath) ) { - $message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), $gallery->abspath); - nggGallery::show_error($message); - return; - } - - // save temp file to gallery - if ( !@move_uploaded_file($temp_file, $dest_file) ){ - nggGallery::show_error(__('Error, the file could not be moved to : ','nggallery') . $dest_file); - nggAdmin::check_safemode( $gallery->abspath ); - continue; - } - if ( !nggAdmin::chmod($dest_file) ) { - nggGallery::show_error(__('Error, the file permissions could not be set','nggallery')); - continue; - } - - // add to imagelist & dirlist - $imageslist[] = $filename; - $dirlist[] = $filename; - - } - } - } - - if (count($imageslist) > 0) { - - // add images to database - $image_ids = nggAdmin::add_Images($galleryID, $imageslist); - - //create thumbnails - nggAdmin::do_ajax_operation( 'create_thumbnail' , $image_ids, __('Create new thumbnails','nggallery') ); - - //add the preview image if needed - nggAdmin::set_gallery_preview ( $galleryID ); - - nggGallery::show_message( count($image_ids) . __(' Image(s) successfully added','nggallery')); - } - - return; - - } - - /** - * Upload function will be called via the Flash uploader - * - * @class nggAdmin - * @param integer $galleryID - * @return string $result - */ - function swfupload_image($galleryID = 0) { - - global $wpdb; - - if ($galleryID == 0) - return __('No gallery selected !', 'nggallery'); - - // WPMU action - if (nggWPMU::check_quota()) - return '0'; - - // Check the upload - if (!isset($_FILES['Filedata']) || !is_uploaded_file($_FILES['Filedata']['tmp_name']) || $_FILES['Filedata']['error'] != 0) - return __('Invalid upload. Error Code : ', 'nggallery') . $_FILES['Filedata']['error']; - - // get the filename and extension - $temp_file = $_FILES['Filedata']['tmp_name']; - - $filepart = nggGallery::fileinfo( $_FILES['Filedata']['name'] ); - $filename = $filepart['basename']; - - // check for allowed extension - $ext = array('jpg', 'png', 'gif'); - if (!in_array($filepart['extension'], $ext)) - return $_FILES[$key]['name'] . __('is no valid image file!', 'nggallery'); - - // get the path to the gallery - $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); - if (!$gallerypath){ - @unlink($temp_file); - return __('Failure in database, no gallery path set !', 'nggallery'); - } - - // read list of images - $imageslist = nggAdmin::scandir( WINABSPATH . $gallerypath ); - - // check if this filename already exist - $i = 0; - while (in_array($filename, $imageslist)) { - $filename = $filepart['filename'] . '_' . $i++ . '.' . $filepart['extension']; - } - - $dest_file = WINABSPATH . $gallerypath . '/' . $filename; - - // save temp file to gallery - if ( !@move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dest_file) ){ - nggAdmin::check_safemode(WINABSPATH.$gallerypath); - return __('Error, the file could not be moved to : ','nggallery').$dest_file; - } - - if ( !nggAdmin::chmod($dest_file) ) - return __('Error, the file permissions could not be set','nggallery'); - - return '0'; - } - - /** - * Set correct file permissions (taken from wp core) - * - * @class nggAdmin - * @param string $filename - * @return bool $result - */ - function chmod($filename = '') { - - $stat = @ stat(dirname($filename)); - $perms = $stat['mode'] & 0007777; - $perms = $perms & 0000666; - if ( @chmod($filename, $perms) ) - return true; - - return false; - } - - /** - * Check UID in folder and Script - * Read http://www.php.net/manual/en/features.safe-mode.php to understand safe_mode - * - * @class nggAdmin - * @param string $foldername - * @return bool $result - */ - function check_safemode($foldername) { - - if ( SAFE_MODE ) { - - $script_uid = ( ini_get('safe_mode_gid') ) ? getmygid() : getmyuid(); - $folder_uid = fileowner($foldername); - - if ($script_uid != $folder_uid) { - $message = sprintf(__('SAFE MODE Restriction in effect! You need to create the folder %s manually','nggallery'), $foldername); - $message .= '
' . sprintf(__('When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory','nggallery'), $script_uid, $folder_uid ); - nggGallery::show_error($message); - return false; - } - } - - return true; - } - - /** - * Capability check. Check is the ID fit's to the user_ID - * - * @class nggAdmin - * @param int $check_ID is the user_id - * @return bool $result - */ - function can_manage_this_gallery($check_ID) { - - global $user_ID, $wp_roles; - - if ( !current_user_can('NextGEN Manage others gallery') ) { - // get the current user ID - get_currentuserinfo(); - - if ( $user_ID != $check_ID) - return false; - } - - return true; - - } - - /** - * Move images from one folder to another - * - * @class nggAdmin - * @param array|int $pic_ids ID's of the images - * @param int $dest_gid destination gallery - * @return void - */ - function move_images($pic_ids, $dest_gid) { - - $errors = ''; - $count = 0; - - if ( !is_array($pic_ids) ) - $pic_ids = array($pic_ids); - - // Get destination gallery - $destination = nggdb::find_gallery( $dest_gid ); - $dest_abspath = WINABSPATH . $destination->path; - - if ( $destination == null ) { - nggGallery::show_error(__('The destination gallery does not exist','nggallery')); - return; - } - - // Check for folder permission - if ( !is_writeable( $dest_abspath ) ) { - $message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), $dest_abspath ); - nggGallery::show_error($message); - return; - } - - // Get pictures - $images = nggdb::find_images_in_list($pic_ids); - - foreach ($images as $image) { - - $i = 0; - $tmp_prefix = ''; - - $destination_file_name = $image->filename; - // check if the filename already exist, then we add a copy_ prefix - while (file_exists( $dest_abspath . '/' . $destination_file_name)) { - $tmp_prefix = 'copy_' . ($i++) . '_'; - $destination_file_name = $tmp_prefix . $image->filename; - } - - $destination_path = $dest_abspath . '/' . $destination_file_name; - $destination_thumbnail = $dest_abspath . '/thumbs/thumbs_' . $destination_file_name; - - // Move files - if ( !@rename($image->imagePath, $destination_path) ) { - $errors .= sprintf(__('Failed to move image %1$s to %2$s','nggallery'), - '' . $image->filename . '', $destination_path) . '
'; - continue; - } - - // Move backup file, if possible - @rename($image->imagePath . '_backup', $destination_path . '_backup'); - // Move the thumbnail, if possible - @rename($image->thumbPath, $destination_thumbnail); - - // Change the gallery id in the database , maybe the filename - if ( nggdb::update_image($image->pid, $dest_gid, $destination_file_name) ) - $count++; - - } - - if ( $errors != '' ) - nggGallery::show_error($errors); - - $link = '' . $destination->title . ''; - $messages = sprintf(__('Moved %1$s picture(s) to gallery : %2$s .','nggallery'), $count, $link); - nggGallery::show_message($messages); - - return; - } - - /** - * Copy images to another gallery - * - * @class nggAdmin - * @param array|int $pic_ids ID's of the images - * @param int $dest_gid destination gallery - * @return void - */ - function copy_images($pic_ids, $dest_gid) { - - require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); - - $errors = $messages = ''; - - if (!is_array($pic_ids)) - $pic_ids = array($pic_ids); - - // Get destination gallery - $destination = nggdb::find_gallery( $dest_gid ); - if ( $destination == null ) { - nggGallery::show_error(__('The destination gallery does not exist','nggallery')); - return; - } - - // Check for folder permission - if (!is_writeable(WINABSPATH.$destination->path)) { - $message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), WINABSPATH.$destination->path); - nggGallery::show_error($message); - return; - } - - // Get pictures - $images = nggdb::find_images_in_list($pic_ids); - $destination_path = WINABSPATH . $destination->path; - - foreach ($images as $image) { - // WPMU action - if ( nggWPMU::check_quota() ) - return; - - $i = 0; - $tmp_prefix = ''; - $destination_file_name = $image->filename; - while (file_exists($destination_path . '/' . $destination_file_name)) { - $tmp_prefix = 'copy_' . ($i++) . '_'; - $destination_file_name = $tmp_prefix . $image->filename; - } - - $destination_file_path = $destination_path . '/' . $destination_file_name; - $destination_thumb_file_path = $destination_path . '/' . $image->thumbFolder . $image->thumbPrefix . $destination_file_name; - - // Copy files - if ( !@copy($image->imagePath, $destination_file_path) ) { - $errors .= sprintf(__('Failed to copy image %1$s to %2$s','nggallery'), - $image->filename, $destination_file_path) . '
'; - continue; - } - - // Copy backup file, if possible - @copy($image->imagePath . '_backup', $destination_file_path . '_backup'); - // Copy the thumbnail if possible - @copy($image->thumbPath, $destination_thumb_file_path); - - // Create new database entry for the image - $new_pid = nggdb::insert_image( $destination->gid, $destination_file_name, $image->alttext, $image->description, $image->exclude); - - if (!isset($new_pid)) { - $errors .= sprintf(__('Failed to copy database row for picture %s','nggallery'), $image->pid) . '
'; - continue; - } - - // Copy tags - nggTags::copy_tags($image->pid, $new_pid); - - // Copy meta information - $meta = new nggMeta($image->pid); - nggdb::update_image_meta( $new_pid, $meta->image->meta_data); - - if ( $tmp_prefix != '' ) { - $messages .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery.','nggallery'), - $image->pid, $image->filename, $new_pid, $destination_file_name) . '
'; - } else { - $messages .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s)','nggallery'), - $image->pid, $image->filename, $new_pid, $destination_file_name) . '
'; - } - - } - - // Finish by showing errors or success - if ( $errors == '' ) { - $link = '' . $destination->title . ''; - $messages .= '
' . sprintf(__('Copied %1$s picture(s) to gallery: %2$s .','nggallery'), count($images), $link); - } - - if ( $messages != '' ) - nggGallery::show_message($messages); - - if ( $errors != '' ) - nggGallery::show_error($errors); - - return; - } - - /** - * Initate the Ajax operation - * - * @class nggAdmin - * @param string $operation name of the function which should be executed - * @param array $image_array - * @param string $title name of the operation - * @return string the javascript output - */ - function do_ajax_operation( $operation, $image_array, $title = '' ) { - - if ( !is_array($image_array) || empty($image_array) ) - return; - - $js_array = implode('","', $image_array); - - // send out some JavaScript, which initate the ajax operation - ?> - - - previewpic == 0) { - $firstImage = $wpdb->get_var("SELECT pid FROM $wpdb->nggpictures WHERE exclude != 1 AND galleryid = '$galleryID' ORDER by pid DESC limit 0,1"); - if ($firstImage) { - $wpdb->query("UPDATE $wpdb->nggallery SET previewpic = '$firstImage' WHERE gid = '$galleryID'"); - wp_cache_delete($galleryID, 'ngg_gallery'); - } - } - - return; - } - - /** - * Return a JSON coded array of Image ids for a requested gallery - * - * @class nggAdmin - * @param int $galleryID - * @return arry (JSON) - */ - function get_image_ids( $galleryID ) { - - if ( !function_exists('json_encode') ) - return(-2); - - $gallery = nggdb::get_ids_from_gallery($galleryID, 'pid', 'ASC', false); - - header('Content-Type: text/plain; charset=' . get_option('blog_charset'), true); - $output = json_encode($gallery); - - return $output; - } - - /** - * Decode upload error to normal message - * - * @class nggAdmin - * @access internal - * @param int $code php upload error code - * @return string message - */ - - function decode_upload_error( $code ) { - - switch ($code) { - case UPLOAD_ERR_INI_SIZE: - $message = __ ( 'The uploaded file exceeds the upload_max_filesize directive in php.ini', 'nggallery' ); - break; - case UPLOAD_ERR_FORM_SIZE: - $message = __ ( 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', 'nggallery' ); - break; - case UPLOAD_ERR_PARTIAL: - $message = __ ( 'The uploaded file was only partially uploaded', 'nggallery' ); - break; - case UPLOAD_ERR_NO_FILE: - $message = __ ( 'No file was uploaded', 'nggallery' ); - break; - case UPLOAD_ERR_NO_TMP_DIR: - $message = __ ( 'Missing a temporary folder', 'nggallery' ); - break; - case UPLOAD_ERR_CANT_WRITE: - $message = __ ( 'Failed to write file to disk', 'nggallery' ); - break; - case UPLOAD_ERR_EXTENSION: - $message = __ ( 'File upload stopped by extension', 'nggallery' ); - break; - default: - $message = __ ( 'Unknown upload error', 'nggallery' ); - break; - } - - return $message; - } - -} // END class nggAdmin - -/** - * TODO: Cannot be member of a class ? Check PCLZIP later... - * - * @param mixed $p_event - * @param mixed $p_header - * @return - */ -function ngg_getOnlyImages($p_event, &$p_header) { - return nggAdmin::getOnlyImages($p_event, $p_header); -} - -/** - * Ensure after zip extraction that it could be only a image file - * - * @param mixed $p_event - * @param mixed $p_header - * @return 1 - */ -function ngg_checkExtract($p_event, &$p_header) { - - // look for valid extraction - if ($p_header['status'] == 'ok') { - // check if it's any image file, delete all other files - if ( !@getimagesize ( $p_header['filename'] )) - unlink($p_header['filename']); - } - - return 1; -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-amazon.gif b/src/wp-content/plugins/nextgen-gallery/admin/images/icon-amazon.gif deleted file mode 100644 index b6e497f..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-amazon.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-paypal.gif b/src/wp-content/plugins/nextgen-gallery/admin/images/icon-paypal.gif deleted file mode 100644 index a5470d2..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-paypal.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-rating.png b/src/wp-content/plugins/nextgen-gallery/admin/images/icon-rating.png deleted file mode 100644 index eaa77e6..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-rating.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-translate.png b/src/wp-content/plugins/nextgen-gallery/admin/images/icon-translate.png deleted file mode 100644 index f806459..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/icon-translate.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/marker_bottom.gif b/src/wp-content/plugins/nextgen-gallery/admin/images/marker_bottom.gif deleted file mode 100644 index 0a14a2b..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/marker_bottom.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/marker_middle.gif b/src/wp-content/plugins/nextgen-gallery/admin/images/marker_middle.gif deleted file mode 100644 index ea47c28..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/marker_middle.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/marker_top.gif b/src/wp-content/plugins/nextgen-gallery/admin/images/marker_top.gif deleted file mode 100644 index 22760f2..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/marker_top.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/menu-bits.gif b/src/wp-content/plugins/nextgen-gallery/admin/images/menu-bits.gif deleted file mode 100644 index 9a10a9a..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/menu-bits.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen.png b/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen.png deleted file mode 100644 index 4e3f9ef..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_16_color.png b/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_16_color.png deleted file mode 100644 index 7d89530..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_16_color.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_16_grey.png b/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_16_grey.png deleted file mode 100644 index 7e8d9fa..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_16_grey.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_32_color.png b/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_32_color.png deleted file mode 100644 index d936869..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_32_color.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_32_grey.png b/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_32_grey.png deleted file mode 100644 index f22f3d8..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/nextgen_32_grey.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/images/select.png b/src/wp-content/plugins/nextgen-gallery/admin/images/select.png deleted file mode 100644 index 21213bf..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/images/select.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/index.html b/src/wp-content/plugins/nextgen-gallery/admin/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/src/wp-content/plugins/nextgen-gallery/admin/install.php b/src/wp-content/plugins/nextgen-gallery/admin/install.php deleted file mode 100644 index c4d7dd3..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/install.php +++ /dev/null @@ -1,293 +0,0 @@ -add_cap('NextGEN Gallery overview'); - $role->add_cap('NextGEN Use TinyMCE'); - $role->add_cap('NextGEN Upload images'); - $role->add_cap('NextGEN Manage gallery'); - $role->add_cap('NextGEN Manage tags'); - $role->add_cap('NextGEN Manage others gallery'); - $role->add_cap('NextGEN Edit album'); - $role->add_cap('NextGEN Change style'); - $role->add_cap('NextGEN Change options'); - - // upgrade function changed in WordPress 2.3 - require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); - - // add charset & collate like wp core - $charset_collate = ''; - - if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) { - if ( ! empty($wpdb->charset) ) - $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; - if ( ! empty($wpdb->collate) ) - $charset_collate .= " COLLATE $wpdb->collate"; - } - - $nggpictures = $wpdb->prefix . 'ngg_pictures'; - $nggallery = $wpdb->prefix . 'ngg_gallery'; - $nggalbum = $wpdb->prefix . 'ngg_album'; - - // could be case senstive : http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html - if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggpictures'" ) ) { - - $sql = "CREATE TABLE " . $nggpictures . " ( - pid BIGINT(20) NOT NULL AUTO_INCREMENT , - image_slug VARCHAR(255) NOT NULL , - post_id BIGINT(20) DEFAULT '0' NOT NULL , - galleryid BIGINT(20) DEFAULT '0' NOT NULL , - filename VARCHAR(255) NOT NULL , - description MEDIUMTEXT NULL , - alttext MEDIUMTEXT NULL , - imagedate DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', - exclude TINYINT NULL DEFAULT '0' , - sortorder BIGINT(20) DEFAULT '0' NOT NULL , - meta_data LONGTEXT, - PRIMARY KEY pid (pid), - KEY post_id (post_id) - ) $charset_collate;"; - - dbDelta($sql); - } - - if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggallery'" )) { - - $sql = "CREATE TABLE " . $nggallery . " ( - gid BIGINT(20) NOT NULL AUTO_INCREMENT , - name VARCHAR(255) NOT NULL , - slug VARCHAR(255) NOT NULL , - path MEDIUMTEXT NULL , - title MEDIUMTEXT NULL , - galdesc MEDIUMTEXT NULL , - pageid BIGINT(20) DEFAULT '0' NOT NULL , - previewpic BIGINT(20) DEFAULT '0' NOT NULL , - author BIGINT(20) DEFAULT '0' NOT NULL , - PRIMARY KEY gid (gid) - ) $charset_collate;"; - - dbDelta($sql); - } - - if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggalbum'" )) { - - $sql = "CREATE TABLE " . $nggalbum . " ( - id BIGINT(20) NOT NULL AUTO_INCREMENT , - name VARCHAR(255) NOT NULL , - slug VARCHAR(255) NOT NULL , - previewpic BIGINT(20) DEFAULT '0' NOT NULL , - albumdesc MEDIUMTEXT NULL , - sortorder LONGTEXT NOT NULL, - pageid BIGINT(20) DEFAULT '0' NOT NULL, - PRIMARY KEY id (id) - ) $charset_collate;"; - - dbDelta($sql); - } - - // check one table again, to be sure - if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggpictures'" ) ) { - update_option( "ngg_init_check", __('NextGEN Gallery : Tables could not created, please check your database settings',"nggallery") ); - return; - } - - $options = get_option('ngg_options'); - // set the default settings, if we didn't upgrade - if ( empty( $options ) ) - ngg_default_options(); - - // if all is passed , save the DBVERSION - add_option("ngg_db_version", NGG_DBVERSION); - -} - -/** - * Setup the default option array for the gallery - * - * @access internal - * @since version 0.33 - * @return void - */ -function ngg_default_options() { - - global $blog_id, $ngg; - - $ngg_options['gallerypath'] = 'wp-content/gallery/'; // set default path to the gallery - $ngg_options['deleteImg'] = true; // delete Images - $ngg_options['swfUpload'] = true; // activate the batch upload - $ngg_options['usePermalinks'] = false; // use permalinks for parameters - $ngg_options['graphicLibrary'] = 'gd'; // default graphic library - $ngg_options['imageMagickDir'] = '/usr/local/bin/'; // default path to ImageMagick - $ngg_options['useMediaRSS'] = false; // activate the global Media RSS file - $ngg_options['usePicLens'] = false; // activate the PicLens Link for galleries - - // Tags / categories - $ngg_options['activateTags'] = false; // append related images - $ngg_options['appendType'] = 'tags'; // look for category or tags - $ngg_options['maxImages'] = 7; // number of images toshow - - // Thumbnail Settings - $ngg_options['thumbwidth'] = 100; // Thumb Width - $ngg_options['thumbheight'] = 75; // Thumb height - $ngg_options['thumbfix'] = true; // Fix the dimension - $ngg_options['thumbquality'] = 100; // Thumb Quality - - // Image Settings - $ngg_options['imgWidth'] = 800; // Image Width - $ngg_options['imgHeight'] = 600; // Image height - $ngg_options['imgQuality'] = 85; // Image Quality - $ngg_options['imgCacheSinglePic'] = true; // Cached the singlepic - $ngg_options['imgBackup'] = true; // Create a backup - $ngg_options['imgAutoResize'] = false; // Resize after upload - - // Gallery Settings - $ngg_options['galImages'] = '20'; // Number of images per page - $ngg_options['galPagedGalleries'] = 0; // Number of galleries per page (in a album) - $ngg_options['galColumns'] = 0; // Number of columns for the gallery - $ngg_options['galShowSlide'] = true; // Show slideshow - $ngg_options['galTextSlide'] = __('[Show as slideshow]','nggallery'); // Text for slideshow - $ngg_options['galTextGallery'] = __('[Show picture list]','nggallery'); // Text for gallery - $ngg_options['galShowOrder'] = 'gallery'; // Show order - $ngg_options['galSort'] = 'sortorder'; // Sort order - $ngg_options['galSortDir'] = 'ASC'; // Sort direction - $ngg_options['galNoPages'] = true; // use no subpages for gallery - $ngg_options['galImgBrowser'] = false; // Show ImageBrowser, instead effect - $ngg_options['galHiddenImg'] = false; // For paged galleries we can hide image - $ngg_options['galAjaxNav'] = false; // AJAX Navigation for Shutter effect - - // Thumbnail Effect - $ngg_options['thumbEffect'] = 'shutter'; // select effect - $ngg_options['thumbCode'] = 'class="shutterset_%GALLERY_NAME%"'; - - // Watermark settings - $ngg_options['wmPos'] = 'botRight'; // Postion - $ngg_options['wmXpos'] = 5; // X Pos - $ngg_options['wmYpos'] = 5; // Y Pos - $ngg_options['wmType'] = 'text'; // Type : 'image' / 'text' - $ngg_options['wmPath'] = ''; // Path to image - $ngg_options['wmFont'] = 'arial.ttf'; // Font type - $ngg_options['wmSize'] = 10; // Font Size - $ngg_options['wmText'] = get_option('blogname'); // Text - $ngg_options['wmColor'] = '000000'; // Font Color - $ngg_options['wmOpaque'] = '100'; // Font Opaque - - // Image Rotator settings - $ngg_options['enableIR'] = false; - $ngg_options['slideFx'] = 'fade'; - $ngg_options['irURL'] = ''; - $ngg_options['irXHTMLvalid'] = false; - $ngg_options['irAudio'] = ''; - $ngg_options['irWidth'] = 320; - $ngg_options['irHeight'] = 240; - $ngg_options['irShuffle'] = true; - $ngg_options['irLinkfromdisplay'] = true; - $ngg_options['irShownavigation'] = false; - $ngg_options['irShowicons'] = false; - $ngg_options['irWatermark'] = false; - $ngg_options['irOverstretch'] = 'true'; - $ngg_options['irRotatetime'] = 10; - $ngg_options['irTransition'] = 'random'; - $ngg_options['irKenburns'] = false; - $ngg_options['irBackcolor'] = '000000'; - $ngg_options['irFrontcolor'] = 'FFFFFF'; - $ngg_options['irLightcolor'] = 'CC0000'; - $ngg_options['irScreencolor'] = '000000'; - - // CSS Style - $ngg_options['activateCSS'] = true; // activate the CSS file - $ngg_options['CSSfile'] = 'nggallery.css'; // set default css filename - - // special overrides for WPMU - if (is_multisite()) { - // get the site options - $ngg_wpmu_options = get_site_option('ngg_options'); - - // get the default value during first installation - if (!is_array($ngg_wpmu_options)) { - $ngg_wpmu_options['gallerypath'] = 'wp-content/blogs.dir/%BLOG_ID%/files/'; - $ngg_wpmu_options['wpmuCSSfile'] = 'nggallery.css'; - update_site_option('ngg_options', $ngg_wpmu_options); - } - - $ngg_options['gallerypath'] = str_replace("%BLOG_ID%", $blog_id , $ngg_wpmu_options['gallerypath']); - $ngg_options['CSSfile'] = $ngg_wpmu_options['wpmuCSSfile']; - $ngg_options['imgCacheSinglePic'] = true; // under WPMU this should be enabled - } - - update_option('ngg_options', $ngg_options); - -} - -/** - * Deregister a capability from all classic roles - * - * @access internal - * @param string $capability name of the capability which should be deregister - * @return void - */ -function ngg_remove_capability($capability){ - // this function remove the $capability only from the classic roles - $check_order = array("subscriber", "contributor", "author", "editor", "administrator"); - - foreach ($check_order as $role) { - - $role = get_role($role); - $role->remove_cap($capability) ; - } - -} - -/** - * Uninstall all settings and tables - * Called via Setup and register_unstall hook - * - * @access internal - * @return void - */ -function nggallery_uninstall() { - global $wpdb; - - // first remove all tables - $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}ngg_pictures"); - $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}ngg_gallery"); - $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}ngg_album"); - - // then remove all options - delete_option( 'ngg_options' ); - delete_option( 'ngg_db_version' ); - delete_option( 'ngg_update_exists' ); - delete_option( 'ngg_next_update' ); - - // now remove the capability - ngg_remove_capability("NextGEN Gallery overview"); - ngg_remove_capability("NextGEN Use TinyMCE"); - ngg_remove_capability("NextGEN Upload images"); - ngg_remove_capability("NextGEN Manage gallery"); - ngg_remove_capability("NextGEN Edit album"); - ngg_remove_capability("NextGEN Change style"); - ngg_remove_capability("NextGEN Change options"); -} - -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/css/Jcrop.gif b/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/css/Jcrop.gif deleted file mode 100644 index 72ea7cc..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/css/Jcrop.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/css/jquery.Jcrop.css b/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/css/jquery.Jcrop.css deleted file mode 100644 index 24925dc..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/css/jquery.Jcrop.css +++ /dev/null @@ -1,35 +0,0 @@ -/* Fixes issue here http://code.google.com/p/jcrop/issues/detail?id=1 */ -.jcrop-holder { text-align: left; } - -.jcrop-vline, .jcrop-hline -{ - font-size: 0; - position: absolute; - background: white url('Jcrop.gif') top left repeat; -} -.jcrop-vline { height: 100%; width: 1px !important; } -.jcrop-hline { width: 100%; height: 1px !important; } -.jcrop-handle { - font-size: 1px; - width: 7px !important; - height: 7px !important; - border: 1px #eee solid; - background-color: #333; - *width: 9px; - *height: 9px; -} - -.jcrop-tracker { width: 100%; height: 100%; } - -.custom .jcrop-vline, -.custom .jcrop-hline -{ - background: yellow; -} -.custom .jcrop-handle -{ - border-color: black; - background-color: #C7BB00; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/js/jquery.Jcrop.js b/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/js/jquery.Jcrop.js deleted file mode 100644 index ad261f9..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/Jcrop/js/jquery.Jcrop.js +++ /dev/null @@ -1,1197 +0,0 @@ -/** - * jquery.Jcrop.js v0.9.8 - * jQuery Image Cropping Plugin - * @author Kelly Hallman - * Copyright (c) 2008-2009 Kelly Hallman - released under MIT License {{{ - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - - * }}} - */ - -(function($) { - -$.Jcrop = function(obj,opt) -{ - // Initialization {{{ - - // Sanitize some options {{{ - var obj = obj, opt = opt; - - if (typeof(obj) !== 'object') obj = $(obj)[0]; - if (typeof(opt) !== 'object') opt = { }; - - // Some on-the-fly fixes for MSIE...sigh - if (!('trackDocument' in opt)) - { - opt.trackDocument = $.browser.msie ? false : true; - if ($.browser.msie && $.browser.version.split('.')[0] == '8') - opt.trackDocument = true; - } - - if (!('keySupport' in opt)) - opt.keySupport = $.browser.msie ? false : true; - - // }}} - // Extend the default options {{{ - var defaults = { - - // Basic Settings - trackDocument: false, - baseClass: 'jcrop', - addClass: null, - - // Styling Options - bgColor: 'black', - bgOpacity: .6, - borderOpacity: .4, - handleOpacity: .5, - - handlePad: 5, - handleSize: 9, - handleOffset: 5, - edgeMargin: 14, - - aspectRatio: 0, - keySupport: true, - cornerHandles: true, - sideHandles: true, - drawBorders: true, - dragEdges: true, - - boxWidth: 0, - boxHeight: 0, - - boundary: 8, - animationDelay: 20, - swingSpeed: 3, - - allowSelect: true, - allowMove: true, - allowResize: true, - - minSelect: [ 0, 0 ], - maxSize: [ 0, 0 ], - minSize: [ 0, 0 ], - - // Callbacks / Event Handlers - onChange: function() { }, - onSelect: function() { } - - }; - var options = defaults; - setOptions(opt); - - // }}} - // Initialize some jQuery objects {{{ - - var $origimg = $(obj); - var $img = $origimg.clone().removeAttr('id').css({ position: 'absolute' }); - - $img.width($origimg.width()); - $img.height($origimg.height()); - $origimg.after($img).hide(); - - presize($img,options.boxWidth,options.boxHeight); - - var boundx = $img.width(), - boundy = $img.height(), - - $div = $('
') - .width(boundx).height(boundy) - .addClass(cssClass('holder')) - .css({ - position: 'relative', - backgroundColor: options.bgColor - }).insertAfter($origimg).append($img); - ; - - if (options.addClass) $div.addClass(options.addClass); - //$img.wrap($div); - - var $img2 = $('')/*{{{*/ - .attr('src',$img.attr('src')) - .css('position','absolute') - .width(boundx).height(boundy) - ;/*}}}*/ - var $img_holder = $('
')/*{{{*/ - .width(pct(100)).height(pct(100)) - .css({ - zIndex: 310, - position: 'absolute', - overflow: 'hidden' - }) - .append($img2) - ;/*}}}*/ - var $hdl_holder = $('
')/*{{{*/ - .width(pct(100)).height(pct(100)) - .css('zIndex',320); - /*}}}*/ - var $sel = $('
')/*{{{*/ - .css({ - position: 'absolute', - zIndex: 300 - }) - .insertBefore($img) - .append($img_holder,$hdl_holder) - ;/*}}}*/ - - var bound = options.boundary; - var $trk = newTracker().width(boundx+(bound*2)).height(boundy+(bound*2)) - .css({ position: 'absolute', top: px(-bound), left: px(-bound), zIndex: 290 }) - .mousedown(newSelection); - - /* }}} */ - // Set more variables {{{ - - var xlimit, ylimit, xmin, ymin; - var xscale, yscale, enabled = true; - var docOffset = getPos($img), - // Internal states - btndown, lastcurs, dimmed, animating, - shift_down; - - // }}} - - - // }}} - // Internal Modules {{{ - - var Coords = function()/*{{{*/ - { - var x1 = 0, y1 = 0, x2 = 0, y2 = 0, ox, oy; - - function setPressed(pos)/*{{{*/ - { - var pos = rebound(pos); - x2 = x1 = pos[0]; - y2 = y1 = pos[1]; - }; - /*}}}*/ - function setCurrent(pos)/*{{{*/ - { - var pos = rebound(pos); - ox = pos[0] - x2; - oy = pos[1] - y2; - x2 = pos[0]; - y2 = pos[1]; - }; - /*}}}*/ - function getOffset()/*{{{*/ - { - return [ ox, oy ]; - }; - /*}}}*/ - function moveOffset(offset)/*{{{*/ - { - var ox = offset[0], oy = offset[1]; - - if (0 > x1 + ox) ox -= ox + x1; - if (0 > y1 + oy) oy -= oy + y1; - - if (boundy < y2 + oy) oy += boundy - (y2 + oy); - if (boundx < x2 + ox) ox += boundx - (x2 + ox); - - x1 += ox; - x2 += ox; - y1 += oy; - y2 += oy; - }; - /*}}}*/ - function getCorner(ord)/*{{{*/ - { - var c = getFixed(); - switch(ord) - { - case 'ne': return [ c.x2, c.y ]; - case 'nw': return [ c.x, c.y ]; - case 'se': return [ c.x2, c.y2 ]; - case 'sw': return [ c.x, c.y2 ]; - } - }; - /*}}}*/ - function getFixed()/*{{{*/ - { - if (!options.aspectRatio) return getRect(); - // This function could use some optimization I think... - var aspect = options.aspectRatio, - min_x = options.minSize[0]/xscale, - min_y = options.minSize[1]/yscale, - max_x = options.maxSize[0]/xscale, - max_y = options.maxSize[1]/yscale, - rw = x2 - x1, - rh = y2 - y1, - rwa = Math.abs(rw), - rha = Math.abs(rh), - real_ratio = rwa / rha, - xx, yy - ; - if (max_x == 0) { max_x = boundx * 10 } - if (max_y == 0) { max_y = boundy * 10 } - if (real_ratio < aspect) - { - yy = y2; - w = rha * aspect; - xx = rw < 0 ? x1 - w : w + x1; - - if (xx < 0) - { - xx = 0; - h = Math.abs((xx - x1) / aspect); - yy = rh < 0 ? y1 - h: h + y1; - } - else if (xx > boundx) - { - xx = boundx; - h = Math.abs((xx - x1) / aspect); - yy = rh < 0 ? y1 - h : h + y1; - } - } - else - { - xx = x2; - h = rwa / aspect; - yy = rh < 0 ? y1 - h : y1 + h; - if (yy < 0) - { - yy = 0; - w = Math.abs((yy - y1) * aspect); - xx = rw < 0 ? x1 - w : w + x1; - } - else if (yy > boundy) - { - yy = boundy; - w = Math.abs(yy - y1) * aspect; - xx = rw < 0 ? x1 - w : w + x1; - } - } - - // Magic %-) - if(xx > x1) { // right side - if(xx - x1 < min_x) { - xx = x1 + min_x; - } else if (xx - x1 > max_x) { - xx = x1 + max_x; - } - if(yy > y1) { - yy = y1 + (xx - x1)/aspect; - } else { - yy = y1 - (xx - x1)/aspect; - } - } else if (xx < x1) { // left side - if(x1 - xx < min_x) { - xx = x1 - min_x - } else if (x1 - xx > max_x) { - xx = x1 - max_x; - } - if(yy > y1) { - yy = y1 + (x1 - xx)/aspect; - } else { - yy = y1 - (x1 - xx)/aspect; - } - } - - if(xx < 0) { - x1 -= xx; - xx = 0; - } else if (xx > boundx) { - x1 -= xx - boundx; - xx = boundx; - } - - if(yy < 0) { - y1 -= yy; - yy = 0; - } else if (yy > boundy) { - y1 -= yy - boundy; - yy = boundy; - } - - return last = makeObj(flipCoords(x1,y1,xx,yy)); - }; - /*}}}*/ - function rebound(p)/*{{{*/ - { - if (p[0] < 0) p[0] = 0; - if (p[1] < 0) p[1] = 0; - - if (p[0] > boundx) p[0] = boundx; - if (p[1] > boundy) p[1] = boundy; - - return [ p[0], p[1] ]; - }; - /*}}}*/ - function flipCoords(x1,y1,x2,y2)/*{{{*/ - { - var xa = x1, xb = x2, ya = y1, yb = y2; - if (x2 < x1) - { - xa = x2; - xb = x1; - } - if (y2 < y1) - { - ya = y2; - yb = y1; - } - return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ]; - }; - /*}}}*/ - function getRect()/*{{{*/ - { - var xsize = x2 - x1; - var ysize = y2 - y1; - - if (xlimit && (Math.abs(xsize) > xlimit)) - x2 = (xsize > 0) ? (x1 + xlimit) : (x1 - xlimit); - if (ylimit && (Math.abs(ysize) > ylimit)) - y2 = (ysize > 0) ? (y1 + ylimit) : (y1 - ylimit); - - if (ymin && (Math.abs(ysize) < ymin)) - y2 = (ysize > 0) ? (y1 + ymin) : (y1 - ymin); - if (xmin && (Math.abs(xsize) < xmin)) - x2 = (xsize > 0) ? (x1 + xmin) : (x1 - xmin); - - if (x1 < 0) { x2 -= x1; x1 -= x1; } - if (y1 < 0) { y2 -= y1; y1 -= y1; } - if (x2 < 0) { x1 -= x2; x2 -= x2; } - if (y2 < 0) { y1 -= y2; y2 -= y2; } - if (x2 > boundx) { var delta = x2 - boundx; x1 -= delta; x2 -= delta; } - if (y2 > boundy) { var delta = y2 - boundy; y1 -= delta; y2 -= delta; } - if (x1 > boundx) { var delta = x1 - boundy; y2 -= delta; y1 -= delta; } - if (y1 > boundy) { var delta = y1 - boundy; y2 -= delta; y1 -= delta; } - - return makeObj(flipCoords(x1,y1,x2,y2)); - }; - /*}}}*/ - function makeObj(a)/*{{{*/ - { - return { x: a[0], y: a[1], x2: a[2], y2: a[3], - w: a[2] - a[0], h: a[3] - a[1] }; - }; - /*}}}*/ - - return { - flipCoords: flipCoords, - setPressed: setPressed, - setCurrent: setCurrent, - getOffset: getOffset, - moveOffset: moveOffset, - getCorner: getCorner, - getFixed: getFixed - }; - }(); - - /*}}}*/ - var Selection = function()/*{{{*/ - { - var start, end, dragmode, awake, hdep = 370; - var borders = { }; - var handle = { }; - var seehandles = false; - var hhs = options.handleOffset; - - /* Insert draggable elements {{{*/ - - // Insert border divs for outline - if (options.drawBorders) { - borders = { - top: insertBorder('hline') - .css('top',$.browser.msie?px(-1):px(0)), - bottom: insertBorder('hline'), - left: insertBorder('vline'), - right: insertBorder('vline') - }; - } - - // Insert handles on edges - if (options.dragEdges) { - handle.t = insertDragbar('n'); - handle.b = insertDragbar('s'); - handle.r = insertDragbar('e'); - handle.l = insertDragbar('w'); - } - - // Insert side handles - options.sideHandles && - createHandles(['n','s','e','w']); - - // Insert corner handles - options.cornerHandles && - createHandles(['sw','nw','ne','se']); - - /*}}}*/ - // Private Methods - function insertBorder(type)/*{{{*/ - { - var jq = $('
') - .css({position: 'absolute', opacity: options.borderOpacity }) - .addClass(cssClass(type)); - $img_holder.append(jq); - return jq; - }; - /*}}}*/ - function dragDiv(ord,zi)/*{{{*/ - { - var jq = $('
') - .mousedown(createDragger(ord)) - .css({ - cursor: ord+'-resize', - position: 'absolute', - zIndex: zi - }) - ; - $hdl_holder.append(jq); - return jq; - }; - /*}}}*/ - function insertHandle(ord)/*{{{*/ - { - return dragDiv(ord,hdep++) - .css({ top: px(-hhs+1), left: px(-hhs+1), opacity: options.handleOpacity }) - .addClass(cssClass('handle')); - }; - /*}}}*/ - function insertDragbar(ord)/*{{{*/ - { - var s = options.handleSize, - o = hhs, - h = s, w = s, - t = o, l = o; - - switch(ord) - { - case 'n': case 's': w = pct(100); break; - case 'e': case 'w': h = pct(100); break; - } - - return dragDiv(ord,hdep++).width(w).height(h) - .css({ top: px(-t+1), left: px(-l+1)}); - }; - /*}}}*/ - function createHandles(li)/*{{{*/ - { - for(i in li) handle[li[i]] = insertHandle(li[i]); - }; - /*}}}*/ - function moveHandles(c)/*{{{*/ - { - var midvert = Math.round((c.h / 2) - hhs), - midhoriz = Math.round((c.w / 2) - hhs), - north = west = -hhs+1, - east = c.w - hhs, - south = c.h - hhs, - x, y; - - 'e' in handle && - handle.e.css({ top: px(midvert), left: px(east) }) && - handle.w.css({ top: px(midvert) }) && - handle.s.css({ top: px(south), left: px(midhoriz) }) && - handle.n.css({ left: px(midhoriz) }); - - 'ne' in handle && - handle.ne.css({ left: px(east) }) && - handle.se.css({ top: px(south), left: px(east) }) && - handle.sw.css({ top: px(south) }); - - 'b' in handle && - handle.b.css({ top: px(south) }) && - handle.r.css({ left: px(east) }); - }; - /*}}}*/ - function moveto(x,y)/*{{{*/ - { - $img2.css({ top: px(-y), left: px(-x) }); - $sel.css({ top: px(y), left: px(x) }); - }; - /*}}}*/ - function resize(w,h)/*{{{*/ - { - $sel.width(w).height(h); - }; - /*}}}*/ - function refresh()/*{{{*/ - { - var c = Coords.getFixed(); - - Coords.setPressed([c.x,c.y]); - Coords.setCurrent([c.x2,c.y2]); - - updateVisible(); - }; - /*}}}*/ - - // Internal Methods - function updateVisible()/*{{{*/ - { if (awake) return update(); }; - /*}}}*/ - function update()/*{{{*/ - { - var c = Coords.getFixed(); - - resize(c.w,c.h); - moveto(c.x,c.y); - - options.drawBorders && - borders['right'].css({ left: px(c.w-1) }) && - borders['bottom'].css({ top: px(c.h-1) }); - - seehandles && moveHandles(c); - awake || show(); - - options.onChange(unscale(c)); - }; - /*}}}*/ - function show()/*{{{*/ - { - $sel.show(); - $img.css('opacity',options.bgOpacity); - awake = true; - }; - /*}}}*/ - function release()/*{{{*/ - { - disableHandles(); - $sel.hide(); - $img.css('opacity',1); - awake = false; - }; - /*}}}*/ - function showHandles()//{{{ - { - if (seehandles) - { - moveHandles(Coords.getFixed()); - $hdl_holder.show(); - } - }; - //}}} - function enableHandles()/*{{{*/ - { - seehandles = true; - if (options.allowResize) - { - moveHandles(Coords.getFixed()); - $hdl_holder.show(); - return true; - } - }; - /*}}}*/ - function disableHandles()/*{{{*/ - { - seehandles = false; - $hdl_holder.hide(); - }; - /*}}}*/ - function animMode(v)/*{{{*/ - { - (animating = v) ? disableHandles(): enableHandles(); - }; - /*}}}*/ - function done()/*{{{*/ - { - animMode(false); - refresh(); - }; - /*}}}*/ - - var $track = newTracker().mousedown(createDragger('move')) - .css({ cursor: 'move', position: 'absolute', zIndex: 360 }) - - $img_holder.append($track); - disableHandles(); - - return { - updateVisible: updateVisible, - update: update, - release: release, - refresh: refresh, - setCursor: function (cursor) { $track.css('cursor',cursor); }, - enableHandles: enableHandles, - enableOnly: function() { seehandles = true; }, - showHandles: showHandles, - disableHandles: disableHandles, - animMode: animMode, - done: done - }; - }(); - /*}}}*/ - var Tracker = function()/*{{{*/ - { - var onMove = function() { }, - onDone = function() { }, - trackDoc = options.trackDocument; - - if (!trackDoc) - { - $trk - .mousemove(trackMove) - .mouseup(trackUp) - .mouseout(trackUp) - ; - } - - function toFront()/*{{{*/ - { - $trk.css({zIndex:450}); - if (trackDoc) - { - $(document) - .mousemove(trackMove) - .mouseup(trackUp) - ; - } - } - /*}}}*/ - function toBack()/*{{{*/ - { - $trk.css({zIndex:290}); - if (trackDoc) - { - $(document) - .unbind('mousemove',trackMove) - .unbind('mouseup',trackUp) - ; - } - } - /*}}}*/ - function trackMove(e)/*{{{*/ - { - onMove(mouseAbs(e)); - }; - /*}}}*/ - function trackUp(e)/*{{{*/ - { - e.preventDefault(); - e.stopPropagation(); - - if (btndown) - { - btndown = false; - - onDone(mouseAbs(e)); - options.onSelect(unscale(Coords.getFixed())); - toBack(); - onMove = function() { }; - onDone = function() { }; - } - - return false; - }; - /*}}}*/ - - function activateHandlers(move,done)/* {{{ */ - { - btndown = true; - onMove = move; - onDone = done; - toFront(); - return false; - }; - /* }}} */ - - function setCursor(t) { $trk.css('cursor',t); }; - - $img.before($trk); - return { - activateHandlers: activateHandlers, - setCursor: setCursor - }; - }(); - /*}}}*/ - var KeyManager = function()/*{{{*/ - { - var $keymgr = $('') - .css({ position: 'absolute', left: '-30px' }) - .keypress(parseKey) - .blur(onBlur), - - $keywrap = $('
') - .css({ - position: 'absolute', - overflow: 'hidden' - }) - .append($keymgr) - ; - - function watchKeys()/*{{{*/ - { - if (options.keySupport) - { - $keymgr.show(); - $keymgr.focus(); - } - }; - /*}}}*/ - function onBlur(e)/*{{{*/ - { - $keymgr.hide(); - }; - /*}}}*/ - function doNudge(e,x,y)/*{{{*/ - { - if (options.allowMove) { - Coords.moveOffset([x,y]); - Selection.updateVisible(); - }; - e.preventDefault(); - e.stopPropagation(); - }; - /*}}}*/ - function parseKey(e)/*{{{*/ - { - if (e.ctrlKey) return true; - shift_down = e.shiftKey ? true : false; - var nudge = shift_down ? 10 : 1; - switch(e.keyCode) - { - case 37: doNudge(e,-nudge,0); break; - case 39: doNudge(e,nudge,0); break; - case 38: doNudge(e,0,-nudge); break; - case 40: doNudge(e,0,nudge); break; - - case 27: Selection.release(); break; - - case 9: return true; - } - - return nothing(e); - }; - /*}}}*/ - - if (options.keySupport) $keywrap.insertBefore($img); - return { - watchKeys: watchKeys - }; - }(); - /*}}}*/ - - // }}} - // Internal Methods {{{ - - function px(n) { return '' + parseInt(n) + 'px'; }; - function pct(n) { return '' + parseInt(n) + '%'; }; - function cssClass(cl) { return options.baseClass + '-' + cl; }; - function getPos(obj)/*{{{*/ - { - // Updated in v0.9.4 to use built-in dimensions plugin - var pos = $(obj).offset(); - return [ pos.left, pos.top ]; - }; - /*}}}*/ - function mouseAbs(e)/*{{{*/ - { - return [ (e.pageX - docOffset[0]), (e.pageY - docOffset[1]) ]; - }; - /*}}}*/ - function myCursor(type)/*{{{*/ - { - if (type != lastcurs) - { - Tracker.setCursor(type); - //Handles.xsetCursor(type); - lastcurs = type; - } - }; - /*}}}*/ - function startDragMode(mode,pos)/*{{{*/ - { - docOffset = getPos($img); - Tracker.setCursor(mode=='move'?mode:mode+'-resize'); - - if (mode == 'move') - return Tracker.activateHandlers(createMover(pos), doneSelect); - - var fc = Coords.getFixed(); - var opp = oppLockCorner(mode); - var opc = Coords.getCorner(oppLockCorner(opp)); - - Coords.setPressed(Coords.getCorner(opp)); - Coords.setCurrent(opc); - - Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect); - }; - /*}}}*/ - function dragmodeHandler(mode,f)/*{{{*/ - { - return function(pos) { - if (!options.aspectRatio) switch(mode) - { - case 'e': pos[1] = f.y2; break; - case 'w': pos[1] = f.y2; break; - case 'n': pos[0] = f.x2; break; - case 's': pos[0] = f.x2; break; - } - else switch(mode) - { - case 'e': pos[1] = f.y+1; break; - case 'w': pos[1] = f.y+1; break; - case 'n': pos[0] = f.x+1; break; - case 's': pos[0] = f.x+1; break; - } - Coords.setCurrent(pos); - Selection.update(); - }; - }; - /*}}}*/ - function createMover(pos)/*{{{*/ - { - var lloc = pos; - KeyManager.watchKeys(); - - return function(pos) - { - Coords.moveOffset([pos[0] - lloc[0], pos[1] - lloc[1]]); - lloc = pos; - - Selection.update(); - }; - }; - /*}}}*/ - function oppLockCorner(ord)/*{{{*/ - { - switch(ord) - { - case 'n': return 'sw'; - case 's': return 'nw'; - case 'e': return 'nw'; - case 'w': return 'ne'; - case 'ne': return 'sw'; - case 'nw': return 'se'; - case 'se': return 'nw'; - case 'sw': return 'ne'; - }; - }; - /*}}}*/ - function createDragger(ord)/*{{{*/ - { - return function(e) { - if (options.disabled) return false; - if ((ord == 'move') && !options.allowMove) return false; - btndown = true; - startDragMode(ord,mouseAbs(e)); - e.stopPropagation(); - e.preventDefault(); - return false; - }; - }; - /*}}}*/ - function presize($obj,w,h)/*{{{*/ - { - var nw = $obj.width(), nh = $obj.height(); - if ((nw > w) && w > 0) - { - nw = w; - nh = (w/$obj.width()) * $obj.height(); - } - if ((nh > h) && h > 0) - { - nh = h; - nw = (h/$obj.height()) * $obj.width(); - } - xscale = $obj.width() / nw; - yscale = $obj.height() / nh; - $obj.width(nw).height(nh); - }; - /*}}}*/ - function unscale(c)/*{{{*/ - { - return { - x: parseInt(c.x * xscale), y: parseInt(c.y * yscale), - x2: parseInt(c.x2 * xscale), y2: parseInt(c.y2 * yscale), - w: parseInt(c.w * xscale), h: parseInt(c.h * yscale) - }; - }; - /*}}}*/ - function doneSelect(pos)/*{{{*/ - { - var c = Coords.getFixed(); - if (c.w > options.minSelect[0] && c.h > options.minSelect[1]) - { - Selection.enableHandles(); - Selection.done(); - } - else - { - Selection.release(); - } - Tracker.setCursor( options.allowSelect?'crosshair':'default' ); - }; - /*}}}*/ - function newSelection(e)/*{{{*/ - { - if (options.disabled) return false; - if (!options.allowSelect) return false; - btndown = true; - docOffset = getPos($img); - Selection.disableHandles(); - myCursor('crosshair'); - var pos = mouseAbs(e); - Coords.setPressed(pos); - Tracker.activateHandlers(selectDrag,doneSelect); - KeyManager.watchKeys(); - Selection.update(); - - e.stopPropagation(); - e.preventDefault(); - return false; - }; - /*}}}*/ - function selectDrag(pos)/*{{{*/ - { - Coords.setCurrent(pos); - Selection.update(); - }; - /*}}}*/ - function newTracker() - { - var trk = $('
').addClass(cssClass('tracker')); - $.browser.msie && trk.css({ opacity: 0, backgroundColor: 'white' }); - return trk; - }; - - // }}} - // API methods {{{ - - function animateTo(a)/*{{{*/ - { - var x1 = a[0] / xscale, - y1 = a[1] / yscale, - x2 = a[2] / xscale, - y2 = a[3] / yscale; - - if (animating) return; - - var animto = Coords.flipCoords(x1,y1,x2,y2); - var c = Coords.getFixed(); - var animat = initcr = [ c.x, c.y, c.x2, c.y2 ]; - var interv = options.animationDelay; - - var x = animat[0]; - var y = animat[1]; - var x2 = animat[2]; - var y2 = animat[3]; - var ix1 = animto[0] - initcr[0]; - var iy1 = animto[1] - initcr[1]; - var ix2 = animto[2] - initcr[2]; - var iy2 = animto[3] - initcr[3]; - var pcent = 0; - var velocity = options.swingSpeed; - - Selection.animMode(true); - - var animator = function() - { - return function() - { - pcent += (100 - pcent) / velocity; - - animat[0] = x + ((pcent / 100) * ix1); - animat[1] = y + ((pcent / 100) * iy1); - animat[2] = x2 + ((pcent / 100) * ix2); - animat[3] = y2 + ((pcent / 100) * iy2); - - if (pcent < 100) animateStart(); - else Selection.done(); - - if (pcent >= 99.8) pcent = 100; - - setSelectRaw(animat); - }; - }(); - - function animateStart() - { window.setTimeout(animator,interv); }; - - animateStart(); - }; - /*}}}*/ - function setSelect(rect)//{{{ - { - setSelectRaw([rect[0]/xscale,rect[1]/yscale,rect[2]/xscale,rect[3]/yscale]); - }; - //}}} - function setSelectRaw(l) /*{{{*/ - { - Coords.setPressed([l[0],l[1]]); - Coords.setCurrent([l[2],l[3]]); - Selection.update(); - }; - /*}}}*/ - function setOptions(opt)/*{{{*/ - { - if (typeof(opt) != 'object') opt = { }; - options = $.extend(options,opt); - - if (typeof(options.onChange)!=='function') - options.onChange = function() { }; - - if (typeof(options.onSelect)!=='function') - options.onSelect = function() { }; - - }; - /*}}}*/ - function tellSelect()/*{{{*/ - { - return unscale(Coords.getFixed()); - }; - /*}}}*/ - function tellScaled()/*{{{*/ - { - return Coords.getFixed(); - }; - /*}}}*/ - function setOptionsNew(opt)/*{{{*/ - { - setOptions(opt); - interfaceUpdate(); - }; - /*}}}*/ - function disableCrop()//{{{ - { - options.disabled = true; - Selection.disableHandles(); - Selection.setCursor('default'); - Tracker.setCursor('default'); - }; - //}}} - function enableCrop()//{{{ - { - options.disabled = false; - interfaceUpdate(); - }; - //}}} - function cancelCrop()//{{{ - { - Selection.done(); - Tracker.activateHandlers(null,null); - }; - //}}} - function destroy()//{{{ - { - $div.remove(); - $origimg.show(); - }; - //}}} - - function interfaceUpdate(alt)//{{{ - // This method tweaks the interface based on options object. - // Called when options are changed and at end of initialization. - { - options.allowResize ? - alt?Selection.enableOnly():Selection.enableHandles(): - Selection.disableHandles(); - - Tracker.setCursor( options.allowSelect? 'crosshair': 'default' ); - Selection.setCursor( options.allowMove? 'move': 'default' ); - - $div.css('backgroundColor',options.bgColor); - - if ('setSelect' in options) { - setSelect(opt.setSelect); - Selection.done(); - delete(options.setSelect); - } - - if ('trueSize' in options) { - xscale = options.trueSize[0] / boundx; - yscale = options.trueSize[1] / boundy; - } - - xlimit = options.maxSize[0] || 0; - ylimit = options.maxSize[1] || 0; - xmin = options.minSize[0] || 0; - ymin = options.minSize[1] || 0; - - if ('outerImage' in options) - { - $img.attr('src',options.outerImage); - delete(options.outerImage); - } - - Selection.refresh(); - }; - //}}} - - // }}} - - $hdl_holder.hide(); - interfaceUpdate(true); - - var api = { - animateTo: animateTo, - setSelect: setSelect, - setOptions: setOptionsNew, - tellSelect: tellSelect, - tellScaled: tellScaled, - - disable: disableCrop, - enable: enableCrop, - cancel: cancelCrop, - - focus: KeyManager.watchKeys, - - getBounds: function() { return [ boundx * xscale, boundy * yscale ]; }, - getWidgetSize: function() { return [ boundx, boundy ]; }, - - release: Selection.release, - destroy: destroy - - }; - - $origimg.data('Jcrop',api); - return api; -}; - -$.fn.Jcrop = function(options)/*{{{*/ -{ - function attachWhenDone(from)/*{{{*/ - { - var loadsrc = options.useImg || from.src; - var img = new Image(); - img.onload = function() { $.Jcrop(from,options); }; - img.src = loadsrc; - }; - /*}}}*/ - if (typeof(options) !== 'object') options = { }; - - // Iterate over each object, attach Jcrop - this.each(function() - { - // If we've already attached to this object - if ($(this).data('Jcrop')) - { - // The API can be requested this way (undocumented) - if (options == 'api') return $(this).data('Jcrop'); - // Otherwise, we just reset the options... - else $(this).data('Jcrop').setOptions(options); - } - // If we haven't been attached, preload and attach - else attachWhenDone(this); - }); - - // Return "this" so we're chainable a la jQuery plugin-style! - return this; -}; -/*}}}*/ - -})(jQuery); diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/css/colorpicker.css b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/css/colorpicker.css deleted file mode 100644 index 6f0e570..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/css/colorpicker.css +++ /dev/null @@ -1,161 +0,0 @@ -.colorpicker { - width: 356px; - height: 176px; - overflow: hidden; - position: absolute; - background: url(../images/colorpicker_background.png); - font-family: Arial, Helvetica, sans-serif; - display: none; -} -.colorpicker_color { - width: 150px; - height: 150px; - left: 14px; - top: 13px; - position: absolute; - background: #f00; - overflow: hidden; - cursor: crosshair; -} -.colorpicker_color div { - position: absolute; - top: 0; - left: 0; - width: 150px; - height: 150px; - background: url(../images/colorpicker_overlay.png); -} -.colorpicker_color div div { - position: absolute; - top: 0; - left: 0; - width: 11px; - height: 11px; - overflow: hidden; - background: url(../images/colorpicker_select.gif); - margin: -5px 0 0 -5px; -} -.colorpicker_hue { - position: absolute; - top: 13px; - left: 171px; - width: 35px; - height: 150px; - cursor: n-resize; -} -.colorpicker_hue div { - position: absolute; - width: 35px; - height: 9px; - overflow: hidden; - background: url(../images/colorpicker_indic.gif) left top; - margin: -4px 0 0 0; - left: 0px; -} -.colorpicker_new_color { - position: absolute; - width: 60px; - height: 30px; - left: 213px; - top: 13px; - background: #f00; -} -.colorpicker_current_color { - position: absolute; - width: 60px; - height: 30px; - left: 283px; - top: 13px; - background: #f00; -} -.colorpicker input { - background-color: transparent; - border: 1px solid transparent; - position: absolute; - font-size: 10px; - font-family: Arial, Helvetica, sans-serif; - color: #898989; - top: 4px; - right: 11px; - text-align: right; - margin: 0; - padding: 0; - height: 13px; -} -.colorpicker_hex { - position: absolute; - width: 72px; - height: 22px; - background: url(../images/colorpicker_hex.png) top; - left: 212px; - top: 142px; -} -.colorpicker_hex input { - right: 6px; -} -.colorpicker_field { - height: 22px; - width: 62px; - background-position: top; - position: absolute; -} -.colorpicker_field span { - position: absolute; - width: 12px; - height: 22px; - overflow: hidden; - top: 0; - right: 0; - cursor: n-resize; -} -.colorpicker_rgb_r { - background-image: url(../images/colorpicker_rgb_r.png); - top: 52px; - left: 212px; -} -.colorpicker_rgb_g { - background-image: url(../images/colorpicker_rgb_g.png); - top: 82px; - left: 212px; -} -.colorpicker_rgb_b { - background-image: url(../images/colorpicker_rgb_b.png); - top: 112px; - left: 212px; -} -.colorpicker_hsb_h { - background-image: url(../images/colorpicker_hsb_h.png); - top: 52px; - left: 282px; -} -.colorpicker_hsb_s { - background-image: url(../images/colorpicker_hsb_s.png); - top: 82px; - left: 282px; -} -.colorpicker_hsb_b { - background-image: url(../images/colorpicker_hsb_b.png); - top: 112px; - left: 282px; -} -.colorpicker_submit { - position: absolute; - width: 22px; - height: 22px; - background: url(../images/colorpicker_submit.png) top; - left: 322px; - top: 142px; - overflow: hidden; -} -.colorpicker_focus { - background-position: center; -} -.colorpicker_hex.colorpicker_focus { - background-position: bottom; -} -.colorpicker_submit.colorpicker_focus { - background-position: bottom; -} -.colorpicker_slider { - background-position: bottom; -} diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/blank.gif b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/blank.gif deleted file mode 100644 index 75b945d..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/blank.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_background.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_background.png deleted file mode 100644 index 8401572..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_background.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hex.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hex.png deleted file mode 100644 index 4e532d7..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hex.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_b.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_b.png deleted file mode 100644 index dfac595..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_b.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_h.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_h.png deleted file mode 100644 index 3977ed9..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_h.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_s.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_s.png deleted file mode 100644 index a2a6997..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_hsb_s.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_indic.gif b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_indic.gif deleted file mode 100644 index f9fa95e..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_indic.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_overlay.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_overlay.png deleted file mode 100644 index 561cdd9..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_overlay.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_b.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_b.png deleted file mode 100644 index dfac595..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_b.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_g.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_g.png deleted file mode 100644 index 72b3276..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_g.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_r.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_r.png deleted file mode 100644 index 4855fe0..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_rgb_r.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_select.gif b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_select.gif deleted file mode 100644 index 599f7f1..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_select.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_submit.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_submit.png deleted file mode 100644 index 7f4c082..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/colorpicker_submit.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_background.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_background.png deleted file mode 100644 index cf55ffd..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_background.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hex.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hex.png deleted file mode 100644 index 888f444..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hex.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_b.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_b.png deleted file mode 100644 index 2f99dae..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_b.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_h.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_h.png deleted file mode 100644 index a217e92..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_h.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_s.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_s.png deleted file mode 100644 index 7826b41..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_hsb_s.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_indic.gif b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_indic.gif deleted file mode 100644 index 222fb94..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_indic.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_b.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_b.png deleted file mode 100644 index 80764e5..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_b.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_g.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_g.png deleted file mode 100644 index fc9778b..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_g.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_r.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_r.png deleted file mode 100644 index 91b0cd4..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_rgb_r.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_submit.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_submit.png deleted file mode 100644 index cd202cd..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/custom_submit.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/select.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/select.png deleted file mode 100644 index 21213bf..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/select.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/select2.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/select2.png deleted file mode 100644 index 2cd2cab..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/select2.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/slider.png b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/slider.png deleted file mode 100644 index 8b03da9..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/images/slider.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/js/colorpicker.js b/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/js/colorpicker.js deleted file mode 100644 index 10a2b22..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/colorpicker/js/colorpicker.js +++ /dev/null @@ -1,484 +0,0 @@ -/** - * - * Color picker - * Author: Stefan Petre www.eyecon.ro - * - * Dual licensed under the MIT and GPL licenses - * - */ -(function ($) { - var ColorPicker = function () { - var - ids = {}, - inAction, - charMin = 65, - visible, - tpl = '
', - defaults = { - eventName: 'click', - onShow: function () {}, - onBeforeShow: function(){}, - onHide: function () {}, - onChange: function () {}, - onSubmit: function () {}, - color: 'ff0000', - livePreview: true, - flat: false - }, - fillRGBFields = function (hsb, cal) { - var rgb = HSBToRGB(hsb); - $(cal).data('colorpicker').fields - .eq(1).val(rgb.r).end() - .eq(2).val(rgb.g).end() - .eq(3).val(rgb.b).end(); - }, - fillHSBFields = function (hsb, cal) { - $(cal).data('colorpicker').fields - .eq(4).val(hsb.h).end() - .eq(5).val(hsb.s).end() - .eq(6).val(hsb.b).end(); - }, - fillHexFields = function (hsb, cal) { - $(cal).data('colorpicker').fields - .eq(0).val(HSBToHex(hsb)).end(); - }, - setSelector = function (hsb, cal) { - $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100})); - $(cal).data('colorpicker').selectorIndic.css({ - left: parseInt(150 * hsb.s/100, 10), - top: parseInt(150 * (100-hsb.b)/100, 10) - }); - }, - setHue = function (hsb, cal) { - $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); - }, - setCurrentColor = function (hsb, cal) { - $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); - }, - setNewColor = function (hsb, cal) { - $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); - }, - keyDown = function (ev) { - var pressedKey = ev.charCode || ev.keyCode || -1; - if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { - return false; - } - var cal = $(this).parent().parent(); - if (cal.data('colorpicker').livePreview === true) { - change.apply(this); - } - }, - change = function (ev) { - var cal = $(this).parent().parent(), col; - if (this.parentNode.className.indexOf('_hex') > 0) { - cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); - } else if (this.parentNode.className.indexOf('_hsb') > 0) { - cal.data('colorpicker').color = col = fixHSB({ - h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), - s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), - b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) - }); - } else { - cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ - r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), - g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), - b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) - })); - } - if (ev) { - fillRGBFields(col, cal.get(0)); - fillHexFields(col, cal.get(0)); - fillHSBFields(col, cal.get(0)); - } - setSelector(col, cal.get(0)); - setHue(col, cal.get(0)); - setNewColor(col, cal.get(0)); - cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); - }, - blur = function (ev) { - var cal = $(this).parent().parent(); - cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); - }, - focus = function () { - charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; - $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); - $(this).parent().addClass('colorpicker_focus'); - }, - downIncrement = function (ev) { - var field = $(this).parent().find('input').focus(); - var current = { - el: $(this).parent().addClass('colorpicker_slider'), - max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), - y: ev.pageY, - field: field, - val: parseInt(field.val(), 10), - preview: $(this).parent().parent().data('colorpicker').livePreview - }; - $(document).bind('mouseup', current, upIncrement); - $(document).bind('mousemove', current, moveIncrement); - }, - moveIncrement = function (ev) { - ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); - if (ev.data.preview) { - change.apply(ev.data.field.get(0), [true]); - } - return false; - }, - upIncrement = function (ev) { - change.apply(ev.data.field.get(0), [true]); - ev.data.el.removeClass('colorpicker_slider').find('input').focus(); - $(document).unbind('mouseup', upIncrement); - $(document).unbind('mousemove', moveIncrement); - return false; - }, - downHue = function (ev) { - var current = { - cal: $(this).parent(), - y: $(this).offset().top - }; - current.preview = current.cal.data('colorpicker').livePreview; - $(document).bind('mouseup', current, upHue); - $(document).bind('mousemove', current, moveHue); - }, - moveHue = function (ev) { - change.apply( - ev.data.cal.data('colorpicker') - .fields - .eq(4) - .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) - .get(0), - [ev.data.preview] - ); - return false; - }, - upHue = function (ev) { - fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - $(document).unbind('mouseup', upHue); - $(document).unbind('mousemove', moveHue); - return false; - }, - downSelector = function (ev) { - var current = { - cal: $(this).parent(), - pos: $(this).offset() - }; - current.preview = current.cal.data('colorpicker').livePreview; - $(document).bind('mouseup', current, upSelector); - $(document).bind('mousemove', current, moveSelector); - }, - moveSelector = function (ev) { - change.apply( - ev.data.cal.data('colorpicker') - .fields - .eq(6) - .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) - .end() - .eq(5) - .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) - .get(0), - [ev.data.preview] - ); - return false; - }, - upSelector = function (ev) { - fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - $(document).unbind('mouseup', upSelector); - $(document).unbind('mousemove', moveSelector); - return false; - }, - enterSubmit = function (ev) { - $(this).addClass('colorpicker_focus'); - }, - leaveSubmit = function (ev) { - $(this).removeClass('colorpicker_focus'); - }, - clickSubmit = function (ev) { - var cal = $(this).parent(); - var col = cal.data('colorpicker').color; - cal.data('colorpicker').origColor = col; - setCurrentColor(col, cal.get(0)); - cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); - }, - show = function (ev) { - var cal = $('#' + $(this).data('colorpickerId')); - cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); - var pos = $(this).offset(); - var viewPort = getViewport(); - var top = pos.top + this.offsetHeight; - var left = pos.left; - if (top + 176 > viewPort.t + viewPort.h) { - top -= this.offsetHeight + 176; - } - if (left + 356 > viewPort.l + viewPort.w) { - left -= 356; - } - cal.css({left: left + 'px', top: top + 'px'}); - if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { - cal.show(); - } - $(document).bind('mousedown', {cal: cal}, hide); - return false; - }, - hide = function (ev) { - if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { - if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { - ev.data.cal.hide(); - } - $(document).unbind('mousedown', hide); - } - }, - isChildOf = function(parentEl, el, container) { - if (parentEl == el) { - return true; - } - if (parentEl.contains) { - return parentEl.contains(el); - } - if ( parentEl.compareDocumentPosition ) { - return !!(parentEl.compareDocumentPosition(el) & 16); - } - var prEl = el.parentNode; - while(prEl && prEl != container) { - if (prEl == parentEl) - return true; - prEl = prEl.parentNode; - } - return false; - }, - getViewport = function () { - var m = document.compatMode == 'CSS1Compat'; - return { - l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), - t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), - w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), - h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) - }; - }, - fixHSB = function (hsb) { - return { - h: Math.min(360, Math.max(0, hsb.h)), - s: Math.min(100, Math.max(0, hsb.s)), - b: Math.min(100, Math.max(0, hsb.b)) - }; - }, - fixRGB = function (rgb) { - return { - r: Math.min(255, Math.max(0, rgb.r)), - g: Math.min(255, Math.max(0, rgb.g)), - b: Math.min(255, Math.max(0, rgb.b)) - }; - }, - fixHex = function (hex) { - var len = 6 - hex.length; - if (len > 0) { - var o = []; - for (var i=0; i -1) ? hex.substring(1) : hex), 16); - return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; - }, - HexToHSB = function (hex) { - return RGBToHSB(HexToRGB(hex)); - }, - RGBToHSB = function (rgb) { - var hsb = { - h: 0, - s: 0, - b: 0 - }; - var min = Math.min(rgb.r, rgb.g, rgb.b); - var max = Math.max(rgb.r, rgb.g, rgb.b); - var delta = max - min; - hsb.b = max; - if (max != 0) { - - } - hsb.s = max != 0 ? 255 * delta / max : 0; - if (hsb.s != 0) { - if (rgb.r == max) { - hsb.h = (rgb.g - rgb.b) / delta; - } else if (rgb.g == max) { - hsb.h = 2 + (rgb.b - rgb.r) / delta; - } else { - hsb.h = 4 + (rgb.r - rgb.g) / delta; - } - } else { - hsb.h = -1; - } - hsb.h *= 60; - if (hsb.h < 0) { - hsb.h += 360; - } - hsb.s *= 100/255; - hsb.b *= 100/255; - return hsb; - }, - HSBToRGB = function (hsb) { - var rgb = {}; - var h = Math.round(hsb.h); - var s = Math.round(hsb.s*255/100); - var v = Math.round(hsb.b*255/100); - if(s == 0) { - rgb.r = rgb.g = rgb.b = v; - } else { - var t1 = v; - var t2 = (255-s)*v/255; - var t3 = (t1-t2)*(h%60)/60; - if(h==360) h = 0; - if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3} - else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3} - else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3} - else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3} - else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3} - else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3} - else {rgb.r=0; rgb.g=0; rgb.b=0} - } - return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; - }, - RGBToHex = function (rgb) { - var hex = [ - rgb.r.toString(16), - rgb.g.toString(16), - rgb.b.toString(16) - ]; - $.each(hex, function (nr, val) { - if (val.length == 1) { - hex[nr] = '0' + val; - } - }); - return hex.join(''); - }, - HSBToHex = function (hsb) { - return RGBToHex(HSBToRGB(hsb)); - }, - restoreOriginal = function () { - var cal = $(this).parent(); - var col = cal.data('colorpicker').origColor; - cal.data('colorpicker').color = col; - fillRGBFields(col, cal.get(0)); - fillHexFields(col, cal.get(0)); - fillHSBFields(col, cal.get(0)); - setSelector(col, cal.get(0)); - setHue(col, cal.get(0)); - setNewColor(col, cal.get(0)); - }; - return { - init: function (opt) { - opt = $.extend({}, defaults, opt||{}); - if (typeof opt.color == 'string') { - opt.color = HexToHSB(opt.color); - } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { - opt.color = RGBToHSB(opt.color); - } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { - opt.color = fixHSB(opt.color); - } else { - return this; - } - return this.each(function () { - if (!$(this).data('colorpickerId')) { - var options = $.extend({}, opt); - options.origColor = opt.color; - var id = 'collorpicker_' + parseInt(Math.random() * 1000); - $(this).data('colorpickerId', id); - var cal = $(tpl).attr('id', id); - if (options.flat) { - cal.appendTo(this).show(); - } else { - cal.appendTo(document.body); - } - options.fields = cal - .find('input') - .bind('keyup', keyDown) - .bind('change', change) - .bind('blur', blur) - .bind('focus', focus); - cal - .find('span').bind('mousedown', downIncrement).end() - .find('>div.colorpicker_current_color').bind('click', restoreOriginal); - options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); - options.selectorIndic = options.selector.find('div div'); - options.el = this; - options.hue = cal.find('div.colorpicker_hue div'); - cal.find('div.colorpicker_hue').bind('mousedown', downHue); - options.newColor = cal.find('div.colorpicker_new_color'); - options.currentColor = cal.find('div.colorpicker_current_color'); - cal.data('colorpicker', options); - cal.find('div.colorpicker_submit') - .bind('mouseenter', enterSubmit) - .bind('mouseleave', leaveSubmit) - .bind('click', clickSubmit); - fillRGBFields(options.color, cal.get(0)); - fillHSBFields(options.color, cal.get(0)); - fillHexFields(options.color, cal.get(0)); - setHue(options.color, cal.get(0)); - setSelector(options.color, cal.get(0)); - setCurrentColor(options.color, cal.get(0)); - setNewColor(options.color, cal.get(0)); - if (options.flat) { - cal.css({ - position: 'relative', - display: 'block' - }); - } else { - $(this).bind(options.eventName, show); - } - } - }); - }, - showPicker: function() { - return this.each( function () { - if ($(this).data('colorpickerId')) { - show.apply(this); - } - }); - }, - hidePicker: function() { - return this.each( function () { - if ($(this).data('colorpickerId')) { - $('#' + $(this).data('colorpickerId')).hide(); - } - }); - }, - setColor: function(col) { - if (typeof col == 'string') { - col = HexToHSB(col); - } else if (col.r != undefined && col.g != undefined && col.b != undefined) { - col = RGBToHSB(col); - } else if (col.h != undefined && col.s != undefined && col.b != undefined) { - col = fixHSB(col); - } else { - return this; - } - return this.each(function(){ - if ($(this).data('colorpickerId')) { - var cal = $('#' + $(this).data('colorpickerId')); - cal.data('colorpicker').color = col; - cal.data('colorpicker').origColor = col; - fillRGBFields(col, cal.get(0)); - fillHSBFields(col, cal.get(0)); - fillHexFields(col, cal.get(0)); - setHue(col, cal.get(0)); - setSelector(col, cal.get(0)); - setCurrentColor(col, cal.get(0)); - setNewColor(col, cal.get(0)); - } - }); - } - }; - }(); - $.fn.extend({ - ColorPicker: ColorPicker.init, - ColorPickerHide: ColorPicker.hidePicker, - ColorPickerShow: ColorPicker.showPicker, - ColorPickerSetColor: ColorPicker.setColor - }); -})(jQuery) \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery-ui-1.8.6.min.js b/src/wp-content/plugins/nextgen-gallery/admin/js/jquery-ui-1.8.6.min.js deleted file mode 100644 index 94d5f53..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery-ui-1.8.6.min.js +++ /dev/null @@ -1,391 +0,0 @@ -/*! - * jQuery UI 1.8.6 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.6",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, -NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this, -"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position"); -if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f, -"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h, -d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}}); -c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&& -this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX- -a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); -;/* - * jQuery UI Position 1.8.6 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Position - */ -(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, -left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= -k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+parseInt(c.curCSS(this,"marginRight",true))||0,w=m+q+parseInt(c.curCSS(this,"marginBottom",true))||0,i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=m/2; -i.left=parseInt(i.left);i.top=parseInt(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=d>0? -b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= -a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), -g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); -;/* - * jQuery UI Draggable 1.8.6 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== -"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= -this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- -this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions(); -d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| -this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element, -b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== -a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| -0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], -this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- -(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== -"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&& -a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"), -10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], -this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): -f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options; -if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!= -"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= -i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), -top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= -this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", -nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d
');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== -String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); -this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; -if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), -d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset= -this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: -this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", -b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; -f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", -b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top= -a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidthb.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, -k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a
');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ -a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this, -arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable, -{version:"1.8.6"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize, -function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n= -(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition= -false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left- -a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize", -b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top", -"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset, -f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left= -a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+ -a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&& -e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative", -height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width= -d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); -;/* - * jQuery UI Selectable 1.8.6 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), -selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, -c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", -c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= -this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); -this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this, -arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= -c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, -{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); -if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", -a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); -if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, -c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== -document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate", -null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem): -d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute|| -"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")}, -_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!= -this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a= -this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable"); -if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h= -0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width= -this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f}, -update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b= -null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this)); -this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])? -g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive", -g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over= -0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e").addClass("ui-autocomplete").appendTo(e(this.options.appendTo|| -"body",b)[0]).mousedown(function(c){var d=a.menu.element[0];e(c.target).closest(".ui-menu-item").length||setTimeout(function(){e(document).one("mousedown",function(g){g.target!==a.element[0]&&g.target!==d&&!e.ui.contains(d,g.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete"); -var g=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=g;setTimeout(function(){a.previous=g},1)}false!==a._trigger("select",c,{item:d})&&a.element.val(d.value);a.term=a.element.val();a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); -this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a=this,b,f;if(e.isArray(this.options.source)){b=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){f=this.options.source;this.source= -function(c,d){a.xhr&&a.xhr.abort();a.xhr=e.getJSON(f,c,function(g,i,h){h===a.xhr&&d(g);a.xhr=null})}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(e("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, -"\\$&")},filter:function(a,b){var f=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(c){return f.test(c.label||c.value||c)})}})})(jQuery); -(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", --1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var f=b.offset().top-this.element.offset().top,c=this.element.attr("scrollTop"),d=this.element.height();if(f<0)this.element.attr("scrollTop",c+f);else f>=d&&this.element.attr("scrollTop",c+f-d+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})}, -deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,f){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0); -a.length?this.activate(f,a):this.activate(f,this.element.children(b))}else this.activate(f,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(".ui-menu-item:first"));else{var b=this.active.offset().top,f=this.element.height(),c=this.element.children(".ui-menu-item").filter(function(){var d=e(this).offset().top-b-f+e(this).height();return d<10&&d>-10});c.length||(c=this.element.children(".ui-menu-item:last"));this.activate(a, -c)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(".ui-menu-item:last"));else{var b=this.active.offset().top,f=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var c=e(this).offset().top-b+f-e(this).height();return c<10&&c>-10});result.length||(result=this.element.children(".ui-menu-item:first")); -this.activate(a,result)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()
")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex", --1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", -"button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id",e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose= -b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&& -a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))}); -c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a); -d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(); -a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;f=c('').attr(h,true).unbind("click").click(function(){h.click.apply(b.element[0], -arguments)}).appendTo(g);c.fn.button&&f.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f, -h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===j?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw"; -d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position", -g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position, -a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a);e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);if(g in k)e=true;if(g in l)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b); -break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy"); -g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=this.options,b,d;this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d, -height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.6",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}}); -c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()
").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay"); -a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a
",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& -e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= -d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| -(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a._sanitizeSelector(i));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=d("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); -this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= -this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); -if(c.selected>=0&&this.anchors.length){d(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],d(a._sanitizeSelector(a.anchors[c.selected].hash))))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); -this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ -g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", -function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; -this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&& -a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; -d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= -d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, -e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=d("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); -j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); -if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, -this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, -load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,"cache.tabs", -true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(b, -e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.6"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k
    ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); -this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change");this._value()===this.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a= -this.value();this.valueDiv.toggleClass("ui-corner-right",a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.6"})})(jQuery); -; \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.MultiFile.js b/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.MultiFile.js deleted file mode 100644 index e241897..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.MultiFile.js +++ /dev/null @@ -1,535 +0,0 @@ -/* - ### jQuery Multiple File Upload Plugin v1.46 - 2009-05-12 ### - * Home: http://www.fyneworks.com/jquery/multiple-file-upload/ - * Code: http://code.google.com/p/jquery-multifile-plugin/ - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - ### -*/ - -/*# AVOID COLLISIONS #*/ -;if(window.jQuery) (function($){ -/*# AVOID COLLISIONS #*/ - - // plugin initialization - $.fn.MultiFile = function(options){ - if(this.length==0) return this; // quick fail - - // Handle API methods - if(typeof arguments[0]=='string'){ - // Perform API methods on individual elements - if(this.length>1){ - var args = arguments; - return this.each(function(){ - $.fn.MultiFile.apply($(this), args); - }); - }; - // Invoke API method handler - $.fn.MultiFile[arguments[0]].apply(this, $.makeArray(arguments).slice(1) || []); - // Quick exit... - return this; - }; - - // Initialize options for this call - var options = $.extend( - {}/* new object */, - $.fn.MultiFile.options/* default options */, - options || {} /* just-in-time options */ - ); - - // Empty Element Fix!!! - // this code will automatically intercept native form submissions - // and disable empty file elements - $('form') - .not('MultiFile-intercepted') - .addClass('MultiFile-intercepted') - .submit($.fn.MultiFile.disableEmpty); - - //### http://plugins.jquery.com/node/1363 - // utility method to integrate this plugin with others... - if($.fn.MultiFile.options.autoIntercept){ - $.fn.MultiFile.intercept( $.fn.MultiFile.options.autoIntercept /* array of methods to intercept */ ); - $.fn.MultiFile.options.autoIntercept = null; /* only run this once */ - }; - - // loop through each matched element - this - .not('.MultiFile-applied') - .addClass('MultiFile-applied') - .each(function(){ - //##################################################################### - // MAIN PLUGIN FUNCTIONALITY - START - //##################################################################### - - // BUG 1251 FIX: http://plugins.jquery.com/project/comments/add/1251 - // variable group_count would repeat itself on multiple calls to the plugin. - // this would cause a conflict with multiple elements - // changes scope of variable to global so id will be unique over n calls - window.MultiFile = (window.MultiFile || 0) + 1; - var group_count = window.MultiFile; - - // Copy parent attributes - Thanks to Jonas Wagner - // we will use this one to create new input elements - var MultiFile = {e:this, E:$(this), clone:$(this).clone()}; - - //=== - - //# USE CONFIGURATION - if(typeof options=='number') options = {max:options}; - var o = $.extend({}, - $.fn.MultiFile.options, - options || {}, - ($.metadata? MultiFile.E.metadata(): ($.meta?MultiFile.E.data():null)) || {}, /* metadata options */ - {} /* internals */ - ); - // limit number of files that can be selected? - if(!(o.max>0) /*IsNull(MultiFile.max)*/){ - o.max = MultiFile.E.attr('maxlength'); - if(!(o.max>0) /*IsNull(MultiFile.max)*/){ - o.max = (String(MultiFile.e.className.match(/\b(max|limit)\-([0-9]+)\b/gi) || ['']).match(/[0-9]+/gi) || [''])[0]; - if(!(o.max>0)) o.max = -1; - else o.max = String(o.max).match(/[0-9]+/gi)[0]; - } - }; - o.max = new Number(o.max); - // limit extensions? - o.accept = o.accept || MultiFile.E.attr('accept') || ''; - if(!o.accept){ - o.accept = (MultiFile.e.className.match(/\b(accept\-[\w\|]+)\b/gi)) || ''; - o.accept = new String(o.accept).replace(/^(accept|ext)\-/i,''); - }; - - //=== - - // APPLY CONFIGURATION - $.extend(MultiFile, o || {}); - MultiFile.STRING = $.extend({},$.fn.MultiFile.options.STRING,MultiFile.STRING); - - //=== - - //######################################### - // PRIVATE PROPERTIES/METHODS - $.extend(MultiFile, { - n: 0, // How many elements are currently selected? - slaves: [], files: [], - instanceKey: MultiFile.e.id || 'MultiFile'+String(group_count), // Instance Key? - generateID: function(z){ return MultiFile.instanceKey + (z>0 ?'_F'+String(z):''); }, - trigger: function(event, element){ - var handler = MultiFile[event], value = $(element).attr('value'); - if(handler){ - var returnValue = handler(element, value, MultiFile); - if( returnValue!=null ) return returnValue; - } - return true; - } - }); - - //=== - - // Setup dynamic regular expression for extension validation - // - thanks to John-Paul Bader: http://smyck.de/2006/08/11/javascript-dynamic-regular-expresions/ - if(String(MultiFile.accept).length>1){ - MultiFile.accept = MultiFile.accept.replace(/\W+/g,'|').replace(/^\W|\W$/g,''); - MultiFile.rxAccept = new RegExp('\\.('+(MultiFile.accept?MultiFile.accept:'')+')$','gi'); - }; - - //=== - - // Create wrapper to hold our file list - MultiFile.wrapID = MultiFile.instanceKey+'_wrap'; // Wrapper ID? - MultiFile.E.wrap('
    '); - MultiFile.wrapper = $('#'+MultiFile.wrapID+''); - - //=== - - // MultiFile MUST have a name - default: file1[], file2[], file3[] - MultiFile.e.name = MultiFile.e.name || 'file'+ group_count +'[]'; - - //=== - - if(!MultiFile.list){ - // Create a wrapper for the list - // * OPERA BUG: NO_MODIFICATION_ALLOWED_ERR ('list' is a read-only property) - // this change allows us to keep the files in the order they were selected - MultiFile.wrapper.append( '
    ' ); - MultiFile.list = $('#'+MultiFile.wrapID+'_list'); - }; - MultiFile.list = $(MultiFile.list); - - //=== - - // Bind a new element - MultiFile.addSlave = function( slave, slave_count ){ - //if(window.console) console.log('MultiFile.addSlave',slave_count); - - // Keep track of how many elements have been displayed - MultiFile.n++; - // Add reference to master element - slave.MultiFile = MultiFile; - - // BUG FIX: http://plugins.jquery.com/node/1495 - // Clear identifying properties from clones - if(slave_count>0) slave.id = slave.name = ''; - - // Define element's ID and name (upload components need this!) - //slave.id = slave.id || MultiFile.generateID(slave_count); - if(slave_count>0) slave.id = MultiFile.generateID(slave_count); - //FIX for: http://code.google.com/p/jquery-multifile-plugin/issues/detail?id=23 - - // 2008-Apr-29: New customizable naming convention (see url below) - // http://groups.google.com/group/jquery-dev/browse_frm/thread/765c73e41b34f924# - slave.name = String(MultiFile.namePattern - /*master name*/.replace(/\$name/gi,$(MultiFile.clone).attr('name')) - /*master id */.replace(/\$id/gi, $(MultiFile.clone).attr('id')) - /*group count*/.replace(/\$g/gi, group_count)//(group_count>0?group_count:'')) - /*slave count*/.replace(/\$i/gi, slave_count)//(slave_count>0?slave_count:'')) - ); - - // If we've reached maximum number, disable input slave - if( (MultiFile.max > 0) && ((MultiFile.n-1) > (MultiFile.max)) )//{ // MultiFile.n Starts at 1, so subtract 1 to find true count - slave.disabled = true; - //}; - - // Remember most recent slave - MultiFile.current = MultiFile.slaves[slave_count] = slave; - - // We'll use jQuery from now on - slave = $(slave); - - // Clear value - slave.val('').attr('value','')[0].value = ''; - - // Stop plugin initializing on slaves - slave.addClass('MultiFile-applied'); - - // Triggered when a file is selected - slave.change(function(){ - //if(window.console) console.log('MultiFile.slave.change',slave_count); - - // Lose focus to stop IE7 firing onchange again - $(this).blur(); - - //# Trigger Event! onFileSelect - if(!MultiFile.trigger('onFileSelect', this, MultiFile)) return false; - //# End Event! - - //# Retrive value of selected file from element - var ERROR = '', v = String(this.value || ''/*.attr('value)*/); - - // check extension - if(MultiFile.accept && v && !v.match(MultiFile.rxAccept))//{ - ERROR = MultiFile.STRING.denied.replace('$ext', String(v.match(/\.\w{1,4}$/gi))); - //} - //}; - - // Disallow duplicates - for(var f in MultiFile.slaves)//{ - if(MultiFile.slaves[f] && MultiFile.slaves[f]!=this)//{ - //console.log(MultiFile.slaves[f],MultiFile.slaves[f].value); - if(MultiFile.slaves[f].value==v)//{ - ERROR = MultiFile.STRING.duplicate.replace('$file', v.match(/[^\/\\]+$/gi)); - //}; - //}; - //}; - - // Create a new file input element - var newEle = $(MultiFile.clone).clone();// Copy parent attributes - Thanks to Jonas Wagner - //# Let's remember which input we've generated so - // we can disable the empty ones before submission - // See: http://plugins.jquery.com/node/1495 - newEle.addClass('MultiFile'); - - // Handle error - if(ERROR!=''){ - // Handle error - MultiFile.error(ERROR); - - // 2007-06-24: BUG FIX - Thanks to Adrian Wrbel - // Ditch the trouble maker and add a fresh new element - MultiFile.n--; - MultiFile.addSlave(newEle[0], slave_count); - slave.parent().prepend(newEle); - slave.remove(); - return false; - }; - - // Hide this element (NB: display:none is evil!) - $(this).css({ position:'absolute', top: '-3000px' }); - - // Add new element to the form - slave.after(newEle); - - // Update list - MultiFile.addToList( this, slave_count ); - - // Bind functionality - MultiFile.addSlave( newEle[0], slave_count+1 ); - - //# Trigger Event! afterFileSelect - if(!MultiFile.trigger('afterFileSelect', this, MultiFile)) return false; - //# End Event! - - }); // slave.change() - - // Save control to element - $(slave).data('MultiFile', MultiFile); - - };// MultiFile.addSlave - // Bind a new element - - - - // Add a new file to the list - MultiFile.addToList = function( slave, slave_count ){ - //if(window.console) console.log('MultiFile.addToList',slave_count); - - //# Trigger Event! onFileAppend - if(!MultiFile.trigger('onFileAppend', slave, MultiFile)) return false; - //# End Event! - - // Create label elements - var - r = $('
    '), - v = String(slave.value || ''/*.attr('value)*/), - a = $(''+MultiFile.STRING.file.replace('$file', v.match(/[^\/\\]+$/gi)[0])+''), - b = $(''+MultiFile.STRING.remove+''); - - // Insert label - MultiFile.list.append( - r.append(b, ' ', a) - ); - - b - .click(function(){ - - //# Trigger Event! onFileRemove - if(!MultiFile.trigger('onFileRemove', slave, MultiFile)) return false; - //# End Event! - - MultiFile.n--; - MultiFile.current.disabled = false; - - // Remove element, remove label, point to current - MultiFile.slaves[slave_count] = null; - $(slave).remove(); - $(this).parent().remove(); - - // Show most current element again (move into view) and clear selection - $(MultiFile.current).css({ position:'', top: '' }); - $(MultiFile.current).reset().val('').attr('value', '')[0].value = ''; - - //# Trigger Event! afterFileRemove - if(!MultiFile.trigger('afterFileRemove', slave, MultiFile)) return false; - //# End Event! - - return false; - }); - - //# Trigger Event! afterFileAppend - if(!MultiFile.trigger('afterFileAppend', slave, MultiFile)) return false; - //# End Event! - - }; // MultiFile.addToList - // Add element to selected files list - - - - // Bind functionality to the first element - if(!MultiFile.MultiFile) MultiFile.addSlave(MultiFile.e, 0); - - // Increment control count - //MultiFile.I++; // using window.MultiFile - MultiFile.n++; - - // Save control to element - MultiFile.E.data('MultiFile', MultiFile); - - - //##################################################################### - // MAIN PLUGIN FUNCTIONALITY - END - //##################################################################### - }); // each element - }; - - /*--------------------------------------------------------*/ - - /* - ### Core functionality and API ### - */ - $.extend($.fn.MultiFile, { - /** - * This method removes all selected files - * - * Returns a jQuery collection of all affected elements. - * - * @name reset - * @type jQuery - * @cat Plugins/MultiFile - * @author Diego A. (http://www.fyneworks.com/) - * - * @example $.fn.MultiFile.reset(); - */ - reset: function(){ - var settings = $(this).data('MultiFile'); - //if(settings) settings.wrapper.find('a.MultiFile-remove').click(); - if(settings) settings.list.find('a.MultiFile-remove').click(); - return $(this); - }, - - - /** - * This utility makes it easy to disable all 'empty' file elements in the document before submitting a form. - * It marks the affected elements so they can be easily re-enabled after the form submission or validation. - * - * Returns a jQuery collection of all affected elements. - * - * @name disableEmpty - * @type jQuery - * @cat Plugins/MultiFile - * @author Diego A. (http://www.fyneworks.com/) - * - * @example $.fn.MultiFile.disableEmpty(); - * @param String class (optional) A string specifying a class to be applied to all affected elements - Default: 'mfD'. - */ - disableEmpty: function(klass){ klass = (typeof(klass)=='string'?klass:'')||'mfD'; - var o = []; - $('input:file.MultiFile').each(function(){ if($(this).val()=='') o[o.length] = this; }); - return $(o).each(function(){ this.disabled = true }).addClass(klass); - }, - - - /** - * This method re-enables 'empty' file elements that were disabled (and marked) with the $.fn.MultiFile.disableEmpty method. - * - * Returns a jQuery collection of all affected elements. - * - * @name reEnableEmpty - * @type jQuery - * @cat Plugins/MultiFile - * @author Diego A. (http://www.fyneworks.com/) - * - * @example $.fn.MultiFile.reEnableEmpty(); - * @param String klass (optional) A string specifying the class that was used to mark affected elements - Default: 'mfD'. - */ - reEnableEmpty: function(klass){ klass = (typeof(klass)=='string'?klass:'')||'mfD'; - return $('input:file.'+klass).removeClass(klass).each(function(){ this.disabled = false }); - }, - - - /** - * This method will intercept other jQuery plugins and disable empty file input elements prior to form submission - * - - * @name intercept - * @cat Plugins/MultiFile - * @author Diego A. (http://www.fyneworks.com/) - * - * @example $.fn.MultiFile.intercept(); - * @param Array methods (optional) Array of method names to be intercepted - */ - intercepted: {}, - intercept: function(methods, context, args){ - var method, value; args = args || []; - if(args.constructor.toString().indexOf("Array")<0) args = [ args ]; - if(typeof(methods)=='function'){ - $.fn.MultiFile.disableEmpty(); - value = methods.apply(context || window, args); - //SEE-http://code.google.com/p/jquery-multifile-plugin/issues/detail?id=27 - setTimeout(function(){ $.fn.MultiFile.reEnableEmpty() },1000); - return value; - }; - if(methods.constructor.toString().indexOf("Array")<0) methods = [methods]; - for(var i=0;i'), - css: { - border:'none', padding:'15px', size:'12.0pt', - backgroundColor:'#900', color:'#fff', - opacity:'.8','-webkit-border-radius': '10px','-moz-border-radius': '10px' - } - }); - window.setTimeout($.unblockUI, 2000); - } - else//{// save a byte! - */ - alert(s); - //}// save a byte! - } - }; //} }); - - /*--------------------------------------------------------*/ - - /* - ### Additional Methods ### - Required functionality outside the plugin's scope - */ - - // Native input reset method - because this alone doesn't always work: $(element).val('').attr('value', '')[0].value = ''; - $.fn.reset = function(){ return this.each(function(){ try{ this.reset(); }catch(e){} }); }; - - /*--------------------------------------------------------*/ - - /* - ### Default implementation ### - The plugin will attach itself to file inputs - with the class 'multi' when the page loads - */ - $(function(){ - //$("input:file.multi").MultiFile(); - $("input[type=file].multi").MultiFile(); - }); - - - -/*# AVOID COLLISIONS #*/ -})(jQuery); -/*# AVOID COLLISIONS #*/ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.MultiFile.pack.js b/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.MultiFile.pack.js deleted file mode 100644 index 2ef968a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.MultiFile.pack.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - ### jQuery Multiple File Upload Plugin v1.46 - 2009-05-12 ### - * Home: http://www.fyneworks.com/jquery/multiple-file-upload/ - * Code: http://code.google.com/p/jquery-multifile-plugin/ - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - ### -*/ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';3(U.1u)(6($){$.7.2=6(h){3(5.V==0)8 5;3(T S[0]==\'19\'){3(5.V>1){m i=S;8 5.M(6(){$.7.2.13($(5),i)})};$.7.2[S[0]].13(5,$.1N(S).27(1)||[]);8 5};m h=$.N({},$.7.2.F,h||{});$(\'2d\').1B(\'2-R\').Q(\'2-R\').1n($.7.2.Z);3($.7.2.F.15){$.7.2.1M($.7.2.F.15);$.7.2.F.15=10};5.1B(\'.2-1e\').Q(\'2-1e\').M(6(){U.2=(U.2||0)+1;m e=U.2;m g={e:5,E:$(5),L:$(5).L()};3(T h==\'21\')h={l:h};m o=$.N({},$.7.2.F,h||{},($.1m?g.E.1m():($.1S?g.E.17():10))||{},{});3(!(o.l>0)){o.l=g.E.D(\'28\');3(!(o.l>0)){o.l=(u(g.e.1D.B(/\\b(l|23)\\-([0-9]+)\\b/q)||[\'\']).B(/[0-9]+/q)||[\'\'])[0];3(!(o.l>0))o.l=-1;2b o.l=u(o.l).B(/[0-9]+/q)[0]}};o.l=18 2f(o.l);o.j=o.j||g.E.D(\'j\')||\'\';3(!o.j){o.j=(g.e.1D.B(/\\b(j\\-[\\w\\|]+)\\b/q))||\'\';o.j=18 u(o.j).t(/^(j|1d)\\-/i,\'\')};$.N(g,o||{});g.A=$.N({},$.7.2.F.A,g.A);$.N(g,{n:0,J:[],2c:[],1c:g.e.I||\'2\'+u(e),1i:6(z){8 g.1c+(z>0?\'1Z\'+u(z):\'\')},G:6(a,b){m c=g[a],k=$(b).D(\'k\');3(c){m d=c(b,k,g);3(d!=10)8 d}8 1a}});3(u(g.j).V>1){g.j=g.j.t(/\\W+/g,\'|\').t(/^\\W|\\W$/g,\'\');g.1k=18 2t(\'\\\\.(\'+(g.j?g.j:\'\')+\')$\',\'q\')};g.O=g.1c+\'1P\';g.E.1l(\'

    \');g.1q=$(\'#\'+g.O+\'\');g.e.H=g.e.H||\'p\'+e+\'[]\';3(!g.K){g.1q.1g(\'

    \');g.K=$(\'#\'+g.O+\'1F\')};g.K=$(g.K);g.16=6(c,d){g.n++;c.2=g;3(d>0)c.I=c.H=\'\';3(d>0)c.I=g.1i(d);c.H=u(g.1j.t(/\\$H/q,$(g.L).D(\'H\')).t(/\\$I/q,$(g.L).D(\'I\')).t(/\\$g/q,e).t(/\\$i/q,d));3((g.l>0)&&((g.n-1)>(g.l)))c.14=1a;g.Y=g.J[d]=c;c=$(c);c.1b(\'\').D(\'k\',\'\')[0].k=\'\';c.Q(\'2-1e\');c.1V(6(){$(5).1X();3(!g.G(\'1Y\',5,g))8 y;m a=\'\',v=u(5.k||\'\');3(g.j&&v&&!v.B(g.1k))a=g.A.1o.t(\'$1d\',u(v.B(/\\.\\w{1,4}$/q)));1p(m f 2a g.J)3(g.J[f]&&g.J[f]!=5)3(g.J[f].k==v)a=g.A.1r.t(\'$p\',v.B(/[^\\/\\\\]+$/q));m b=$(g.L).L();b.Q(\'2\');3(a!=\'\'){g.1s(a);g.n--;g.16(b[0],d);c.1t().2e(b);c.C();8 y};$(5).1v({1w:\'1O\',1x:\'-1Q\'});c.1R(b);g.1y(5,d);g.16(b[0],d+1);3(!g.G(\'1T\',5,g))8 y});$(c).17(\'2\',g)};g.1y=6(c,d){3(!g.G(\'1U\',c,g))8 y;m r=$(\'

    \'),v=u(c.k||\'\'),a=$(\'<1z X="2-1A" 1A="\'+g.A.12.t(\'$p\',v)+\'">\'+g.A.p.t(\'$p\',v.B(/[^\\/\\\\]+$/q)[0])+\'\'),b=$(\'\'+g.A.C+\'\');g.K.1g(r.1g(b,\' \',a));b.1C(6(){3(!g.G(\'22\',c,g))8 y;g.n--;g.Y.14=y;g.J[d]=10;$(c).C();$(5).1t().C();$(g.Y).1v({1w:\'\',1x:\'\'});$(g.Y).11().1b(\'\').D(\'k\',\'\')[0].k=\'\';3(!g.G(\'24\',c,g))8 y;8 y});3(!g.G(\'25\',c,g))8 y};3(!g.2)g.16(g.e,0);g.n++;g.E.17(\'2\',g)})};$.N($.7.2,{11:6(){m a=$(5).17(\'2\');3(a)a.K.26(\'a.2-C\').1C();8 $(5)},Z:6(a){a=(T(a)==\'19\'?a:\'\')||\'1E\';m o=[];$(\'1h:p.2\').M(6(){3($(5).1b()==\'\')o[o.V]=5});8 $(o).M(6(){5.14=1a}).Q(a)},1f:6(a){a=(T(a)==\'19\'?a:\'\')||\'1E\';8 $(\'1h:p.\'+a).29(a).M(6(){5.14=y})},R:{},1M:6(b,c,d){m e,k;d=d||[];3(d.1G.1H().1I("1J")<0)d=[d];3(T(b)==\'6\'){$.7.2.Z();k=b.13(c||U,d);1K(6(){$.7.2.1f()},1L);8 k};3(b.1G.1H().1I("1J")<0)b=[b];1p(m i=0;i").addClass("ui-autocomplete").appendTo(d(this.options.appendTo|| -"body",b)[0]).mousedown(function(c){var e=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(g){g.target!==a.element[0]&&g.target!==e&&!d.ui.contains(e,g.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,e){e=e.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:e})&&/^key/.test(c.originalEvent.type)&&a.element.val(e.value)},selected:function(c,e){var g=e.item.data("item.autocomplete"), -h=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=h;setTimeout(function(){a.previous=h;a.selectedItem=g},1)}false!==a._trigger("select",c,{item:g})&&a.element.val(g.value);a.term=a.element.val();a.close(c);a.selectedItem=g},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); -this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,f;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,e){e(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source=== -"string"){f=this.options.source;this.source=function(c,e){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:f,data:c,dataType:"json",success:function(g,h,i){i===a.xhr&&e(g);a.xhr=null},error:function(g){g===a.xhr&&e([]);a.xhr=null}})}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b); -else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(a,b){var f=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return f.test(c.label||c.value||c)})}})})(jQuery); -(function(d){d.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(d(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", --1).mouseenter(function(b){a.activate(b,d(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var f=b.offset().top-this.element.offset().top,c=this.element.attr("scrollTop"),e=this.element.height();if(f<0)this.element.attr("scrollTop",c+f);else f>=e&&this.element.attr("scrollTop",c+f-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})}, -deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,f){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0); -a.length?this.activate(f,a):this.activate(f,this.element.children(b))}else this.activate(f,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(".ui-menu-item:first"));else{var b=this.active.offset().top,f=this.element.height(),c=this.element.children(".ui-menu-item").filter(function(){var e=d(this).offset().top-b-f+d(this).height();return e<10&&e>-10});c.length||(c=this.element.children(".ui-menu-item:last"));this.activate(a, -c)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(".ui-menu-item:last"));else{var b=this.active.offset().top,f=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-b+f-d(this).height();return c<10&&c>-10});result.length||(result=this.element.children(".ui-menu-item:first")); -this.activate(a,result)}else this.activate(a,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()#{label}', - panelTemplate: '
    ', - - // CSS classes - navClass: 'ui-tabs-nav', - selectedClass: 'ui-tabs-selected', - unselectClass: 'ui-tabs-unselect', - disabledClass: 'ui-tabs-disabled', - panelClass: 'ui-tabs-panel', - hideClass: 'ui-tabs-hide', - loadingClass: 'ui-tabs-loading' - - }, options); - - // doesn't extend with null - if (options.selected === null) - this.options.selected = null; - - this.options.event += '.ui-tabs'; // namespace event - this.options.cookie = $.cookie && $.cookie.constructor == Function && this.options.cookie; - - $(el).bind('setData.ui-tabs', function(event, key, value) { - if ((/^selected/).test(key)) - self.select(value); - else { - self.options[key] = value; - self.tabify(); - } - }).bind('getData.ui-tabs', function(event, key) { - return self.options[key]; - }); - - // save instance for later - $.data(el, 'ui-tabs', this); - - // create tabs - this.tabify(true); - }; - - // instance methods - $.extend($.ui.tabs.prototype, { - tabId: function(a) { - return a.title && a.title.replace(/\s/g, '_').replace(/[^A-Za-z0-9\-_:\.]/g, '') - || this.options.idPrefix + $.data(a); - }, - ui: function(tab, panel) { - return { - instance: this, - options: this.options, - tab: tab, - panel: panel - }; - }, - tabify: function(init) { - - this.$lis = $('li:has(a[href])', this.element); - this.$tabs = this.$lis.map(function() { return $('a', this)[0]; }); - this.$panels = $([]); - - var self = this, o = this.options; - - this.$tabs.each(function(i, a) { - // inline tab - if (a.hash && a.hash.replace('#', '')) // Safari 2 reports '#' for an empty hash - self.$panels = self.$panels.add(a.hash); - // remote tab - else if ($(a).attr('href') != '#') { // prevent loading the page itself if href is just "#" - $.data(a, 'href.ui-tabs', a.href); // required for restore on destroy - $.data(a, 'load.ui-tabs', a.href); // mutable - var id = self.tabId(a); - a.href = '#' + id; - var $panel = $('#' + id); - if (!$panel.length) { - $panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass) - .insertAfter( self.$panels[i - 1] || self.element ); - $panel.data('destroy.ui-tabs', true); - } - self.$panels = self.$panels.add( $panel ); - } - // invalid tab href - else - o.disabled.push(i + 1); - }); - - if (init) { - - // attach necessary classes for styling if not present - $(this.element).hasClass(o.navClass) || $(this.element).addClass(o.navClass); - this.$panels.each(function() { - var $this = $(this); - $this.hasClass(o.panelClass) || $this.addClass(o.panelClass); - }); - - // Try to retrieve selected tab: - // 1. from fragment identifier in url if present - // 2. from cookie - // 3. from selected class attribute on
  • - // 4. otherwise use given "selected" option - // 5. check if tab is disabled - this.$tabs.each(function(i, a) { - if (location.hash) { - if (a.hash == location.hash) { - o.selected = i; - // prevent page scroll to fragment - //if (($.browser.msie || $.browser.opera) && !o.remote) { - if ($.browser.msie || $.browser.opera) { - var $toShow = $(location.hash), toShowId = $toShow.attr('id'); - $toShow.attr('id', ''); - setTimeout(function() { - $toShow.attr('id', toShowId); // restore id - }, 500); - } - scrollTo(0, 0); - return false; // break - } - } else if (o.cookie) { - var index = parseInt($.cookie('ui-tabs' + $.data(self.element)),10); - if (index && self.$tabs[index]) { - o.selected = index; - return false; // break - } - } else if ( self.$lis.eq(i).hasClass(o.selectedClass) ) { - o.selected = i; - return false; // break - } - }); - - // highlight selected tab - this.$panels.addClass(o.hideClass); - this.$lis.removeClass(o.selectedClass); - if (!o.unselect) { - this.$panels.eq(o.selected).show().removeClass(o.hideClass); // use show and remove class to show in any case no matter how it has been hidden before - this.$lis.eq(o.selected).addClass(o.selectedClass); - } - - // load if remote tab - var href = !o.unselect && $.data(this.$tabs[o.selected], 'load.ui-tabs'); - if (href) - this.load(o.selected, href); - - // Take disabling tabs via class attribute from HTML - // into account and update option properly... - o.disabled = $.unique(o.disabled.concat( - $.map(this.$lis.filter('.' + o.disabledClass), - function(n, i) { return self.$lis.index(n); } ) - )).sort(); - - } - - // disable tabs - for (var i = 0, li; li = this.$lis[i]; i++) - $(li)[$.inArray(i, o.disabled) != -1 && !$(li).hasClass(o.selectedClass) ? 'addClass' : 'removeClass'](o.disabledClass); - - // set up animations - var hideFx, showFx, baseFx = { 'min-width': 0, duration: 1 }, baseDuration = 'normal'; - if (o.fx && o.fx.constructor == Array) - hideFx = o.fx[0] || baseFx, showFx = o.fx[1] || baseFx; - else - hideFx = showFx = o.fx || baseFx; - - // reset some styles to maintain print style sheets etc. - var resetCSS = { display: '', overflow: '', height: '' }; - if (!$.browser.msie) // not in IE to prevent ClearType font issue - resetCSS.opacity = ''; - - // Hide a tab, animation prevents browser scrolling to fragment, - // $show is optional. - function hideTab(clicked, $hide, $show) { - $hide.animate(hideFx, hideFx.duration || baseDuration, function() { // - $hide.addClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. - if ($.browser.msie && hideFx.opacity) - $hide[0].style.filter = ''; - if ($show) - showTab(clicked, $show, $hide); - }); - } - - // Show a tab, animation prevents browser scrolling to fragment, - // $hide is optional. - function showTab(clicked, $show, $hide) { - if (showFx === baseFx) - $show.css('display', 'block'); // prevent occasionally occuring flicker in Firefox cause by gap between showing and hiding the tab panels - $show.animate(showFx, showFx.duration || baseDuration, function() { - $show.removeClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. - if ($.browser.msie && showFx.opacity) - $show[0].style.filter = ''; - - // callback - $(self.element).triggerHandler("show.ui-tabs", [self.ui(clicked, $show[0])]); - - }); - } - - // switch a tab - function switchTab(clicked, $li, $hide, $show) { - /*if (o.bookmarkable && trueClick) { // add to history only if true click occured, not a triggered click - $.ajaxHistory.update(clicked.hash); - }*/ - $li.addClass(o.selectedClass) - .siblings().removeClass(o.selectedClass); - hideTab(clicked, $hide, $show); - } - - // attach tab event handler, unbind to avoid duplicates from former tabifying... - this.$tabs.unbind('.ui-tabs').bind(o.event, function() { - - //var trueClick = e.clientX; // add to history only if true click occured, not a triggered click - var $li = $(this).parents('li:eq(0)'), - $hide = self.$panels.filter(':visible'), - $show = $(this.hash); - - // If tab is already selected and not unselectable or tab disabled or click callback returns false stop here. - // Check if click handler returns false last so that it is not executed for a disabled tab! - if (($li.hasClass(o.selectedClass) && !o.unselect) || $li.hasClass(o.disabledClass) - || $(self.element).triggerHandler("select.ui-tabs", [self.ui(this, $show[0])]) === false) { - this.blur(); - return false; - } - - self.options.selected = self.$tabs.index(this); - - // if tab may be closed - if (o.unselect) { - if ($li.hasClass(o.selectedClass)) { - self.options.selected = null; - $li.removeClass(o.selectedClass); - self.$panels.stop(); - hideTab(this, $hide); - this.blur(); - return false; - } else if (!$hide.length) { - self.$panels.stop(); - var a = this; - self.load(self.$tabs.index(this), function() { - $li.addClass(o.selectedClass).addClass(o.unselectClass); - showTab(a, $show); - }); - this.blur(); - return false; - } - } - - if (o.cookie) - $.cookie('ui-tabs' + $.data(self.element), self.options.selected, o.cookie); - - // stop possibly running animations - self.$panels.stop(); - - // show new tab - if ($show.length) { - - // prevent scrollbar scrolling to 0 and than back in IE7, happens only if bookmarking/history is enabled - /*if ($.browser.msie && o.bookmarkable) { - var showId = this.hash.replace('#', ''); - $show.attr('id', ''); - setTimeout(function() { - $show.attr('id', showId); // restore id - }, 0); - }*/ - - var a = this; - self.load(self.$tabs.index(this), function() { - switchTab(a, $li, $hide, $show); - }); - - // Set scrollbar to saved position - need to use timeout with 0 to prevent browser scroll to target of hash - /*var scrollX = window.pageXOffset || document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft || 0; - var scrollY = window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop || 0; - setTimeout(function() { - scrollTo(scrollX, scrollY); - }, 0);*/ - - } else - throw 'jQuery UI Tabs: Mismatching fragment identifier.'; - - // Prevent IE from keeping other link focussed when using the back button - // and remove dotted border from clicked link. This is controlled in modern - // browsers via CSS, also blur removes focus from address bar in Firefox - // which can become a usability and annoying problem with tabsRotate. - if ($.browser.msie) - this.blur(); - - //return o.bookmarkable && !!trueClick; // convert trueClick == undefined to Boolean required in IE - return false; - - }); - - // disable click if event is configured to something else - if (!(/^click/).test(o.event)) - this.$tabs.bind('click.ui-tabs', function() { return false; }); - - }, - add: function(url, label, index) { - if (index == undefined) - index = this.$tabs.length; // append by default - - var o = this.options; - var $li = $(o.tabTemplate.replace(/#\{href\}/, url).replace(/#\{label\}/, label)); - $li.data('destroy.ui-tabs', true); - - var id = url.indexOf('#') == 0 ? url.replace('#', '') : this.tabId( $('a:first-child', $li)[0] ); - - // try to find an existing element before creating a new one - var $panel = $('#' + id); - if (!$panel.length) { - $panel = $(o.panelTemplate).attr('id', id) - .addClass(o.panelClass).addClass(o.hideClass); - $panel.data('destroy.ui-tabs', true); - } - if (index >= this.$lis.length) { - $li.appendTo(this.element); - $panel.appendTo(this.element.parentNode); - } else { - $li.insertBefore(this.$lis[index]); - $panel.insertBefore(this.$panels[index]); - } - - o.disabled = $.map(o.disabled, - function(n, i) { return n >= index ? ++n : n }); - - this.tabify(); - - if (this.$tabs.length == 1) { - $li.addClass(o.selectedClass); - $panel.removeClass(o.hideClass); - var href = $.data(this.$tabs[0], 'load.ui-tabs'); - if (href) - this.load(index, href); - } - - // callback - $(this.element).triggerHandler("add.ui-tabs", - [this.ui(this.$tabs[index], this.$panels[index])] - ); - }, - remove: function(index) { - var o = this.options, $li = this.$lis.eq(index).remove(), - $panel = this.$panels.eq(index).remove(); - - // If selected tab was removed focus tab to the right or - // in case the last tab was removed the tab to the left. - if ($li.hasClass(o.selectedClass) && this.$tabs.length > 1) - this.select(index + (index + 1 < this.$tabs.length ? 1 : -1)); - - o.disabled = $.map($.grep(o.disabled, function(n, i) { return n != index; }), - function(n, i) { return n >= index ? --n : n }); - - this.tabify(); - - // callback - $(this.element).triggerHandler("remove.ui-tabs", - [this.ui($li.find('a')[0], $panel[0])] - ); - }, - enable: function(index) { - var o = this.options; - if ($.inArray(index, o.disabled) == -1) - return; - - var $li = this.$lis.eq(index).removeClass(o.disabledClass); - if ($.browser.safari) { // fix disappearing tab (that used opacity indicating disabling) after enabling in Safari 2... - $li.css('display', 'inline-block'); - setTimeout(function() { - $li.css('display', 'block'); - }, 0); - } - - o.disabled = $.grep(o.disabled, function(n, i) { return n != index; }); - - // callback - $(this.element).triggerHandler("enable.ui-tabs", - [this.ui(this.$tabs[index], this.$panels[index])] - ); - - }, - disable: function(index) { - var self = this, o = this.options; - if (index != o.selected) { // cannot disable already selected tab - this.$lis.eq(index).addClass(o.disabledClass); - - o.disabled.push(index); - o.disabled.sort(); - - // callback - $(this.element).triggerHandler("disable.ui-tabs", - [this.ui(this.$tabs[index], this.$panels[index])] - ); - } - }, - select: function(index) { - if (typeof index == 'string') - index = this.$tabs.index( this.$tabs.filter('[href$=' + index + ']')[0] ); - this.$tabs.eq(index).trigger(this.options.event); - }, - load: function(index, callback) { // callback is for internal usage only - var self = this, o = this.options, - $a = this.$tabs.eq(index), a = $a[0]; - - var url = $a.data('load.ui-tabs'); - - // no remote - just finish with callback - if (!url) { - typeof callback == 'function' && callback(); - return; - } - - // load remote from here on - if (o.spinner) { - var $span = $('span', a), label = $span.html(); - $span.html('' + o.spinner + ''); - } - var finish = function() { - self.$tabs.filter('.' + o.loadingClass).each(function() { - $(this).removeClass(o.loadingClass); - if (o.spinner) - $('span', this).html(label); - }); - self.xhr = null; - }; - var ajaxOptions = $.extend({}, o.ajaxOptions, { - url: url, - success: function(r, s) { - $(a.hash).html(r); - finish(); - // This callback is required because the switch has to take - // place after loading has completed. - typeof callback == 'function' && callback(); - - if (o.cache) - $.removeData(a, 'load.ui-tabs'); // if loaded once do not load them again - - // callback - $(self.element).triggerHandler("load.ui-tabs", - [self.ui(self.$tabs[index], self.$panels[index])] - ); - - o.ajaxOptions.success && o.ajaxOptions.success(r, s); - } - }); - if (this.xhr) { - // terminate pending requests from other tabs and restore tab label - this.xhr.abort(); - finish(); - } - $a.addClass(o.loadingClass); - setTimeout(function() { // timeout is again required in IE, "wait" for id being restored - self.xhr = $.ajax(ajaxOptions); - }, 0); - - }, - url: function(index, url) { - this.$tabs.eq(index).data('load.ui-tabs', url); - }, - destroy: function() { - var o = this.options; - $(this.element).unbind('.ui-tabs') - .removeClass(o.navClass).removeData('ui-tabs'); - this.$tabs.each(function() { - var href = $.data(this, 'href.ui-tabs'); - if (href) - this.href = href; - $(this).unbind('.ui-tabs') - .removeData('href.ui-tabs').removeData('load.ui-tabs'); - }); - this.$lis.add(this.$panels).each(function() { - if ($.data(this, 'destroy.ui-tabs')) - $(this).remove(); - else - $(this).removeClass([o.selectedClass, o.unselectClass, - o.disabledClass, o.panelClass, o.hideClass].join(' ')); - }); - } - }); - -})(jQuery); diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.ui.tabs.pack.js b/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.ui.tabs.pack.js deleted file mode 100644 index e3e9c30..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/jquery.ui.tabs.pack.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Tabs 3 - New Wave Tabs - * - * Copyright (c) 2007 Klaus Hartl (stilbuero.de) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Tabs - */ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.4=$.4||{};$.2k.3=6(){7 b=1c 1h[0]==\'26\'&&1h[0];7 c=b&&1N.1L.2c.28(1h,1)||1h;k b==\'D\'?$.p(2[0],\'4-3\').$3.D:2.N(6(){5(b){7 a=$.p(2,\'4-3\');a[b].2j(a,c)}E 2h $.4.3(2,c[0]||{})})};$.4.3=6(e,f){7 d=2;2.m=e;2.8=$.1G({q:0,S:f.q===M,16:\'1y\',t:[],G:M,1m:\'2wt;\',1Z:F,1P:\'4-3-\',1j:{},U:M,1O:\'<1g>#{1f}\',1t:\'<1J>\',1e:\'4-3-2b\',v:\'4-3-q\',1r:\'4-3-S\',Q:\'4-3-t\',V:\'4-3-1a\',I:\'4-3-X\',1q:\'4-3-2T\'},f);5(f.q===M)2.8.q=M;2.8.16+=\'.4-3\';2.8.G=$.G&&$.G.25==2R&&2.8.G;$(e).1b(\'2O.4-3\',6(b,c,a){5((/^q/).23(c))d.1i(a);E{d.8[c]=a;d.Z()}}).1b(\'2M.4-3\',6(a,b){k d.8[b]});$.p(e,\'4-3\',2);2.Z(1l)};$.1G($.4.3.1L,{1w:6(a){k a.1X&&a.1X.T(/\\s/g,\'1T\').T(/[^A-2v-2u-9\\-1T:\\.]/g,\'\')||2.8.1P+$.p(a)},4:6(a,b){k{2r:2,8:2.8,2q:a,1a:b}},Z:6(f){2.$w=$(\'z:2o(a[y])\',2.m);2.$3=2.$w.19(6(){k $(\'a\',2)[0]});2.$l=$([]);7 e=2,o=2.8;2.$3.N(6(i,a){5(a.H&&a.H.T(\'#\',\'\'))e.$l=e.$l.14(a.H);E 5($(a).W(\'y\')!=\'#\'){$.p(a,\'y.4-3\',a.y);$.p(a,\'x.4-3\',a.y);7 b=e.1w(a);a.y=\'#\'+b;7 c=$(\'#\'+b);5(!c.D){c=$(o.1t).W(\'13\',b).u(o.V).2i(e.$l[i-1]||e.m);c.p(\'12.4-3\',1l)}e.$l=e.$l.14(c)}E o.t.1M(i+1)});5(f){$(2.m).J(o.1e)||$(2.m).u(o.1e);2.$l.N(6(){7 a=$(2);a.J(o.V)||a.u(o.V)});2.$3.N(6(i,a){5(1u.H){5(a.H==1u.H){o.q=i;5($.L.11||$.L.2g){7 b=$(1u.H),1K=b.W(\'13\');b.W(\'13\',\'\');1s(6(){b.W(\'13\',1K)},2f)}2e(0,0);k F}}E 5(o.G){7 c=2d($.G(\'4-3\'+$.p(e.m)),10);5(c&&e.$3[c]){o.q=c;k F}}E 5(e.$w.C(i).J(o.v)){o.q=i;k F}});2.$l.u(o.I);2.$w.B(o.v);5(!o.S){2.$l.C(o.q).K().B(o.I);2.$w.C(o.q).u(o.v)}7 h=!o.S&&$.p(2.$3[o.q],\'x.4-3\');5(h)2.x(o.q,h);o.t=$.2a(o.t.29($.19(2.$w.R(\'.\'+o.Q),6(n,i){k e.$w.Y(n)}))).1I()}27(7 i=0,z;z=2.$w[i];i++)$(z)[$.1H(i,o.t)!=-1&&!$(z).J(o.v)?\'u\':\'B\'](o.Q);7 j,O,18={\'2V-2U\':0,1F:1},1E=\'2S\';5(o.U&&o.U.25==1N)j=o.U[0]||18,O=o.U[1]||18;E j=O=o.U||18;7 g={1p:\'\',2Q:\'\',2P:\'\'};5(!$.L.11)g.1D=\'\';6 1C(b,c,a){c.24(j,j.1F||1E,6(){c.u(o.I).17(g);5($.L.11&&j.1D)c[0].22.R=\'\';5(a)1B(b,a,c)})}6 1B(b,a,c){5(O===18)a.17(\'1p\',\'1A\');a.24(O,O.1F||1E,6(){a.B(o.I).17(g);5($.L.11&&O.1D)a[0].22.R=\'\';$(e.m).P("K.4-3",[e.4(b,a[0])])})}6 20(c,a,d,b){a.u(o.v).2N().B(o.v);1C(c,d,b)}2.$3.1z(\'.4-3\').1b(o.16,6(){7 b=$(2).2L(\'z:C(0)\'),$X=e.$l.R(\':2K\'),$K=$(2.H);5((b.J(o.v)&&!o.S)||b.J(o.Q)||$(e.m).P("1i.4-3",[e.4(2,$K[0])])===F){2.1k();k F}e.8.q=e.$3.Y(2);5(o.S){5(b.J(o.v)){e.8.q=M;b.B(o.v);e.$l.1x();1C(2,$X);2.1k();k F}E 5(!$X.D){e.$l.1x();7 a=2;e.x(e.$3.Y(2),6(){b.u(o.v).u(o.1r);1B(a,$K)});2.1k();k F}}5(o.G)$.G(\'4-3\'+$.p(e.m),e.8.q,o.G);e.$l.1x();5($K.D){7 a=2;e.x(e.$3.Y(2),6(){20(a,b,$X,$K)})}E 2J\'1Y 2H 2G: 2E 2D 2C.\';5($.L.11)2.1k();k F});5(!(/^1y/).23(o.16))2.$3.1b(\'1y.4-3\',6(){k F})},14:6(d,e,f){5(f==2B)f=2.$3.D;7 o=2.8;7 a=$(o.1O.T(/#\\{y\\}/,d).T(/#\\{1f\\}/,e));a.p(\'12.4-3\',1l);7 b=d.2A(\'#\')==0?d.T(\'#\',\'\'):2.1w($(\'a:2z-2y\',a)[0]);7 c=$(\'#\'+b);5(!c.D){c=$(o.1t).W(\'13\',b).u(o.V).u(o.I);c.p(\'12.4-3\',1l)}5(f>=2.$w.D){a.1S(2.m);c.1S(2.m.2x)}E{a.21(2.$w[f]);c.21(2.$l[f])}o.t=$.19(o.t,6(n,i){k n>=f?++n:n});2.Z();5(2.$3.D==1){a.u(o.v);c.B(o.I);7 g=$.p(2.$3[0],\'x.4-3\');5(g)2.x(f,g)}$(2.m).P("14.4-3",[2.4(2.$3[f],2.$l[f])])},15:6(a){7 o=2.8,$z=2.$w.C(a).15(),$1a=2.$l.C(a).15();5($z.J(o.v)&&2.$3.D>1)2.1i(a+(a+1<2.$3.D?1:-1));o.t=$.19($.1W(o.t,6(n,i){k n!=a}),6(n,i){k n>=a?--n:n});2.Z();$(2.m).P("15.4-3",[2.4($z.2F(\'a\')[0],$1a[0])])},1U:6(a){7 o=2.8;5($.1H(a,o.t)==-1)k;7 b=2.$w.C(a).B(o.Q);5($.L.2s){b.17(\'1p\',\'2I-1A\');1s(6(){b.17(\'1p\',\'1A\')},0)}o.t=$.1W(o.t,6(n,i){k n!=a});$(2.m).P("1U.4-3",[2.4(2.$3[a],2.$l[a])])},1V:6(a){7 b=2,o=2.8;5(a!=o.q){2.$w.C(a).u(o.Q);o.t.1M(a);o.t.1I();$(2.m).P("1V.4-3",[2.4(2.$3[a],2.$l[a])])}},1i:6(a){5(1c a==\'26\')a=2.$3.Y(2.$3.R(\'[y$=\'+a+\']\')[0]);2.$3.C(a).2p(2.8.16)},x:6(d,b){7 f=2,o=2.8,$a=2.$3.C(d),a=$a[0];7 e=$a.p(\'x.4-3\');5(!e){1c b==\'6\'&&b();k}5(o.1m){7 h=$(\'1g\',a),1f=h.1n();h.1n(\'<1R>\'+o.1m+\'\')}7 c=6(){f.$3.R(\'.\'+o.1q).N(6(){$(2).B(o.1q);5(o.1m)$(\'1g\',2).1n(1f)});f.1o=M};7 g=$.1G({},o.1j,{1Q:e,1v:6(r,s){$(a.H).1n(r);c();1c b==\'6\'&&b();5(o.1Z)$.1d(a,\'x.4-3\');$(f.m).P("x.4-3",[f.4(f.$3[d],f.$l[d])]);o.1j.1v&&o.1j.1v(r,s)}});5(2.1o){2.1o.2n();c()}$a.u(o.1q);1s(6(){f.1o=$.2m(g)},0)},1Q:6(a,b){2.$3.C(a).p(\'x.4-3\',b)},12:6(){7 o=2.8;$(2.m).1z(\'.4-3\').B(o.1e).1d(\'4-3\');2.$3.N(6(){7 a=$.p(2,\'y.4-3\');5(a)2.y=a;$(2).1z(\'.4-3\').1d(\'y.4-3\').1d(\'x.4-3\')});2.$w.14(2.$l).N(6(){5($.p(2,\'12.4-3\'))$(2).15();E $(2).B([o.v,o.1r,o.Q,o.V,o.I].2l(\' \'))})}})})(1Y);',62,182,'||this|tabs|ui|if|function|var|options||||||||||||return|panels|element|||data|selected|||disabled|addClass|selectedClass|lis|load|href|li||removeClass|eq|length|else|false|cookie|hash|hideClass|hasClass|show|browser|null|each|showFx|triggerHandler|disabledClass|filter|unselect|replace|fx|panelClass|attr|hide|index|tabify||msie|destroy|id|add|remove|event|css|baseFx|map|panel|bind|typeof|removeData|navClass|label|span|arguments|select|ajaxOptions|blur|true|spinner|html|xhr|display|loadingClass|unselectClass|setTimeout|panelTemplate|location|success|tabId|stop|click|unbind|block|showTab|hideTab|opacity|baseDuration|duration|extend|inArray|sort|div|toShowId|prototype|push|Array|tabTemplate|idPrefix|url|em|appendTo|_|enable|disable|grep|title|jQuery|cache|switchTab|insertBefore|style|test|animate|constructor|string|for|call|concat|unique|nav|slice|parseInt|scrollTo|500|opera|new|insertAfter|apply|fn|join|ajax|abort|has|trigger|tab|instance|safari|8230|z0|Za|Loading|parentNode|child|first|indexOf|undefined|identifier|fragment|Mismatching|find|Tabs|UI|inline|throw|visible|parents|getData|siblings|setData|height|overflow|Function|normal|loading|width|min'.split('|'),0,{})) \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/directory.png b/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/directory.png deleted file mode 100644 index 784e8fa..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/directory.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/folder_open.png b/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/folder_open.png deleted file mode 100644 index 4e35483..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/folder_open.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/spinner.gif b/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/spinner.gif deleted file mode 100644 index 85b99d4..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/images/spinner.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/jqueryFileTree.css b/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/jqueryFileTree.css deleted file mode 100644 index 0017d07..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/jqueryFileTree.css +++ /dev/null @@ -1,81 +0,0 @@ -#file_browser { - border: 2px solid #999; - height: 200px; - overflow: auto; - padding: 4px 8px; - background: #fff; - margin: 4px 0px; - width: 350px; - position:relative; - display:none; -} -.browsefiles {margin-left:5px;} - -ul.jqueryDirTree { - font-family: Verdana, sans-serif; - font-size: 11px; - line-height: 18px; - padding: 0px; - margin: 0px; -} - -ul.jqueryDirTree li { - list-style: none; - padding: 2px 0px; - padding-left: 20px; - margin: 0px; - white-space: nowrap; -} - -ul.jqueryDirTree a { - color: #333; - text-decoration: none; - display: block; - padding: 0px 2px; -} - -ul.jqueryDirTree a:hover { - background: #bdf; -} -ul.jqueryDirTree li.active a { - background: #bdf; -} -ul.jqueryDirTree li.active li a { - background: none; -} -ul.jqueryDirTree li.active li a:hover { - background: #bdf; -} - -/* Core Styles */ -.jqueryDirTree li.directory { background: url(images/directory.png) left top no-repeat; } -.jqueryDirTree li.expanded { background: url(images/folder_open.png) left top no-repeat; } -.jqueryDirTree li.file { background: url(images/file.png) left top no-repeat; } -.jqueryDirTree li.wait { background: url(images/spinner.gif) left top no-repeat; } -/* File Extensions*/ -.jqueryDirTree li.ext_3gp { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_avi { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_bat { background: url(images/application.png) left top no-repeat; } -.jqueryDirTree li.ext_bmp { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_com { background: url(images/application.png) left top no-repeat; } -.jqueryDirTree li.ext_exe { background: url(images/application.png) left top no-repeat; } -.jqueryDirTree li.ext_gif { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_fla { background: url(images/flash.png) left top no-repeat; } -.jqueryDirTree li.ext_jpg { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_jpeg { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_m4p { background: url(images/music.png) left top no-repeat; } -.jqueryDirTree li.ext_mov { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_mp3 { background: url(images/music.png) left top no-repeat; } -.jqueryDirTree li.ext_mp4 { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_mpg { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_mpeg { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_ogg { background: url(images/music.png) left top no-repeat; } -.jqueryDirTree li.ext_pcx { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_pdf { background: url(images/pdf.png) left top no-repeat; } -.jqueryDirTree li.ext_png { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_swf { background: url(images/flash.png) left top no-repeat; } -.jqueryDirTree li.ext_tif { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_tiff { background: url(images/picture.png) left top no-repeat; } -.jqueryDirTree li.ext_wav { background: url(images/music.png) left top no-repeat; } -.jqueryDirTree li.ext_wmv { background: url(images/film.png) left top no-repeat; } -.jqueryDirTree li.ext_zip { background: url(images/zip.png) left top no-repeat; } \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/jqueryFileTree.js b/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/jqueryFileTree.js deleted file mode 100644 index 79fb679..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/jqueryFileTree/jqueryFileTree.js +++ /dev/null @@ -1,98 +0,0 @@ -// jQuery File Tree Plugin -// -// Version 1.01 -// -// Cory S.N. LaViska -// A Beautiful Site (http://abeautifulsite.net/) -// 24 March 2008 -// -// Visit http://abeautifulsite.net/notebook.php?article=58 for more information -// -// Usage: $('.fileTreeDemo').fileTree( options, callback ) -// -// Options: root - root folder to display; default = / -// script - location of the serverside AJAX file to use; default = jqueryFileTree.php -// folderEvent - event to trigger expand/collapse; default = click -// expandSpeed - default = 500 (ms); use -1 for no animation -// collapseSpeed - default = 500 (ms); use -1 for no animation -// expandEasing - easing function to use on expand (optional) -// collapseEasing - easing function to use on collapse (optional) -// multiFolder - whether or not to limit the browser to one subfolder at a time -// loadMessage - Message to display while initial tree loads (can be HTML) -// -// History: -// -// 1.01 - updated to work with foreign characters in directory/file names (12 April 2008) -// 1.00 - released (24 March 2008) -// -// TERMS OF USE -// -// This plugin is dual-licensed under the GNU General Public License and the MIT License and -// is copyright 2008 A Beautiful Site, LLC. -// -if(jQuery) (function($){ - - $.extend($.fn, { - fileTree: function(o, h) { - // Defaults - if( !o ) var o = {}; - if( o.root == undefined ) o.root = '/'; - if( o.script == undefined ) o.script = 'jqueryFileTree.php'; - if( o.folderEvent == undefined ) o.folderEvent = 'dblclick'; - if( o.expandSpeed == undefined ) o.expandSpeed= 200; - if( o.collapseSpeed == undefined ) o.collapseSpeed= 500; - if( o.expandEasing == undefined ) o.expandEasing = null; - if( o.collapseEasing == undefined ) o.collapseEasing = null; - if( o.multiFolder == undefined ) o.multiFolder = true; - if( o.loadMessage == undefined ) o.loadMessage = 'Loading...'; - - $(this).each( function() { - - function showTree(c, t) { - $(c).addClass('wait'); - $(".jqueryFileTree.start").remove(); - $.post(o.script, { dir: t }, function(data) { - $(c).find('.start').html(''); - $(c).removeClass('wait').append(data); - if( o.root == t ) - $(c).find('UL:hidden').show(); - else - $(c).find('UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing }); - bindTree(c); - }); - } - - function bindTree(t) { - $(t).find('li a').bind(o.folderEvent, function() { - if( $(this).parent().hasClass('collapsed') ) { - // Expand - if( !o.multiFolder ) { - $(this).parent().parent().find('ul').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); - $(this).parent().parent().find('li.directory').removeClass('expanded').addClass('collapsed'); - } - $(this).parent().find('ul').remove(); // cleanup - showTree( $(this).parent(), escape($(this).attr('rel').match( /.*\// )) ); - $(this).parent().removeClass('collapsed').addClass('expanded'); - } else { - // Collapse - $(this).parent().find('ul').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); - $(this).parent().removeClass('expanded').addClass('collapsed'); - } - return false; - }); - $(t).find('li a').bind('click', function() { - h($(this).attr('rel')); - $(this).parents('#file_browser').find('.active').removeClass('active'); - $(this).parent().addClass('active'); - return false; - }); - } - // Loading message - $(this).html('
    • ' + o.loadMessage + '
    '); - // Get the initial file list - showTree( $(this), escape(o.root) ); - }); - } - }); - -})(jQuery); \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.ajax.js b/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.ajax.js deleted file mode 100644 index f98b9a6..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.ajax.js +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Ajax Plugin for NextGEN gallery - * Version: 1.4.1 - * Author : Alex Rabe - */ -(function($) { -nggAjax = { - settings: { - url: nggAjaxSetup.url, - type: "POST", - action: nggAjaxSetup.action, - operation : nggAjaxSetup.operation, - nonce: nggAjaxSetup.nonce, - ids: nggAjaxSetup.ids, - permission: nggAjaxSetup.permission, - error: nggAjaxSetup.error, - failure: nggAjaxSetup.failure, - timeout: 10000 - }, - - run: function( index ) { - s = this.settings; - var req = $.ajax({ - type: "POST", - url: s.url, - data:"action=" + s.action + "&operation=" + s.operation + "&_wpnonce=" + s.nonce + "&image=" + s.ids[index], - cache: false, - timeout: 10000, - success: function(msg){ - switch ( parseInt(msg) ) { - case -1: - nggProgressBar.addNote( nggAjax.settings.permission ); - break; - case 0: - nggProgressBar.addNote( nggAjax.settings.error ); - break; - case 1: - // show nothing, its better - break; - default: - // Return the message - nggProgressBar.addNote( "ID " + nggAjax.settings.ids[index] + ": " + nggAjax.settings.failure, msg ); - break; - } - - }, - error: function (msg) { - nggProgressBar.addNote( "ID " + nggAjax.settings.ids[index] + ": " + nggAjax.settings.failure, msg.responseText ); - }, - complete: function () { - index++; - nggProgressBar.increase( index ); - // parse the whole array - if (index < nggAjax.settings.ids.length) - nggAjax.run( index ); - else - nggProgressBar.finished(); - } - }); - }, - - readIDs: function( index ) { - s = this.settings; - var req = $.ajax({ - type: "POST", - url: s.url, - data:"action=" + s.action + "&operation=" + s.operation + "&_wpnonce=" + s.nonce + "&image=" + s.ids[index], - dataType: "json", - cache: false, - timeout: 10000, - success: function(msg){ - // join the array - imageIDS = imageIDS.concat(msg); - }, - error: function (msg) { - nggProgressBar.addNote( "ID " + nggAjax.settings.ids[index] + ": " + nggAjax.settings.failure, msg.responseText ); - }, - complete: function () { - index++; - nggProgressBar.increase( index ); - // parse the whole array - if (index < nggAjax.settings.ids.length) - nggAjax.readIDs( index ); - else { - // and now run the image operation - index = 0; - nggAjax.settings.ids = imageIDS; - nggAjax.settings.operation = nextOperation; - nggAjax.settings.maxStep = imageIDS.length; - nggProgressBar.init( nggAjax.settings ); - nggAjax.run( index ); - } - } - }); - }, - - init: function( s ) { - - var index = 0; - - // get the settings - this.settings = $.extend( {}, this.settings, {}, s || {} ); - - // a gallery operation need first all image ids via ajax - if ( this.settings.operation.substring(0, 8) == 'gallery_' ) { - nextOperation = this.settings.operation.substring(8); - //first run, get all the ids - this.settings.operation = 'get_image_ids'; - imageIDS = new Array(); - this.readIDs( index ); - } else { - // start the ajax process - this.run( index ); - } - } - } -}(jQuery)); \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.autocomplete.js b/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.autocomplete.js deleted file mode 100644 index f063049..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.autocomplete.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Implementation of jQuery UI Autocomplete - * see http://jqueryui.com/demos/autocomplete/ - * Version: 1.0.0 - * Author : Alex Rabe - */ -jQuery.fn.nggAutocomplete = function ( args ) { - - var defaults = { type: 'image', - domain: '', - limit: 50 }; - - var s = jQuery.extend( {}, defaults, args); - - var settings = { method: 'autocomplete', - type: s.type, - format: 'json', - callback: 'json', - limit: s.limit }; - - var obj = this.selector; - var id = jQuery(this).attr('id'); - var cache = {}, lastXhr; - - // get current value of drop down field - var c_text = jQuery(obj + ' :selected').text(); - var c_val = jQuery(obj).val(); - var c_width= jQuery(obj).css('width'); - //hide first the drop down field - jQuery(obj).hide(); - jQuery(obj).after(''); - // Fill up current value & style - jQuery(obj + "_ac").val(c_text); - jQuery(obj + "_ac").css('width', c_width); - // Add the dropdown icon - jQuery(obj + "_ac").addClass('ui-autocomplete-start') - jQuery(obj + "_ac").autocomplete({ - source: function( request, response ) { - var term = request.term; - if ( term in cache ) { - response( cache[ term ] ); - return; - } - // adding more $_GET parameter - request = jQuery.extend( {}, settings, request); - lastXhr = jQuery.getJSON( s.domain, request, function( data, status, xhr ) { - // add term to cache - cache[ term ] = data; - if ( xhr === lastXhr ) - response( data ); - }); - }, - minLength: 0, - select: function( event, ui ) { - // adding this to the dropdown list - jQuery(obj).append( new Option(ui.item.label, ui.item.id) ); - // now select it - jQuery(obj).val(ui.item.id); - jQuery(obj + "_ac").removeClass('ui-autocomplete-start'); - } - }); - - jQuery(obj + "_ac").click(function() { - - var search = jQuery(obj + "_ac").val(); - // if the value is prefilled, we pass a empty string - if ( search == c_text) - search = ''; - // pass empty string as value to search for, displaying all results - jQuery(obj + "_ac").autocomplete('search', search ); - }); -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.progressbar.js b/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.progressbar.js deleted file mode 100644 index df5967d..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/ngg.progressbar.js +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Progress bar Plugin for NextGEN gallery - * Version: 2.0.1 - * Author : Alex Rabe - */ -(function($) { - nggProgressBar = { - - settings: { - id: 'progressbar', - maxStep: 100, - wait: false, - header: '' - }, - - init: function( s ) { - - s = this.settings = $.extend( {}, this.settings, {}, s || {} ); - div = $('#' + s.id + '_dialog'); - width = Math.round( ( 100 / s.maxStep ) * 100 ) /100; - // add the initial progressbar - if ( $( "#" + s.id + "_dialog" ).length == 0) { - s.header = (s.header.length > 0) ? s.header : '' ; - $("body").append('
    0%
    '); - $('html,body').scrollTop(0); // works only in IE, FF - // we open the dialog - $( "#" + s.id + "_dialog" ).dialog({ - width: 640, - resizable : true, - modal: true, - title: s.header - }); - } - }, - - addMessage: function( message ) { - s = this.settings; - if ( div.find("#" + s.id + "_message").length == 0) - div.append('
    ' + message + '
    '); - else - $("#" + s.id + "_message").html( message ); - }, - - addNote: function( note, detail ) { - s = this.settings; - s.wait = true; - if ( div.find("#" + s.id + "_note").length == 0) - div.append('
       
    '); - - if (detail) - $("#" + s.id + "_note").append("
  • " + note + "
    [more]
    " + detail + "
  • "); - else - $("#" + s.id + "_note").append("
  • " + note + "
  • "); - // increase the height to show the note - div.dialog("option", "height", 220); - }, - - increase: function( step ) { - s = this.settings; - var value = step * width + "%"; - var rvalue = Math.round (step * width) + "%" ; - $("#" + s.id + " div").width( value ); - $("#" + s.id + " span").html( rvalue ); - }, - - finished: function() { - s = this.settings; - $("#" + s.id + " div").width( '100%' ); - $("#" + s.id + " span").html( '100%' ); - // in the case we add a note , we should wait for a click - if (s.wait) { - $("#" + s.id).delay(1000).hide("slow"); - div.click(function () { - $("#" + s.id + "_dialog").dialog("destroy"); - $("#" + s.id + "_dialog").remove(); - // In the casee it's the manage page, force a submit - $('.nggform').prepend(""); - $('.nggform').submit(); - }); - } else { - - window.setTimeout(function() { - $("#" + s.id + "_dialog" ).delay(4000).dialog("destroy"); - $("#" + s.id + "_dialog").remove(); - // In the casee it's the manage page, force a submit - $('.nggform').prepend(""); - $('.nggform').delay(4000).submit(); - }, 1000); - } - } - }; -})(jQuery); \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/sorter.js b/src/wp-content/plugins/nextgen-gallery/admin/js/sorter.js deleted file mode 100644 index 1f1d319..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/sorter.js +++ /dev/null @@ -1,294 +0,0 @@ -/************************************************************************************************************ -(C) www.dhtmlgoodies.com, September 2005 - -This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website. - -Terms of use: -LGPL: See web page for more info. - -Thank you! - -www.dhtmlgoodies.com -Alf Magne Kalleland - -//TODO : Contain a marker position error when the window will be scroll down - -************************************************************************************************************/ -var operaBrowser = navigator.userAgent.indexOf('Opera') >=0 ? 1 : false; -var webkitBrowser = navigator.userAgent.indexOf('Safari') >=0 ? false : false; -var MSIE = navigator.userAgent.indexOf('MSIE')>= 0 ? true : false; -var navigatorVersion = navigator.appVersion.replace(/.*?MSIE (\d\.\d).*/g,'$1')/1; - -function cancelEvent() -{ - return false; -} -var activeImage = false; -var readyToMove = false; -var moveTimer = -1; -var dragDropDiv; -var insertionMarker; - -var offsetX_marker = -3; // offset X - element that indicates destinaton of drop -var offsetY_marker = 0; // offset Y - element that indicates destinaton of drop - -var firefoxOffsetX_marker = -3; -var firefoxOffsetY_marker = -2; - -if(navigatorVersion<6 && MSIE){ /* IE 5.5 fix */ - offsetX_marker-=23; - offsetY_marker-=10; -} - -var destinationObject = false; - -var divXPositions = new Array(); -var divYPositions = new Array(); -var divWidth = new Array(); -var divHeight = new Array(); - -var tmpLeft = 0; -var tmpTop = 0; - -var eventDiff_x = 0; -var eventDiff_y = 0; - -function getTopPos(inputObj) -{ - var returnValue = inputObj.offsetTop; - while((inputObj = inputObj.offsetParent) != null){ - if(inputObj.tagName!='HTML'){ - returnValue += (inputObj.offsetTop - inputObj.scrollTop); - if(document.all)returnValue+=inputObj.clientTop; - } - } - return returnValue; -} - -function getLeftPos(inputObj) -{ - var returnValue = inputObj.offsetLeft; - while((inputObj = inputObj.offsetParent) != null){ - if(inputObj.tagName!='HTML'){ - returnValue += inputObj.offsetLeft; - if(document.all)returnValue+=inputObj.clientLeft; - } - } - return returnValue; -} - -function selectImage(e) -{ - if(document.all && !operaBrowser)e = event; - var obj = this.parentNode; - if(activeImage)activeImage.className='imageBox'; - obj.className = 'imageBoxHighlighted'; - activeImage = obj; - readyToMove = true; - moveTimer=0; - - tmpLeft = e.clientX + Math.max(document.body.scrollLeft,document.documentElement.scrollLeft); - tmpTop = e.clientY + Math.max(document.body.scrollTop,document.documentElement.scrollTop); - - startMoveTimer(); - - return false; -} - -function startMoveTimer(){ - if(moveTimer>=0 && moveTimer<10){ - moveTimer++; - setTimeout('startMoveTimer()',15); - } - if(moveTimer==10){ - getDivCoordinates(); - var subElements = dragDropDiv.getElementsByTagName('DIV'); - if(subElements.length>0){ - dragDropDiv.removeChild(subElements[0]); - } - - jQuery("#dragDropContent").show(); - // dragDropDiv.style.display='block'; - var newDiv = activeImage.cloneNode(true); - newDiv.className='imageBox'; - newDiv.id=''; - jQuery("#dragDropContent").append(newDiv); - //dragDropDiv.appendChild(newDiv); - - jQuery("#dragDropContent").css("top" , tmpTop + 'px'); - jQuery("#dragDropContent").css("left" , tmpLeft + 'px'); - // dragDropDiv.style.top = tmpTop + 'px'; - // dragDropDiv.style.left = tmpLeft + 'px'; - - } - return false; -} - -function dragDropEnd(ev) -{ - readyToMove = false; - moveTimer = -1; - - jQuery("#dragDropContent").hide(); - //dragDropDiv.style.display='none'; - jQuery("#insertionMarker").hide(); - //insertionMarker.style.display='none'; - - if(destinationObject && destinationObject!=activeImage){ - var parentObj = destinationObject.parentNode; - parentObj.insertBefore(activeImage,destinationObject); - activeImage.className='imageBox'; - activeImage = false; - destinationObject=false; - getDivCoordinates(); - } - return false; -} - -function dragDropMove(e) -{ - if(moveTimer==-1) - return; - if(document.all && !operaBrowser) - e = event; - - if (webkitBrowser) { - var leftPos = e.pageX - eventDiff_x; - var topPos = e.pageY - eventDiff_y; - } else { - var leftPos = e.clientX + document.documentElement.scrollLeft - eventDiff_x; - var topPos = e.clientY + document.documentElement.scrollTop - eventDiff_y; - } - - // message = " topPos: " + topPos + " e.pageY: " + e.pageY + " e.clientY: " + e.clientY + " scrollTop: " + document.documentElement.scrollTop + ""; - // message += "
    leftPos: " + leftPos + " e.pageX: " + e.pageX + " e.clientX: " + e.clientX + " scrollLeft: " + document.documentElement.scrollLeft + ""; - //debug( message ); - - dragDropDiv.style.top = topPos + 'px'; - dragDropDiv.style.left = leftPos + 'px'; - - leftPos = leftPos + eventDiff_x; - topPos = topPos + eventDiff_y; - - if(e.button!=1 && document.all && !operaBrowser)dragDropEnd(e); - var elementFound = false; - for(var prop in divXPositions){ - // message = (divXPositions[prop]/1) + " < " + leftPos/1 + " && " + (divXPositions[prop]/1 + divWidth[prop]*0.7) + " > " + (leftPos/1); - // message += "
    " + (divYPositions[prop]/1) + " < " + topPos/1 + " && " + (divYPositions[prop]/1 + divWidth[prop]) + " > " + (topPos/1); - // debug( message ); - if( (divXPositions[prop]/1 < leftPos/1) && ( (divXPositions[prop]/1 + divWidth[prop]*0.7) > leftPos/1) && ( (divYPositions[prop]/1) < topPos/1) && (( (divYPositions[prop]/1) + divWidth[prop]) > topPos/1)) { - - // check for IE who support document.all - if( document.all && !webkitBrowser ){ - offsetX = offsetX_marker; - offsetY = offsetY_marker; - }else{ - offsetX = firefoxOffsetX_marker; - offsetY = firefoxOffsetY_marker; - } - jQuery("#insertionMarker").css("top", divYPositions[prop] + offsetY + 'px'); - //insertionMarker.style.top = divYPositions[prop] + offsetY + 'px'; - jQuery("#insertionMarker").css("left", divXPositions[prop] + offsetX + 'px'); - //insertionMarker.style.left = divXPositions[prop] + offsetX + 'px'; - jQuery("#insertionMarker").show(); - //insertionMarker.style.display='block'; - destinationObject = document.getElementById(prop); - elementFound = true; - break; - } - } - - - if(!elementFound){ - jQuery("#insertionMarker").hide(); - //insertionMarker.style.display='none'; - destinationObject = false; - } - - return false; - -} - -// brackets are not recognize by jQuery -// see http://groups.google.com/group/jquery-en/browse_thread/thread/29438736a4369d7b -function $$(selector, context){ - return jQuery(selector.replace(/(\[|\])/g, '\\$1'),context) -} - -function getDivCoordinates() -{ - var divs = document.getElementsByTagName('div'); - for(var no=0;no 0) serial = serial + '&' - serial = serial + "sortArray[]=" + objects[no].id; - } - } - jQuery('input[name=sortorder]').val(serial); - // debug( 'This is the new order of the images(IDs) :
    ' + orderString ); - -} - -function initGallery() -{ - var divs = document.getElementsByTagName('div'); - for(var no=0;no - is released under the MIT License -*/ -var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y0){for(var af=0;af0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad'}}aa.outerHTML='"+af+"";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab") - .remove(); - jQuery("#swfupload_btn").click( function() { submitFiles(); } ); - jQuery("#imagefiles") - .after("
    ") - .after("") - .after("") - .remove(); - jQuery("#imagefiles").click( function() { fileBrowse(); } ); - }); -} - -// call the upload dialog -function fileBrowse() { - jQuery("#txtFileName").val(""); - ngg_swf_upload.cancelUpload(); - ngg_swf_upload.selectFiles(); -} - -// called when a file is added -function fileQueued(fileObj) { - filesize = " (" + Math.round(fileObj.size/1024) + " kB) ";; - jQuery("#txtFileName").val(fileObj.name); - jQuery("#uploadQueue") - .append("
    [" + ngg_swf_upload.customSettings.remove + "] " + fileObj.name + filesize + "
    ") - .children("div:last").slideDown("slow") - .end(); -} - -// start the upload -function submitFiles() { - // check if a gallery is selected - if (jQuery('#galleryselect').val() > "0") { - nggProgressBar.init(nggAjaxOptions); - // get old post_params - post_params = ngg_swf_upload.getSetting("post_params"); - // update the selected gallery in the post_params - post_params['galleryselect'] = jQuery('#galleryselect').val(); - ngg_swf_upload.setPostParams(post_params); - ngg_swf_upload.startUpload(); - } else { - jQuery('#uploadimage_form').prepend(""); - jQuery("#uploadimage_form").submit(); - } -} - -// called when a file will be removed -function removeFile(fileID) { - ngg_swf_upload.cancelUpload(fileID); - jQuery("#" + fileID).hide("slow"); - jQuery("#" + fileID).remove(); -} - -// called before the uploads start -function uploadStart(fileObj) { - nggProgressBar.init(nggAjaxOptions); - return true; -} - -// called during the upload progress -function uploadProgress(fileObj, bytesLoaded) { - var percent = Math.ceil((bytesLoaded / fileObj.size) * 100); - nggProgressBar.increase( percent ); - jQuery("#progressbar span").text(percent + "% - " + fileObj.name); -} - -// called when the file is uploaded -function uploadComplete(fileObj) { - jQuery("#" + fileObj.id).hide("slow"); - jQuery("#" + fileObj.id).remove(); - if ( ngg_swf_upload.getStats().files_queued == 0) { - nggProgressBar.finished(); - jQuery("#uploadimage_form").submit(); - } -} - -// called when all files are uploaded -function uploadSuccess(fileObj, server_data) { - // Show any error message - if (server_data != 0){ - nggProgressBar.addNote("ERROR: " + fileObj.name + " : " + server_data); - } - // Upload the next file until queue is empty - if ( ngg_swf_upload.getStats().files_queued > 0) { - ngg_swf_upload.startUpload(); - } else { - // server_data could be add as hidden field - jQuery('#uploadimage_form').prepend(""); - } -} - -// called on error -function uploadError(fileObj, error_code, message) { - var error_name = ""; - switch(error_code) { - case SWFUpload.UPLOAD_ERROR.HTTP_ERROR: - error_name = "HTTP ERROR"; - break; - case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL: - error_name = "MISSING UPLOAD URL"; - break; - case SWFUpload.UPLOAD_ERROR.IO_ERROR: - error_name = "IO FAILURE"; - break; - case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR: - error_name = "SECURITY ERROR"; - break; - case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: - error_name = "UPLOAD LIMIT EXCEEDED"; - break; - case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED: - error_name = "UPLOAD FAILED"; - break; - case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND: - error_name = "SPECIFIED FILE ID NOT FOUND"; - break; - case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED: - error_name = "FILE VALIDATION FAILED"; - break; - case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: - error_name = "FILE CANCELLED"; - return; - break; - case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: - error_name = "FILE STOPPED"; - break; - default: - error_name = "UNKNOWN"; - break; - } - nggProgressBar.addNote("ERROR " + error_name + " : " + fileObj.name + " : " + message); - jQuery("#" + fileObj.id).hide("slow"); - jQuery("#" + fileObj.id).remove(); - if ( ngg_swf_upload.getStats().files_queued > 0) { - ngg_swf_upload.startUpload(); - } else { - jQuery('#uploadimage_form').prepend(""); - jQuery("#uploadimage_form").submit(); - } -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/swfupload.js b/src/wp-content/plugins/nextgen-gallery/admin/js/swfupload.js deleted file mode 100644 index c3ed8d5..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/js/swfupload.js +++ /dev/null @@ -1,986 +0,0 @@ -/** - * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com - * - * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ - * - * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilzn and Mammon Media and is released under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - */ - - -/* ******************* */ -/* Constructor & Init */ -/* ******************* */ -var SWFUpload; - -if (SWFUpload == undefined) { - SWFUpload = function (settings) { - this.initSWFUpload(settings); - }; -} - -SWFUpload.prototype.initSWFUpload = function (settings) { - try { - this.customSettings = {}; // A container where developers can place their own settings associated with this instance. - this.settings = settings; - this.eventQueue = []; - this.movieName = "SWFUpload_" + SWFUpload.movieCount++; - this.movieElement = null; - - - // Setup global control tracking - SWFUpload.instances[this.movieName] = this; - - // Load the settings. Load the Flash movie. - this.initSettings(); - this.loadFlash(); - this.displayDebugInfo(); - } catch (ex) { - delete SWFUpload.instances[this.movieName]; - throw ex; - } -}; - -/* *************** */ -/* Static Members */ -/* *************** */ -SWFUpload.instances = {}; -SWFUpload.movieCount = 0; -SWFUpload.version = "2.2.0 2009-03-25"; -SWFUpload.QUEUE_ERROR = { - QUEUE_LIMIT_EXCEEDED : -100, - FILE_EXCEEDS_SIZE_LIMIT : -110, - ZERO_BYTE_FILE : -120, - INVALID_FILETYPE : -130 -}; -SWFUpload.UPLOAD_ERROR = { - HTTP_ERROR : -200, - MISSING_UPLOAD_URL : -210, - IO_ERROR : -220, - SECURITY_ERROR : -230, - UPLOAD_LIMIT_EXCEEDED : -240, - UPLOAD_FAILED : -250, - SPECIFIED_FILE_ID_NOT_FOUND : -260, - FILE_VALIDATION_FAILED : -270, - FILE_CANCELLED : -280, - UPLOAD_STOPPED : -290 -}; -SWFUpload.FILE_STATUS = { - QUEUED : -1, - IN_PROGRESS : -2, - ERROR : -3, - COMPLETE : -4, - CANCELLED : -5 -}; -SWFUpload.BUTTON_ACTION = { - SELECT_FILE : -100, - SELECT_FILES : -110, - START_UPLOAD : -120 -}; -SWFUpload.CURSOR = { - ARROW : -1, - HAND : -2 -}; -SWFUpload.WINDOW_MODE = { - WINDOW : "window", - TRANSPARENT : "transparent", - OPAQUE : "opaque" -}; - -// Private: takes a URL, determines if it is relative and converts to an absolute URL -// using the current site. Only processes the URL if it can, otherwise returns the URL untouched -SWFUpload.completeURL = function(url) { - if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) { - return url; - } - - var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); - - var indexSlash = window.location.pathname.lastIndexOf("/"); - if (indexSlash <= 0) { - path = "/"; - } else { - path = window.location.pathname.substr(0, indexSlash) + "/"; - } - - return /*currentURL +*/ path + url; - -}; - - -/* ******************** */ -/* Instance Members */ -/* ******************** */ - -// Private: initSettings ensures that all the -// settings are set, getting a default value if one was not assigned. -SWFUpload.prototype.initSettings = function () { - this.ensureDefault = function (settingName, defaultValue) { - this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName]; - }; - - // Upload backend settings - this.ensureDefault("upload_url", ""); - this.ensureDefault("preserve_relative_urls", false); - this.ensureDefault("file_post_name", "Filedata"); - this.ensureDefault("post_params", {}); - this.ensureDefault("use_query_string", false); - this.ensureDefault("requeue_on_error", false); - this.ensureDefault("http_success", []); - this.ensureDefault("assume_success_timeout", 0); - - // File Settings - this.ensureDefault("file_types", "*.*"); - this.ensureDefault("file_types_description", "All Files"); - this.ensureDefault("file_size_limit", 0); // Default zero means "unlimited" - this.ensureDefault("file_upload_limit", 0); - this.ensureDefault("file_queue_limit", 0); - - // Flash Settings - this.ensureDefault("flash_url", "swfupload.swf"); - this.ensureDefault("prevent_swf_caching", true); - - // Button Settings - this.ensureDefault("button_image_url", ""); - this.ensureDefault("button_width", 1); - this.ensureDefault("button_height", 1); - this.ensureDefault("button_text", ""); - this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;"); - this.ensureDefault("button_text_top_padding", 0); - this.ensureDefault("button_text_left_padding", 0); - this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES); - this.ensureDefault("button_disabled", false); - this.ensureDefault("button_placeholder_id", ""); - this.ensureDefault("button_placeholder", null); - this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW); - this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW); - - // Debug Settings - this.ensureDefault("debug", false); - this.settings.debug_enabled = this.settings.debug; // Here to maintain v2 API - - // Event Handlers - this.settings.return_upload_start_handler = this.returnUploadStart; - this.ensureDefault("swfupload_loaded_handler", null); - this.ensureDefault("file_dialog_start_handler", null); - this.ensureDefault("file_queued_handler", null); - this.ensureDefault("file_queue_error_handler", null); - this.ensureDefault("file_dialog_complete_handler", null); - - this.ensureDefault("upload_start_handler", null); - this.ensureDefault("upload_progress_handler", null); - this.ensureDefault("upload_error_handler", null); - this.ensureDefault("upload_success_handler", null); - this.ensureDefault("upload_complete_handler", null); - - this.ensureDefault("debug_handler", this.debugMessage); - - this.ensureDefault("custom_settings", {}); - - // Other settings - this.customSettings = this.settings.custom_settings; - - // Update the flash url if needed - if (!!this.settings.prevent_swf_caching) { - this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime(); - } - - if (!this.settings.preserve_relative_urls) { - //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it - this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url); - this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url); - } - - delete this.ensureDefault; -}; - -// Private: loadFlash replaces the button_placeholder element with the flash movie. -SWFUpload.prototype.loadFlash = function () { - var targetElement, tempParent; - - // Make sure an element with the ID we are going to use doesn't already exist - if (document.getElementById(this.movieName) !== null) { - throw "ID " + this.movieName + " is already in use. The Flash Object could not be added"; - } - - // Get the element where we will be placing the flash movie - targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder; - - if (targetElement == undefined) { - throw "Could not find the placeholder element: " + this.settings.button_placeholder_id; - } - - // Append the container and load the flash - tempParent = document.createElement("div"); - tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers) - targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement); - - // Fix IE Flash/Form bug - if (window[this.movieName] == undefined) { - window[this.movieName] = this.getMovieElement(); - } - -}; - -// Private: getFlashHTML generates the object tag needed to embed the flash in to the document -SWFUpload.prototype.getFlashHTML = function () { - // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay - return ['', - '', - '', - '', - '', - '', - '', - ''].join(""); -}; - -// Private: getFlashVars builds the parameter string that will be passed -// to flash in the flashvars param. -SWFUpload.prototype.getFlashVars = function () { - // Build a string from the post param object - var paramString = this.buildParamString(); - var httpSuccessString = this.settings.http_success.join(","); - - // Build the parameter string - return ["movieName=", encodeURIComponent(this.movieName), - "&uploadURL=", encodeURIComponent(this.settings.upload_url), - "&useQueryString=", encodeURIComponent(this.settings.use_query_string), - "&requeueOnError=", encodeURIComponent(this.settings.requeue_on_error), - "&httpSuccess=", encodeURIComponent(httpSuccessString), - "&assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout), - "&params=", encodeURIComponent(paramString), - "&filePostName=", encodeURIComponent(this.settings.file_post_name), - "&fileTypes=", encodeURIComponent(this.settings.file_types), - "&fileTypesDescription=", encodeURIComponent(this.settings.file_types_description), - "&fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit), - "&fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit), - "&fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit), - "&debugEnabled=", encodeURIComponent(this.settings.debug_enabled), - "&buttonImageURL=", encodeURIComponent(this.settings.button_image_url), - "&buttonWidth=", encodeURIComponent(this.settings.button_width), - "&buttonHeight=", encodeURIComponent(this.settings.button_height), - "&buttonText=", encodeURIComponent(this.settings.button_text), - "&buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding), - "&buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding), - "&buttonTextStyle=", encodeURIComponent(this.settings.button_text_style), - "&buttonAction=", encodeURIComponent(this.settings.button_action), - "&buttonDisabled=", encodeURIComponent(this.settings.button_disabled), - "&buttonCursor=", encodeURIComponent(this.settings.button_cursor) - ].join(""); -}; - -// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload -// The element is cached after the first lookup -SWFUpload.prototype.getMovieElement = function () { - if (this.movieElement == undefined) { - this.movieElement = document.getElementById(this.movieName); - } - - if (this.movieElement === null) { - throw "Could not find Flash element"; - } - - return this.movieElement; -}; - -// Private: buildParamString takes the name/value pairs in the post_params setting object -// and joins them up in to a string formatted "name=value&name=value" -SWFUpload.prototype.buildParamString = function () { - var postParams = this.settings.post_params; - var paramStringPairs = []; - - if (typeof(postParams) === "object") { - for (var name in postParams) { - if (postParams.hasOwnProperty(name)) { - paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString())); - } - } - } - - return paramStringPairs.join("&"); -}; - -// Public: Used to remove a SWFUpload instance from the page. This method strives to remove -// all references to the SWF, and other objects so memory is properly freed. -// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state. -// Credits: Major improvements provided by steffen -SWFUpload.prototype.destroy = function () { - try { - // Make sure Flash is done before we try to remove it - this.cancelUpload(null, false); - - - // Remove the SWFUpload DOM nodes - var movieElement = null; - movieElement = this.getMovieElement(); - - if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE - // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround) - for (var i in movieElement) { - try { - if (typeof(movieElement[i]) === "function") { - movieElement[i] = null; - } - } catch (ex1) {} - } - - // Remove the Movie Element from the page - try { - movieElement.parentNode.removeChild(movieElement); - } catch (ex) {} - } - - // Remove IE form fix reference - window[this.movieName] = null; - - // Destroy other references - SWFUpload.instances[this.movieName] = null; - delete SWFUpload.instances[this.movieName]; - - this.movieElement = null; - this.settings = null; - this.customSettings = null; - this.eventQueue = null; - this.movieName = null; - - - return true; - } catch (ex2) { - return false; - } -}; - - -// Public: displayDebugInfo prints out settings and configuration -// information about this SWFUpload instance. -// This function (and any references to it) can be deleted when placing -// SWFUpload in production. -SWFUpload.prototype.displayDebugInfo = function () { - this.debug( - [ - "---SWFUpload Instance Info---\n", - "Version: ", SWFUpload.version, "\n", - "Movie Name: ", this.movieName, "\n", - "Settings:\n", - "\t", "upload_url: ", this.settings.upload_url, "\n", - "\t", "flash_url: ", this.settings.flash_url, "\n", - "\t", "use_query_string: ", this.settings.use_query_string.toString(), "\n", - "\t", "requeue_on_error: ", this.settings.requeue_on_error.toString(), "\n", - "\t", "http_success: ", this.settings.http_success.join(", "), "\n", - "\t", "assume_success_timeout: ", this.settings.assume_success_timeout, "\n", - "\t", "file_post_name: ", this.settings.file_post_name, "\n", - "\t", "post_params: ", this.settings.post_params.toString(), "\n", - "\t", "file_types: ", this.settings.file_types, "\n", - "\t", "file_types_description: ", this.settings.file_types_description, "\n", - "\t", "file_size_limit: ", this.settings.file_size_limit, "\n", - "\t", "file_upload_limit: ", this.settings.file_upload_limit, "\n", - "\t", "file_queue_limit: ", this.settings.file_queue_limit, "\n", - "\t", "debug: ", this.settings.debug.toString(), "\n", - - "\t", "prevent_swf_caching: ", this.settings.prevent_swf_caching.toString(), "\n", - - "\t", "button_placeholder_id: ", this.settings.button_placeholder_id.toString(), "\n", - "\t", "button_placeholder: ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n", - "\t", "button_image_url: ", this.settings.button_image_url.toString(), "\n", - "\t", "button_width: ", this.settings.button_width.toString(), "\n", - "\t", "button_height: ", this.settings.button_height.toString(), "\n", - "\t", "button_text: ", this.settings.button_text.toString(), "\n", - "\t", "button_text_style: ", this.settings.button_text_style.toString(), "\n", - "\t", "button_text_top_padding: ", this.settings.button_text_top_padding.toString(), "\n", - "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n", - "\t", "button_action: ", this.settings.button_action.toString(), "\n", - "\t", "button_disabled: ", this.settings.button_disabled.toString(), "\n", - - "\t", "custom_settings: ", this.settings.custom_settings.toString(), "\n", - "Event Handlers:\n", - "\t", "swfupload_loaded_handler assigned: ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n", - "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n", - "\t", "file_queued_handler assigned: ", (typeof this.settings.file_queued_handler === "function").toString(), "\n", - "\t", "file_queue_error_handler assigned: ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n", - "\t", "upload_start_handler assigned: ", (typeof this.settings.upload_start_handler === "function").toString(), "\n", - "\t", "upload_progress_handler assigned: ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n", - "\t", "upload_error_handler assigned: ", (typeof this.settings.upload_error_handler === "function").toString(), "\n", - "\t", "upload_success_handler assigned: ", (typeof this.settings.upload_success_handler === "function").toString(), "\n", - "\t", "upload_complete_handler assigned: ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n", - "\t", "debug_handler assigned: ", (typeof this.settings.debug_handler === "function").toString(), "\n" - ].join("") - ); -}; - -/* Note: addSetting and getSetting are no longer used by SWFUpload but are included - the maintain v2 API compatibility -*/ -// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used. -SWFUpload.prototype.addSetting = function (name, value, default_value) { - if (value == undefined) { - return (this.settings[name] = default_value); - } else { - return (this.settings[name] = value); - } -}; - -// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found. -SWFUpload.prototype.getSetting = function (name) { - if (this.settings[name] != undefined) { - return this.settings[name]; - } - - return ""; -}; - - - -// Private: callFlash handles function calls made to the Flash element. -// Calls are made with a setTimeout for some functions to work around -// bugs in the ExternalInterface library. -SWFUpload.prototype.callFlash = function (functionName, argumentArray) { - argumentArray = argumentArray || []; - - var movieElement = this.getMovieElement(); - var returnValue, returnString; - - // Flash's method if calling ExternalInterface methods (code adapted from MooTools). - try { - returnString = movieElement.CallFunction('' + __flash__argumentsToXML(argumentArray, 0) + ''); - returnValue = eval(returnString); - } catch (ex) { - throw "Call to " + functionName + " failed"; - } - - // Unescape file post param values - if (returnValue != undefined && typeof returnValue.post === "object") { - returnValue = this.unescapeFilePostParams(returnValue); - } - - return returnValue; -}; - -/* ***************************** - -- Flash control methods -- - Your UI should use these - to operate SWFUpload - ***************************** */ - -// WARNING: this function does not work in Flash Player 10 -// Public: selectFile causes a File Selection Dialog window to appear. This -// dialog only allows 1 file to be selected. -SWFUpload.prototype.selectFile = function () { - this.callFlash("SelectFile"); -}; - -// WARNING: this function does not work in Flash Player 10 -// Public: selectFiles causes a File Selection Dialog window to appear/ This -// dialog allows the user to select any number of files -// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names. -// If the selection name length is too long the dialog will fail in an unpredictable manner. There is no work-around -// for this bug. -SWFUpload.prototype.selectFiles = function () { - this.callFlash("SelectFiles"); -}; - - -// Public: startUpload starts uploading the first file in the queue unless -// the optional parameter 'fileID' specifies the ID -SWFUpload.prototype.startUpload = function (fileID) { - this.callFlash("StartUpload", [fileID]); -}; - -// Public: cancelUpload cancels any queued file. The fileID parameter may be the file ID or index. -// If you do not specify a fileID the current uploading file or first file in the queue is cancelled. -// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter. -SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) { - if (triggerErrorEvent !== false) { - triggerErrorEvent = true; - } - this.callFlash("CancelUpload", [fileID, triggerErrorEvent]); -}; - -// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue. -// If nothing is currently uploading then nothing happens. -SWFUpload.prototype.stopUpload = function () { - this.callFlash("StopUpload"); -}; - -/* ************************ - * Settings methods - * These methods change the SWFUpload settings. - * SWFUpload settings should not be changed directly on the settings object - * since many of the settings need to be passed to Flash in order to take - * effect. - * *********************** */ - -// Public: getStats gets the file statistics object. -SWFUpload.prototype.getStats = function () { - return this.callFlash("GetStats"); -}; - -// Public: setStats changes the SWFUpload statistics. You shouldn't need to -// change the statistics but you can. Changing the statistics does not -// affect SWFUpload accept for the successful_uploads count which is used -// by the upload_limit setting to determine how many files the user may upload. -SWFUpload.prototype.setStats = function (statsObject) { - this.callFlash("SetStats", [statsObject]); -}; - -// Public: getFile retrieves a File object by ID or Index. If the file is -// not found then 'null' is returned. -SWFUpload.prototype.getFile = function (fileID) { - if (typeof(fileID) === "number") { - return this.callFlash("GetFileByIndex", [fileID]); - } else { - return this.callFlash("GetFile", [fileID]); - } -}; - -// Public: addFileParam sets a name/value pair that will be posted with the -// file specified by the Files ID. If the name already exists then the -// exiting value will be overwritten. -SWFUpload.prototype.addFileParam = function (fileID, name, value) { - return this.callFlash("AddFileParam", [fileID, name, value]); -}; - -// Public: removeFileParam removes a previously set (by addFileParam) name/value -// pair from the specified file. -SWFUpload.prototype.removeFileParam = function (fileID, name) { - this.callFlash("RemoveFileParam", [fileID, name]); -}; - -// Public: setUploadUrl changes the upload_url setting. -SWFUpload.prototype.setUploadURL = function (url) { - this.settings.upload_url = url.toString(); - this.callFlash("SetUploadURL", [url]); -}; - -// Public: setPostParams changes the post_params setting -SWFUpload.prototype.setPostParams = function (paramsObject) { - this.settings.post_params = paramsObject; - this.callFlash("SetPostParams", [paramsObject]); -}; - -// Public: addPostParam adds post name/value pair. Each name can have only one value. -SWFUpload.prototype.addPostParam = function (name, value) { - this.settings.post_params[name] = value; - this.callFlash("SetPostParams", [this.settings.post_params]); -}; - -// Public: removePostParam deletes post name/value pair. -SWFUpload.prototype.removePostParam = function (name) { - delete this.settings.post_params[name]; - this.callFlash("SetPostParams", [this.settings.post_params]); -}; - -// Public: setFileTypes changes the file_types setting and the file_types_description setting -SWFUpload.prototype.setFileTypes = function (types, description) { - this.settings.file_types = types; - this.settings.file_types_description = description; - this.callFlash("SetFileTypes", [types, description]); -}; - -// Public: setFileSizeLimit changes the file_size_limit setting -SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) { - this.settings.file_size_limit = fileSizeLimit; - this.callFlash("SetFileSizeLimit", [fileSizeLimit]); -}; - -// Public: setFileUploadLimit changes the file_upload_limit setting -SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) { - this.settings.file_upload_limit = fileUploadLimit; - this.callFlash("SetFileUploadLimit", [fileUploadLimit]); -}; - -// Public: setFileQueueLimit changes the file_queue_limit setting -SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) { - this.settings.file_queue_limit = fileQueueLimit; - this.callFlash("SetFileQueueLimit", [fileQueueLimit]); -}; - -// Public: setFilePostName changes the file_post_name setting -SWFUpload.prototype.setFilePostName = function (filePostName) { - this.settings.file_post_name = filePostName; - this.callFlash("SetFilePostName", [filePostName]); -}; - -// Public: setUseQueryString changes the use_query_string setting -SWFUpload.prototype.setUseQueryString = function (useQueryString) { - this.settings.use_query_string = useQueryString; - this.callFlash("SetUseQueryString", [useQueryString]); -}; - -// Public: setRequeueOnError changes the requeue_on_error setting -SWFUpload.prototype.setRequeueOnError = function (requeueOnError) { - this.settings.requeue_on_error = requeueOnError; - this.callFlash("SetRequeueOnError", [requeueOnError]); -}; - -// Public: setHTTPSuccess changes the http_success setting -SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) { - if (typeof http_status_codes === "string") { - http_status_codes = http_status_codes.replace(" ", "").split(","); - } - - this.settings.http_success = http_status_codes; - this.callFlash("SetHTTPSuccess", [http_status_codes]); -}; - -// Public: setHTTPSuccess changes the http_success setting -SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) { - this.settings.assume_success_timeout = timeout_seconds; - this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]); -}; - -// Public: setDebugEnabled changes the debug_enabled setting -SWFUpload.prototype.setDebugEnabled = function (debugEnabled) { - this.settings.debug_enabled = debugEnabled; - this.callFlash("SetDebugEnabled", [debugEnabled]); -}; - -// Public: setButtonImageURL loads a button image sprite -SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) { - if (buttonImageURL == undefined) { - buttonImageURL = ""; - } - - this.settings.button_image_url = buttonImageURL; - this.callFlash("SetButtonImageURL", [buttonImageURL]); -}; - -// Public: setButtonDimensions resizes the Flash Movie and button -SWFUpload.prototype.setButtonDimensions = function (width, height) { - this.settings.button_width = width; - this.settings.button_height = height; - - var movie = this.getMovieElement(); - if (movie != undefined) { - movie.style.width = width + "px"; - movie.style.height = height + "px"; - } - - this.callFlash("SetButtonDimensions", [width, height]); -}; -// Public: setButtonText Changes the text overlaid on the button -SWFUpload.prototype.setButtonText = function (html) { - this.settings.button_text = html; - this.callFlash("SetButtonText", [html]); -}; -// Public: setButtonTextPadding changes the top and left padding of the text overlay -SWFUpload.prototype.setButtonTextPadding = function (left, top) { - this.settings.button_text_top_padding = top; - this.settings.button_text_left_padding = left; - this.callFlash("SetButtonTextPadding", [left, top]); -}; - -// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button -SWFUpload.prototype.setButtonTextStyle = function (css) { - this.settings.button_text_style = css; - this.callFlash("SetButtonTextStyle", [css]); -}; -// Public: setButtonDisabled disables/enables the button -SWFUpload.prototype.setButtonDisabled = function (isDisabled) { - this.settings.button_disabled = isDisabled; - this.callFlash("SetButtonDisabled", [isDisabled]); -}; -// Public: setButtonAction sets the action that occurs when the button is clicked -SWFUpload.prototype.setButtonAction = function (buttonAction) { - this.settings.button_action = buttonAction; - this.callFlash("SetButtonAction", [buttonAction]); -}; - -// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button -SWFUpload.prototype.setButtonCursor = function (cursor) { - this.settings.button_cursor = cursor; - this.callFlash("SetButtonCursor", [cursor]); -}; - -/* ******************************* - Flash Event Interfaces - These functions are used by Flash to trigger the various - events. - - All these functions a Private. - - Because the ExternalInterface library is buggy the event calls - are added to a queue and the queue then executed by a setTimeout. - This ensures that events are executed in a determinate order and that - the ExternalInterface bugs are avoided. -******************************* */ - -SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) { - // Warning: Don't call this.debug inside here or you'll create an infinite loop - - if (argumentArray == undefined) { - argumentArray = []; - } else if (!(argumentArray instanceof Array)) { - argumentArray = [argumentArray]; - } - - var self = this; - if (typeof this.settings[handlerName] === "function") { - // Queue the event - this.eventQueue.push(function () { - this.settings[handlerName].apply(this, argumentArray); - }); - - // Execute the next queued event - setTimeout(function () { - self.executeNextEvent(); - }, 0); - - } else if (this.settings[handlerName] !== null) { - throw "Event handler " + handlerName + " is unknown or is not a function"; - } -}; - -// Private: Causes the next event in the queue to be executed. Since events are queued using a setTimeout -// we must queue them in order to garentee that they are executed in order. -SWFUpload.prototype.executeNextEvent = function () { - // Warning: Don't call this.debug inside here or you'll create an infinite loop - - var f = this.eventQueue ? this.eventQueue.shift() : null; - if (typeof(f) === "function") { - f.apply(this); - } -}; - -// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have -// properties that contain characters that are not valid for JavaScript identifiers. To work around this -// the Flash Component escapes the parameter names and we must unescape again before passing them along. -SWFUpload.prototype.unescapeFilePostParams = function (file) { - var reg = /[$]([0-9a-f]{4})/i; - var unescapedPost = {}; - var uk; - - if (file != undefined) { - for (var k in file.post) { - if (file.post.hasOwnProperty(k)) { - uk = k; - var match; - while ((match = reg.exec(uk)) !== null) { - uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16))); - } - unescapedPost[uk] = file.post[k]; - } - } - - file.post = unescapedPost; - } - - return file; -}; - -// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working) -SWFUpload.prototype.testExternalInterface = function () { - try { - return this.callFlash("TestExternalInterface"); - } catch (ex) { - return false; - } -}; - -// Private: This event is called by Flash when it has finished loading. Don't modify this. -// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded. -SWFUpload.prototype.flashReady = function () { - // Check that the movie element is loaded correctly with its ExternalInterface methods defined - var movieElement = this.getMovieElement(); - - if (!movieElement) { - this.debug("Flash called back ready but the flash movie can't be found."); - return; - } - - this.cleanUp(movieElement); - - this.queueEvent("swfupload_loaded_handler"); -}; - -// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE. -// This function is called by Flash each time the ExternalInterface functions are created. -SWFUpload.prototype.cleanUp = function (movieElement) { - // Pro-actively unhook all the Flash functions - try { - if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE - this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)"); - for (var key in movieElement) { - try { - if (typeof(movieElement[key]) === "function") { - movieElement[key] = null; - } - } catch (ex) { - } - } - } - } catch (ex1) { - - } - - // Fix Flashes own cleanup code so if the SWFMovie was removed from the page - // it doesn't display errors. - window["__flash__removeCallback"] = function (instance, name) { - try { - if (instance) { - instance[name] = null; - } - } catch (flashEx) { - - } - }; - -}; - - -/* This is a chance to do something before the browse window opens */ -SWFUpload.prototype.fileDialogStart = function () { - this.queueEvent("file_dialog_start_handler"); -}; - - -/* Called when a file is successfully added to the queue. */ -SWFUpload.prototype.fileQueued = function (file) { - file = this.unescapeFilePostParams(file); - this.queueEvent("file_queued_handler", file); -}; - - -/* Handle errors that occur when an attempt to queue a file fails. */ -SWFUpload.prototype.fileQueueError = function (file, errorCode, message) { - file = this.unescapeFilePostParams(file); - this.queueEvent("file_queue_error_handler", [file, errorCode, message]); -}; - -/* Called after the file dialog has closed and the selected files have been queued. - You could call startUpload here if you want the queued files to begin uploading immediately. */ -SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) { - this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]); -}; - -SWFUpload.prototype.uploadStart = function (file) { - file = this.unescapeFilePostParams(file); - this.queueEvent("return_upload_start_handler", file); -}; - -SWFUpload.prototype.returnUploadStart = function (file) { - var returnValue; - if (typeof this.settings.upload_start_handler === "function") { - file = this.unescapeFilePostParams(file); - returnValue = this.settings.upload_start_handler.call(this, file); - } else if (this.settings.upload_start_handler != undefined) { - throw "upload_start_handler must be a function"; - } - - // Convert undefined to true so if nothing is returned from the upload_start_handler it is - // interpretted as 'true'. - if (returnValue === undefined) { - returnValue = true; - } - - returnValue = !!returnValue; - - this.callFlash("ReturnUploadStart", [returnValue]); -}; - - - -SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) { - file = this.unescapeFilePostParams(file); - this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]); -}; - -SWFUpload.prototype.uploadError = function (file, errorCode, message) { - file = this.unescapeFilePostParams(file); - this.queueEvent("upload_error_handler", [file, errorCode, message]); -}; - -SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) { - file = this.unescapeFilePostParams(file); - this.queueEvent("upload_success_handler", [file, serverData, responseReceived]); -}; - -SWFUpload.prototype.uploadComplete = function (file) { - file = this.unescapeFilePostParams(file); - this.queueEvent("upload_complete_handler", file); -}; - -/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the - internal debug console. You can override this event and have messages written where you want. */ -SWFUpload.prototype.debug = function (message) { - this.queueEvent("debug_handler", message); -}; - - -/* ********************************** - Debug Console - The debug console is a self contained, in page location - for debug message to be sent. The Debug Console adds - itself to the body if necessary. - - The console is automatically scrolled as messages appear. - - If you are using your own debug handler or when you deploy to production and - have debug disabled you can remove these functions to reduce the file size - and complexity. -********************************** */ - -// Private: debugMessage is the default debug_handler. If you want to print debug messages -// call the debug() function. When overriding the function your own function should -// check to see if the debug setting is true before outputting debug information. -SWFUpload.prototype.debugMessage = function (message) { - if (this.settings.debug) { - var exceptionMessage, exceptionValues = []; - - // Check for an exception object and print it nicely - if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") { - for (var key in message) { - if (message.hasOwnProperty(key)) { - exceptionValues.push(key + ": " + message[key]); - } - } - exceptionMessage = exceptionValues.join("\n") || ""; - exceptionValues = exceptionMessage.split("\n"); - exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: "); - if (window.console) - console.log(exceptionMessage); - else - SWFUpload.Console.writeLine(exceptionMessage); - } else { - if (window.console) - console.log(message); - else - SWFUpload.Console.writeLine(message); - } - } -}; - -SWFUpload.Console = {}; -SWFUpload.Console.writeLine = function (message) { - var console, documentForm; - - try { - console = document.getElementById("SWFUpload_Console"); - - if (!console) { - documentForm = document.createElement("form"); - document.getElementsByTagName("body")[0].appendChild(documentForm); - - console = document.createElement("textarea"); - console.id = "SWFUpload_Console"; - console.style.fontFamily = "monospace"; - console.setAttribute("wrap", "off"); - console.wrap = "off"; - console.style.overflow = "auto"; - console.style.width = "99%"; - console.style.height = "350px"; - console.style.margin = "5px"; - documentForm.appendChild(console); - } - - console.value += message + "\n"; - - console.scrollTop = console.scrollHeight - console.clientHeight; - } catch (ex) { - alert("Exception: " + ex.name + " Message: " + ex.message); - } -}; diff --git a/src/wp-content/plugins/nextgen-gallery/admin/js/swfupload.swf b/src/wp-content/plugins/nextgen-gallery/admin/js/swfupload.swf deleted file mode 100644 index e3f7670..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/js/swfupload.swf and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/manage-galleries.php b/src/wp-content/plugins/nextgen-gallery/admin/manage-galleries.php deleted file mode 100644 index 34d8f6b..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/manage-galleries.php +++ /dev/null @@ -1,382 +0,0 @@ -find_all_galleries('gid', 'asc', TRUE, 25, $start, false); - - $page_links = paginate_links( array( - 'base' => add_query_arg( 'paged', '%#%' ), - 'format' => '', - 'prev_text' => __('«'), - 'next_text' => __('»'), - 'total' => $nggdb->paged['max_objects_per_page'], - 'current' => $_GET['paged'] - )); - - ?> - -
    - -

    -
    - -
    -
    - - - -
    - -
    - - - - - - - -
    - - -
    ' . __( 'Displaying %s–%s of %s' ) . '%s', - number_format_i18n( ( $_GET['paged'] - 1 ) * $nggdb->paged['objects_per_page'] + 1 ), - number_format_i18n( min( $_GET['paged'] * $nggdb->paged['objects_per_page'], $nggdb->paged['total_objects'] ) ), - number_format_i18n( $nggdb->paged['total_objects'] ), - $page_links - ); echo $page_links_text; ?>
    - - -
    - - - - - - - - - - - - -gid; - $name = (empty($gallery->title) ) ? $gallery->name : $gallery->title; - $author_user = get_userdata( (int) $gallery->author ); - ?> - > - $column_display_name) { - $class = "class=\"$gallery_column_key column-$gallery_column_key\""; - - $style = ''; - if ( in_array($gallery_column_key, $hidden_columns) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($gallery_column_key) { - case 'cb' : - ?> - - - - - - - - - - - - - - - - - - '; -} -?> - -
    ' . __('No entries found', 'nggallery') . '
    -
    - -
    ' . __( 'Displaying %s–%s of %s' ) . '%s', - number_format_i18n( ( $_GET['paged'] - 1 ) * $nggdb->paged['objects_per_page'] + 1 ), - number_format_i18n( min( $_GET['paged'] * $nggdb->paged['objects_per_page'], $nggdb->paged['total_objects'] ) ), - number_format_i18n( $nggdb->paged['total_objects'] ), - $page_links - ); echo $page_links_text; ?>
    - -
    -
    -
    - - - - - - - - - - - - - 'display name' -function ngg_manage_gallery_columns() { - - $gallery_columns = array(); - - $gallery_columns['cb'] = ''; - $gallery_columns['id'] = __('ID'); - $gallery_columns['title'] = _n( 'Gallery', 'Galleries', 1, 'nggallery'); - $gallery_columns['description'] = __('Description', 'nggallery'); - $gallery_columns['author'] = __('Author', 'nggallery'); - $gallery_columns['page_id'] = __('Page ID', 'nggallery'); - $gallery_columns['quantity'] = _n( 'Image', 'Images', 2, 'nggallery' ); - - $gallery_columns = apply_filters('ngg_manage_gallery_columns', $gallery_columns); - - return $gallery_columns; -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/manage-images.php b/src/wp-content/plugins/nextgen-gallery/admin/manage-images.php deleted file mode 100644 index c6601e3..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/manage-images.php +++ /dev/null @@ -1,673 +0,0 @@ -manage_page->search_result; - - // we didn't set a gallery or a pagination - $act_gid = 0; - $_GET['paged'] = 1; - $page_links = false; - - } else { - - // GET variables - $act_gid = $ngg->manage_page->gid; - - // Load the gallery metadata - $gallery = $nggdb->find_gallery($act_gid); - - if (!$gallery) { - nggGallery::show_error(__('Gallery not found.', 'nggallery')); - return; - } - - // Check if you have the correct capability - if (!nggAdmin::can_manage_this_gallery($gallery->author)) { - nggGallery::show_error(__('Sorry, you have no access here', 'nggallery')); - return; - } - - // look for pagination - if ( ! isset( $_GET['paged'] ) || $_GET['paged'] < 1 ) - $_GET['paged'] = 1; - - $start = ( $_GET['paged'] - 1 ) * 50; - - // get picture values - $picturelist = $nggdb->get_gallery($act_gid, $ngg->options['galSort'], $ngg->options['galSortDir'], false, 50, $start ); - - // build pagination - $page_links = paginate_links( array( - 'base' => add_query_arg( 'paged', '%#%' ), - 'format' => '', - 'prev_text' => __('«'), - 'next_text' => __('»'), - 'total' => $nggdb->paged['max_objects_per_page'], - 'current' => $_GET['paged'] - )); - - // get the current author - $act_author_user = get_userdata( (int) $gallery->author ); - - } - - // list all galleries - $gallerylist = $nggdb->find_all_galleries(); - - //get the columns - $image_columns = ngg_manage_image_columns(); - $hidden_columns = get_hidden_columns('nggallery-manage-images'); - $num_columns = count($image_columns) - count($hidden_columns); - - $attr = (nggGallery::current_user_can( 'NextGEN Edit gallery options' )) ? '' : 'disabled="disabled"'; - -?> - -
    - - -

    -
    - -
    - -
    - -
    - - - - -

    : title); ?>

    - -
    - - - - - - -
    - -
    -

    ()

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    : type="text" size="50" name="title" value="title; ?>" />: - -
    :: - -
    : type="text" size="50" name="path" value="path; ?>" />: - manage_page->get_editable_user_ids( $user_ID ); - if ( $editable_ids && count( $editable_ids ) > 1 && nggGallery::current_user_can( 'NextGEN Edit gallery author') ) - wp_dropdown_users( array('include' => $editable_ids, 'name' => 'author', 'selected' => empty( $gallery->author ) ? 0 : $gallery->author ) ); - else - echo $act_author_user->display_name; - ?> -
      : - - -
    - -
    - " /> - " /> -
    - -
    -
    -
    - - - - -
    - -
    ' . __( 'Displaying %s–%s of %s' ) . '%s', - number_format_i18n( ( $_GET['paged'] - 1 ) * $nggdb->paged['objects_per_page'] + 1 ), - number_format_i18n( min( $_GET['paged'] * $nggdb->paged['objects_per_page'], $nggdb->paged['total_objects'] ) ), - number_format_i18n( $nggdb->paged['total_objects'] ), - $page_links - ); echo $page_links_text; ?>
    - -
    - - - - options['galSort'] == "sortorder") && (!$is_search) ) { ?> - - - - -
    -
    - - - - - - - - - - - - - - -options['thumbfix']) - $thumbsize = 'width="' . $ngg->options['thumbwidth'] . '" height="' . $ngg->options['thumbheight'] . '"'; - - foreach($picturelist as $picture) { - - //for search result we need to check the capatibiliy - if ( !nggAdmin::can_manage_this_gallery($picture->author) && $is_search ) - continue; - - $counter++; - $pid = (int) $picture->pid; - $alternate = ( !isset($alternate) || $alternate == 'alternate' ) ? '' : 'alternate'; - $exclude = ( $picture->exclude ) ? 'checked="checked"' : ''; - $date = mysql2date(get_option('date_format'), $picture->imagedate); - $time = mysql2date(get_option('time_format'), $picture->imagedate); - - ?> - - $column_display_name) { - $class = "class=\"$image_column_key column-$image_column_key\""; - - $style = ''; - if ( in_array($image_column_key, $hidden_columns) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($image_column_key) { - case 'cb' : - ?> - - - - - - meta_data['thumbnail']) ) - $thumbsize = 'width="' . $size['width'] . '" height="' . $size['height'] . '"'; - ?> - - - - - - tags = wp_get_object_terms($pid, 'ngg_tag', 'fields=names'); - if (is_array ($picture->tags) ) $picture->tags = implode(', ', $picture->tags); - ?> - - - - - - - '; - -?> - - -
    scope="row"> scope="row" style=""> - - > - - alttext) ) ? $picture->filename : stripslashes(nggGallery::i18n($picture->alttext)); ?> - -
    - meta_data) ): ?> -
    meta_data['width']; ?> x meta_data['height']; ?> - - -

    - imageURL . '" title="' . esc_attr(sprintf(__('View "%s"'), $picture->filename)) . '">' . __('View', 'nggallery') . ''; - $actions['meta'] = '' . __('Meta', 'nggallery') . ''; - $actions['custom_thumb'] = '' . __('Edit thumb', 'nggallery') . ''; - $actions['rotate'] = '' . __('Rotate', 'nggallery') . ''; - if ( current_user_can( 'publish_posts' ) ) - $actions['publish'] = '' . __('Publish', 'nggallery') . ''; - if ( file_exists( $picture->imagePath . '_backup' ) ) - $actions['recover'] = 'filename)). '\');if(check==false) return false;">' . __('Recover', 'nggallery') . ''; - $actions['delete'] = 'filename)). '\');if(check==false) return false;">' . __('Delete') . ''; - $action_count = count($actions); - $i = 0; - echo '

    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - echo "$link$sep"; - } - echo '
    '; - ?>

    -
    > - id="thumb" /> - - > -
    - -
    > />>>
    '.__('No entries found','nggallery').'
    -
    - - -
    ' . __( 'Displaying %s–%s of %s' ) . '%s', - number_format_i18n( ( $_GET['paged'] - 1 ) * $nggdb->paged['objects_per_page'] + 1 ), - number_format_i18n( min( $_GET['paged'] * $nggdb->paged['objects_per_page'], $nggdb->paged['total_objects'] ) ), - number_format_i18n( $nggdb->paged['total_objects'] ), - $page_links - ); echo $page_links_text; ?>
    - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - 'display name' -function ngg_manage_image_columns() { - - $image_columns = array(); - - $image_columns['cb'] = ''; - $image_columns['id'] = __('ID'); - $image_columns['thumbnail'] = __('Thumbnail', 'nggallery'); - - $image_columns['filename'] = __('Filename', 'nggallery'); - - $image_columns['alt_title_desc'] = __('Alt & Title Text', 'nggallery') . ' / ' . __('Description', 'nggallery'); - $image_columns['tags'] = __('Tags (comma separated list)', 'nggallery'); - - $image_columns['exclude'] = __('exclude', 'nggallery'); - - $image_columns = apply_filters('ngg_manage_images_columns', $image_columns); - - return $image_columns; -} - -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/manage-sort.php b/src/wp-content/plugins/nextgen-gallery/admin/manage-sort.php deleted file mode 100644 index 7bc3885..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/manage-sort.php +++ /dev/null @@ -1,107 +0,0 @@ -query("UPDATE $wpdb->nggpictures SET sortorder = '$sortindex' WHERE pid = $pic_id"); - $sortindex++; - } - - do_action('ngg_gallery_sort', $galleryID); - - nggGallery::show_message(__('Sort order changed','nggallery')); - } - } - - // look for presort args - $presort = isset($_GET['presort']) ? $_GET['presort'] : false; - $dir = ( isset($_GET['dir']) && $_GET['dir'] == 'DESC' ) ? 'DESC' : 'ASC'; - $sortitems = array('pid', 'filename', 'alttext', 'imagedate'); - // ensure that nobody added some evil sorting :-) - if (in_array( $presort, $sortitems) ) - $picturelist = $nggdb->get_gallery($galleryID, $presort, $dir, false); - else - $picturelist = $nggdb->get_gallery($galleryID, 'sortorder', $dir, false); - - //this is the url without any presort variable - $clean_url = 'admin.php?page=nggallery-manage-gallery&mode=sort&gid=' . $galleryID; - //if we go back , then the mode should be edit - $back_url = 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $galleryID; - - // In the case somebody presort, then we take this url - if ( isset($_GET['dir']) || isset($_GET['presort']) ) - $base_url = $_SERVER['REQUEST_URI']; - else - $base_url = $clean_url; - -?> - -
    -
    -

    -
    -
    - - -
    -
    - -
    -
    - -
      -
    • :
    • -
    • > |
    • -
    • > |
    • -
    • > |
    • -
    • > |
    • -
    • > |
    • -
    • > |
    • -
    • >
    • -
    -
    -
    - -
    -
    -
    alttext) ?>
    -
    - -
    - - - -
    -
    -
    - - diff --git a/src/wp-content/plugins/nextgen-gallery/admin/manage.php b/src/wp-content/plugins/nextgen-gallery/admin/manage.php deleted file mode 100644 index 54e3b98..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/manage.php +++ /dev/null @@ -1,551 +0,0 @@ -gid = (int) $_GET['gid']; - if( isset($_GET['pid']) ) - $this->pid = (int) $_GET['pid']; - if( isset($_GET['mode']) ) - $this->mode = trim ($_GET['mode']); - // Should be only called via manage galleries overview - if ( isset($_POST['page']) && $_POST['page'] == 'manage-galleries' ) - $this->post_processor_galleries(); - // Should be only called via a edit single gallery page - if ( isset($_POST['page']) && $_POST['page'] == 'manage-images' ) - $this->post_processor_images(); - // Should be called via a publish dialog - if ( isset($_POST['page']) && $_POST['page'] == 'publish-post' ) - $this->publish_post(); - //Look for other POST process - if ( !empty($_POST) || !empty($_GET) ) - $this->processor(); - - } - - function controller() { - - switch($this->mode) { - case 'sort': - include_once (dirname (__FILE__) . '/manage-sort.php'); - nggallery_sortorder($this->gid); - break; - case 'edit': - include_once (dirname (__FILE__) . '/manage-images.php'); - nggallery_picturelist(); - break; - case 'main': - default: - include_once (dirname (__FILE__) . '/manage-galleries.php'); - nggallery_manage_gallery_main(); - break; - } - } - - function processor() { - - global $wpdb, $ngg, $nggdb; - - // Delete a picture - if ($this->mode == 'delpic') { - - //TODO:Remove also Tag reference - check_admin_referer('ngg_delpicture'); - $image = $nggdb->find_image( $this->pid ); - if ($image) { - if ($ngg->options['deleteImg']) { - @unlink($image->imagePath); - @unlink($image->thumbPath); - @unlink($image->imagePath . "_backup" ); - } - $delete_pic = nggdb::delete_image ( $this->pid ); - } - - if($delete_pic) - nggGallery::show_message( __('Picture','nggallery').' \''.$this->pid.'\' '.__('deleted successfully','nggallery') ); - - $this->mode = 'edit'; // show pictures - - } - - // Recover picture from backup - if ($this->mode == 'recoverpic') { - - check_admin_referer('ngg_recoverpicture'); - $image = $nggdb->find_image( $this->pid ); - // bring back the old image - nggAdmin::recover_image($image); - nggAdmin::create_thumbnail($image); - - nggGallery::show_message(__('Operation successful. Please clear your browser cache.',"nggallery")); - - $this->mode = 'edit'; // show pictures - - } - - // will be called after a ajax operation - if (isset ($_POST['ajax_callback'])) { - if ($_POST['ajax_callback'] == 1) - nggGallery::show_message(__('Operation successful. Please clear your browser cache.',"nggallery")); - } - - // show sort order - if ( isset ($_POST['sortGallery']) ) - $this->mode = 'sort'; - - if ( isset ($_GET['s']) ) - $this->search_images(); - - } - - function post_processor_galleries() { - global $wpdb, $ngg, $nggdb; - - // bulk update in a single gallery - if (isset ($_POST['bulkaction']) && isset ($_POST['doaction'])) { - - check_admin_referer('ngg_bulkgallery'); - - switch ($_POST['bulkaction']) { - case 'no_action'; - // No action - break; - case 'recover_images': - // Recover images from backup - // A prefix 'gallery_' will first fetch all ids from the selected galleries - nggAdmin::do_ajax_operation( 'gallery_recover_image' , $_POST['doaction'], __('Recover from backup','nggallery') ); - break; - case 'set_watermark': - // Set watermark - // A prefix 'gallery_' will first fetch all ids from the selected galleries - nggAdmin::do_ajax_operation( 'gallery_set_watermark' , $_POST['doaction'], __('Set watermark','nggallery') ); - break; - case 'import_meta': - // Import Metadata - // A prefix 'gallery_' will first fetch all ids from the selected galleries - nggAdmin::do_ajax_operation( 'gallery_import_metadata' , $_POST['doaction'], __('Import metadata','nggallery') ); - break; - case 'delete_gallery': - // Delete gallery - if ( is_array($_POST['doaction']) ) { - $deleted = false; - foreach ( $_POST['doaction'] as $id ) { - // get the path to the gallery - $gallery = nggdb::find_gallery($id); - if ($gallery){ - //TODO:Remove also Tag reference, look here for ids instead filename - $imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery->gid' "); - if ($ngg->options['deleteImg']) { - if (is_array($imagelist)) { - foreach ($imagelist as $filename) { - @unlink(WINABSPATH . $gallery->path . '/thumbs/thumbs_' . $filename); - @unlink(WINABSPATH . $gallery->path .'/'. $filename); - @unlink(WINABSPATH . $gallery->path .'/'. $filename . '_backup'); - } - } - // delete folder - @rmdir( WINABSPATH . $gallery->path . '/thumbs' ); - @rmdir( WINABSPATH . $gallery->path ); - } - } - - $deleted = nggdb::delete_gallery( $id ); - } - - if($deleted) - nggGallery::show_message(__('Gallery deleted successfully ', 'nggallery')); - } - break; - } - } - - if (isset ($_POST['addgallery']) && isset ($_POST['galleryname'])){ - - check_admin_referer('ngg_addgallery'); - - if ( !nggGallery::current_user_can( 'NextGEN Add new gallery' )) - wp_die(__('Cheatin’ uh?')); - - // get the default path for a new gallery - $defaultpath = $ngg->options['gallerypath']; - $newgallery = esc_attr( $_POST['galleryname']); - if ( !empty($newgallery) ) - nggAdmin::create_gallery($newgallery, $defaultpath); - } - - if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_ResizeImages'])) { - - check_admin_referer('ngg_thickbox_form'); - - //save the new values for the next operation - $ngg->options['imgWidth'] = (int) $_POST['imgWidth']; - $ngg->options['imgHeight'] = (int) $_POST['imgHeight']; - // What is in the case the user has no if cap 'NextGEN Change options' ? Check feedback - update_option('ngg_options', $ngg->options); - - $gallery_ids = explode(',', $_POST['TB_imagelist']); - // A prefix 'gallery_' will first fetch all ids from the selected galleries - nggAdmin::do_ajax_operation( 'gallery_resize_image' , $gallery_ids, __('Resize images','nggallery') ); - } - - if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_NewThumbnail'])) { - - check_admin_referer('ngg_thickbox_form'); - - //save the new values for the next operation - $ngg->options['thumbwidth'] = (int) $_POST['thumbwidth']; - $ngg->options['thumbheight'] = (int) $_POST['thumbheight']; - $ngg->options['thumbfix'] = (bool) $_POST['thumbfix']; - // What is in the case the user has no if cap 'NextGEN Change options' ? Check feedback - update_option('ngg_options', $ngg->options); - - $gallery_ids = explode(',', $_POST['TB_imagelist']); - // A prefix 'gallery_' will first fetch all ids from the selected galleries - nggAdmin::do_ajax_operation( 'gallery_create_thumbnail' , $gallery_ids, __('Create new thumbnails','nggallery') ); - } - - } - - function post_processor_images() { - global $wpdb, $ngg, $nggdb; - - // bulk update in a single gallery - if (isset ($_POST['bulkaction']) && isset ($_POST['doaction'])) { - - check_admin_referer('ngg_updategallery'); - - switch ($_POST['bulkaction']) { - case 'no_action'; - break; - case 'rotate_cw': - nggAdmin::do_ajax_operation( 'rotate_cw' , $_POST['doaction'], __('Rotate images', 'nggallery') ); - break; - case 'rotate_ccw': - nggAdmin::do_ajax_operation( 'rotate_ccw' , $_POST['doaction'], __('Rotate images', 'nggallery') ); - break; - case 'recover_images': - nggAdmin::do_ajax_operation( 'recover_image' , $_POST['doaction'], __('Recover from backup', 'nggallery') ); - break; - case 'set_watermark': - nggAdmin::do_ajax_operation( 'set_watermark' , $_POST['doaction'], __('Set watermark', 'nggallery') ); - break; - case 'delete_images': - if ( is_array($_POST['doaction']) ) { - foreach ( $_POST['doaction'] as $imageID ) { - $image = $nggdb->find_image( $imageID ); - if ($image) { - if ($ngg->options['deleteImg']) { - @unlink($image->imagePath); - @unlink($image->thumbPath); - @unlink($image->imagePath."_backup"); - } - $delete_pic = nggdb::delete_image( $image->pid ); - } - } - if($delete_pic) - nggGallery::show_message(__('Pictures deleted successfully ', 'nggallery')); - } - break; - case 'import_meta': - nggAdmin::do_ajax_operation( 'import_metadata' , $_POST['doaction'], __('Import metadata', 'nggallery') ); - break; - } - } - - if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_ResizeImages'])) { - - check_admin_referer('ngg_thickbox_form'); - - //save the new values for the next operation - $ngg->options['imgWidth'] = (int) $_POST['imgWidth']; - $ngg->options['imgHeight'] = (int) $_POST['imgHeight']; - - update_option('ngg_options', $ngg->options); - - $pic_ids = explode(',', $_POST['TB_imagelist']); - nggAdmin::do_ajax_operation( 'resize_image' , $pic_ids, __('Resize images','nggallery') ); - } - - if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_NewThumbnail'])) { - - check_admin_referer('ngg_thickbox_form'); - - //save the new values for the next operation - $ngg->options['thumbwidth'] = (int) $_POST['thumbwidth']; - $ngg->options['thumbheight'] = (int) $_POST['thumbheight']; - $ngg->options['thumbfix'] = (bool) $_POST['thumbfix']; - update_option('ngg_options', $ngg->options); - - $pic_ids = explode(',', $_POST['TB_imagelist']); - nggAdmin::do_ajax_operation( 'create_thumbnail' , $pic_ids, __('Create new thumbnails','nggallery') ); - } - - if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_SelectGallery'])) { - - check_admin_referer('ngg_thickbox_form'); - - $pic_ids = explode(',', $_POST['TB_imagelist']); - $dest_gid = (int) $_POST['dest_gid']; - - switch ($_POST['TB_bulkaction']) { - case 'copy_to': - // Copy images - nggAdmin::copy_images( $pic_ids, $dest_gid ); - break; - case 'move_to': - // Move images - nggAdmin::move_images( $pic_ids, $dest_gid ); - break; - } - } - - if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_EditTags'])) { - // do tags update - - check_admin_referer('ngg_thickbox_form'); - - // get the images list - $pic_ids = explode(',', $_POST['TB_imagelist']); - $taglist = explode(',', $_POST['taglist']); - $taglist = array_map('trim', $taglist); - - if (is_array($pic_ids)) { - - foreach($pic_ids as $pic_id) { - - // which action should be performed ? - switch ($_POST['TB_bulkaction']) { - case 'no_action'; - // No action - break; - case 'overwrite_tags': - // Overwrite tags - wp_set_object_terms($pic_id, $taglist, 'ngg_tag'); - break; - case 'add_tags': - // Add / append tags - wp_set_object_terms($pic_id, $taglist, 'ngg_tag', TRUE); - break; - case 'delete_tags': - // Delete tags - $oldtags = wp_get_object_terms($pic_id, 'ngg_tag', 'fields=names'); - // get the slugs, to vaoid case sensitive problems - $slugarray = array_map('sanitize_title', $taglist); - $oldtags = array_map('sanitize_title', $oldtags); - // compare them and return the diff - $newtags = array_diff($oldtags, $slugarray); - wp_set_object_terms($pic_id, $newtags, 'ngg_tag'); - break; - } - } - - nggGallery::show_message( __('Tags changed', 'nggallery') ); - } - } - - if (isset ($_POST['updatepictures'])) { - // Update pictures - - check_admin_referer('ngg_updategallery'); - - if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' )) { - - if ( nggGallery::current_user_can( 'NextGEN Edit gallery title' )) { - // don't forget to update the slug - $slug = nggdb::get_unique_slug( sanitize_title( $_POST['title'] ), 'gallery' ); - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET title= '%s', slug= '%s' WHERE gid = %d", esc_attr($_POST['title']), $slug, $this->gid) ); - } - if ( nggGallery::current_user_can( 'NextGEN Edit gallery path' )) - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET path= '%s' WHERE gid = %d", untrailingslashit ( str_replace('\\', '/', trim( stripslashes($_POST['path']) )) ), $this->gid ) ); - if ( nggGallery::current_user_can( 'NextGEN Edit gallery description' )) - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET galdesc= '%s' WHERE gid = %d", esc_attr( $_POST['gallerydesc'] ), $this->gid) ); - if ( nggGallery::current_user_can( 'NextGEN Edit gallery page id' )) - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET pageid= '%d' WHERE gid = %d", (int) $_POST['pageid'], $this->gid) ); - if ( nggGallery::current_user_can( 'NextGEN Edit gallery preview pic' )) - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET previewpic= '%d' WHERE gid = %d", (int) $_POST['previewpic'], $this->gid) ); - if ( isset ($_POST['author']) && nggGallery::current_user_can( 'NextGEN Edit gallery author' ) ) - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET author= '%d' WHERE gid = %d", (int) $_POST['author'], $this->gid) ); - - wp_cache_delete($this->gid, 'ngg_gallery'); - - } - - $this->update_pictures(); - - //hook for other plugin to update the fields - do_action('ngg_update_gallery', $this->gid, $_POST); - - nggGallery::show_message(__('Update successful',"nggallery")); - } - - if (isset ($_POST['scanfolder'])) { - // Rescan folder - check_admin_referer('ngg_updategallery'); - - $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$this->gid' "); - nggAdmin::import_gallery($gallerypath); - } - - if (isset ($_POST['addnewpage'])) { - // Add a new page - - check_admin_referer('ngg_updategallery'); - - $parent_id = esc_attr($_POST['parent_id']); - $gallery_title = esc_attr($_POST['title']); - $gallery_name = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE gid = '$this->gid' "); - - // Create a WP page - global $user_ID; - - $page['post_type'] = 'page'; - $page['post_content'] = '[nggallery id=' . $this->gid . ']'; - $page['post_parent'] = $parent_id; - $page['post_author'] = $user_ID; - $page['post_status'] = 'publish'; - $page['post_title'] = $gallery_title == '' ? $gallery_name : $gallery_title; - $page = apply_filters('ngg_add_new_page', $page, $this->gid); - - $gallery_pageid = wp_insert_post ($page); - if ($gallery_pageid != 0) { - $result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', pageid = '$gallery_pageid' WHERE gid = '$this->gid'"); - wp_cache_delete($this->gid, 'ngg_gallery'); - nggGallery::show_message( __('New gallery page ID','nggallery'). ' ' . $gallery_pageid . ' -> ' . $gallery_title . ' ' .__('created','nggallery') ); - } - } - } - - /** - * Publish a new post with the shortcode from the selected image - * - * @since 1.7.0 - * @return void - */ - function publish_post() { - - check_admin_referer('publish-post'); - - // Create a WP page - global $user_ID, $ngg; - - $ngg->options['publish_width'] = (int) $_POST['width']; - $ngg->options['publish_height'] = (int) $_POST['height']; - $ngg->options['publish_align'] = $_POST['align']; - $align = ( $ngg->options['publish_align'] == 'none') ? '' : 'float='.$ngg->options['publish_align']; - - //save the new values for the next operation - update_option('ngg_options', $ngg->options); - - $post['post_type'] = 'post'; - $post['post_content'] = '[singlepic id=' . intval($_POST['pid']) . ' w=' . $ngg->options['publish_width'] . ' h=' . $ngg->options['publish_height'] . ' ' . $align . ']'; - $post['post_author'] = $user_ID; - $post['post_status'] = isset ( $_POST['publish'] ) ? 'publish' : 'draft'; - $post['post_title'] = $_POST['post_title']; - $post = apply_filters('ngg_add_new_post', $post, $_POST['pid']); - - $post_id = wp_insert_post ($post); - - if ($post_id != 0) - nggGallery::show_message( __('Published a new post','nggallery') ); - - } - - function update_pictures() { - global $wpdb, $nggdb; - - //TODO:Error message when update failed - - $description = isset ( $_POST['description'] ) ? $_POST['description'] : array(); - $alttext = isset ( $_POST['alttext'] ) ? $_POST['alttext'] : array(); - $exclude = isset ( $_POST['exclude'] ) ? $_POST['exclude'] : false; - $taglist = isset ( $_POST['tags'] ) ? $_POST['tags'] : false; - $pictures = isset ( $_POST['pid'] ) ? $_POST['pid'] : false; - - if ( is_array($pictures) ){ - foreach( $pictures as $pid ){ - $image = $nggdb->find_image( $pid ); - if ($image) { - // description field - $image->description = $description[$image->pid]; - - // only uptade this field if someone change the alttext - if ( $image->alttext != $alttext[$image->pid] ) { - $image->alttext = $alttext[$image->pid]; - $image->image_slug = nggdb::get_unique_slug( sanitize_title( $image->alttext ), 'image' ); - } - - // set exclude flag - if ( is_array($exclude) ) - $image->exclude = ( array_key_exists($image->pid, $exclude) )? 1 : 0; - else - $image->exclude = 0; - - // update the database - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggpictures SET image_slug = '%s', alttext = '%s', description = '%s', exclude = %d WHERE pid = %d", - $image->image_slug, $image->alttext, $image->description, $image->exclude, $image->pid) ); - // remove from cache - wp_cache_delete($image->pid, 'ngg_image'); - } - - } - } - - //TODO: This produce 300-400 queries ! - if ( is_array($taglist) ){ - foreach($taglist as $key=>$value) { - $tags = explode(',', $value); - wp_set_object_terms($key, $tags, 'ngg_tag'); - } - } - - return; - } - - // Check if user can select a author - function get_editable_user_ids( $user_id, $exclude_zeros = true ) { - global $wpdb; - - $user = new WP_User( $user_id ); - - if ( ! $user->has_cap('NextGEN Manage others gallery') ) { - if ( $user->has_cap('NextGEN Manage gallery') || $exclude_zeros == false ) - return array($user->id); - else - return false; - } - - $level_key = $wpdb->prefix . 'user_level'; - $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key'"; - if ( $exclude_zeros ) - $query .= " AND meta_value != '0'"; - - return $wpdb->get_col( $query ); - } - - function search_images() { - global $nggdb; - - if ( empty($_GET['s']) ) - return; - //on what ever reason I need to set again the query var - set_query_var('s', $_GET['s']); - $request = get_search_query(); - // look now for the images - $this->search_result = array_merge( (array) $nggdb->search_for_images( $request ), (array) nggTags::find_images_for_tags( $request , 'ASC' )); - // show pictures page - $this->mode = 'edit'; - } -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/media-upload.php b/src/wp-content/plugins/nextgen-gallery/admin/media-upload.php deleted file mode 100644 index 1739167..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/media-upload.php +++ /dev/null @@ -1,282 +0,0 @@ - __('NextGEN Gallery','nggallery')); - - return array_merge($tabs,$newtab); -} - -add_filter('media_upload_tabs', 'ngg_wp_upload_tabs'); - -function media_upload_nextgen() { - - // Not in use - $errors = false; - - // Generate TinyMCE HTML output - if ( isset($_POST['send']) ) { - $keys = array_keys($_POST['send']); - $send_id = (int) array_shift($keys); - $image = $_POST['image'][$send_id]; - $alttext = stripslashes( htmlspecialchars ($image['alttext'], ENT_QUOTES)); - $description = stripslashes (htmlspecialchars($image['description'], ENT_QUOTES)); - - // here is no new line allowed - $clean_description = preg_replace("/\n|\r\n|\r$/", " ", $description); - $img = nggdb::find_image($send_id); - $thumbcode = $img->get_thumbcode(); - $class="ngg-singlepic ngg-{$image['align']}"; - - // Build output - if ($image['size'] == "thumbnail") - $html = "$alttext"; - // Wrap the link to the fullsize image around - $html = "$html"; - - if ($image['size'] == "full") - $html = "$alttext"; - - if ($image['size'] == "singlepic") - $html = "[singlepic id=$send_id w=320 h=240 float={$image['align']}]"; - - media_upload_nextgen_save_image(); - - // Return it to TinyMCE - return media_send_to_editor($html); - } - - // Save button - if ( isset($_POST['save']) ) { - media_upload_nextgen_save_image(); - } - - return wp_iframe( 'media_upload_nextgen_form', $errors ); -} - -add_action('media_upload_nextgen', 'media_upload_nextgen'); - -function media_upload_nextgen_save_image() { - - global $wpdb; - - check_admin_referer('ngg-media-form'); - - if ( !empty($_POST['image']) ) foreach ( $_POST['image'] as $image_id => $image ) { - - // create a unique slug - $image_slug = nggdb::get_unique_slug( sanitize_title( $image['alttext'] ), 'image' ); - $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggpictures SET image_slug= '%s', alttext= '%s', description = '%s' WHERE pid = %d", $image_slug, $image['alttext'], $image['description'], $image_id)); - wp_cache_delete($image_id, 'ngg_image'); - } -} - -function media_upload_nextgen_form($errors) { - - global $wpdb, $wp_query, $wp_locale, $type, $tab, $post_mime_types, $ngg; - - media_upload_header(); - - $post_id = intval($_REQUEST['post_id']); - $galleryID = 0; - $total = 1; - $picarray = array(); - - $form_action_url = site_url( "wp-admin/media-upload.php?type={$GLOBALS['type']}&tab=nextgen&post_id=$post_id", 'admin'); - - // Get number of images in gallery - if ( isset($_REQUEST['select_gal']) ){ - $galleryID = (int) $_REQUEST['select_gal']; - $total = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID'"); - } - - // Build navigation - $_GET['paged'] = isset($_GET['paged']) ? intval($_GET['paged']) : 0; - if ( $_GET['paged'] < 1 ) - $_GET['paged'] = 1; - $start = ( $_GET['paged'] - 1 ) * 10; - if ( $start < 1 ) - $start = 0; - - // Get the images - if ( $galleryID != 0 ) - $picarray = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY {$ngg->options['galSort']} {$ngg->options['galSortDir']} LIMIT $start, 10 "); - - // WP-Core code for Post-thumbnail - $calling_post_id = 0; - if ( isset( $_GET['post_id'] ) ) - $calling_post_id = $_GET['post_id']; - -?> - - - -
    - - - - -
    - add_query_arg( 'paged', '%#%' ), - 'format' => '', - 'total' => ceil($total / 10), - 'current' => $_GET['paged'] - )); - - if ( $page_links ) - echo "
    $page_links
    "; - ?> - -
    - - -
    -
    -
    -
    - -
    - - - - - -
    - -
    -
    - - -
    alttext) ) ? wp_html_excerpt($picture->filename,60): stripslashes( wp_html_excerpt($picture->alttext,60) ); ?>
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    <?php echo esc_attr( $picture->alttext ); ?>
    filename ); ?>
    alttext) ); ?>
     
    - - - - - - - - -
    - - - - - - - -
    - - - - " . esc_html__( 'Use as featured image' ) . ""; - ?> - -
    -
    - -
    -

    - -

    - - -
    - - \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/overview.php b/src/wp-content/plugins/nextgen-gallery/admin/overview.php deleted file mode 100644 index cf0989a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/overview.php +++ /dev/null @@ -1,850 +0,0 @@ - -
    - -

    - -
    -
    -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    - - '; - echo sprintf(__('This plugin is primarily developed, maintained, supported and documented by Alex Rabe with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!', 'nggallery'), 'http://alexrabe.de/'); - echo '

    '; -} - -/** - * Ajax Check for conflict with other plugins/themes - * - * @return void - */ -function ngg_plugin_check() { - - global $ngg; -?> - -
    -
    -
    -
      -
    • - -

      - - -
    • -
    • - -

      - - -
    • -
    • - -

      - - -
    • -
    -

    - -

    -
    -
    -
    - -
    -
    -
    -
      - -
    -

    -
      - -
    -
    -
    -
    -' . __( 'Loading…' ) . '

    ' . __('This widget requires JavaScript.') . '

    '; -} - -function ngg_overview_donators() { - global $ngg; - - $i = 0; - $list = ''; - - $supporter = nggAdminPanel::get_remote_array($ngg->donators); - - // Ensure that this is a array - if ( !is_array($supporter) ) - return _e('Thanks to all donators...', 'nggallery'); - - $supporter = array_reverse($supporter); - - foreach ($supporter as $name => $url) { - $i++; - if ($url) - $list .= "
  • $name
  • \n"; - else - $list .= "
  • $name
  • "; - if ($i > 4) - break; - } - -?> -
    -
    -
    -
      - -
    -

    - -

    -
    -
    -
    -' . __( 'Loading…' ) . '

    ' . __('This widget requires JavaScript.') . '

    '; -} -function ngg_overview_news(){ - -?> -
    - ' . sprintf(__('Newsfeed could not be loaded. Check the front page to check for updates.', 'nggallery'), 'http://alexrabe.de/') . '

    '; - return; - } - - echo '
      '; - foreach ( $rss->get_items(0, 3) as $item ) { - $link = $item->get_link(); - while ( stristr($link, 'http') != $link ) - $link = substr($link, 1); - $link = esc_url(strip_tags($link)); - $title = esc_attr(strip_tags($item->get_title())); - if ( empty($title) ) - $title = __('Untitled'); - - $desc = str_replace( array("\n", "\r"), ' ', esc_attr( strip_tags( @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option('blog_charset') ) ) ) ); - $desc = wp_html_excerpt( $desc, 360 ); - - // Append ellipsis. Change existing [...] to […]. - if ( '[...]' == substr( $desc, -5 ) ) - $desc = substr( $desc, 0, -5 ) . '[…]'; - elseif ( '[…]' != substr( $desc, -10 ) ) - $desc .= ' […]'; - - $desc = esc_html( $desc ); - - $date = $item->get_date(); - $diff = ''; - - if ( $date ) { - - $diff = human_time_diff( strtotime($date, time()) ); - - if ( $date_stamp = strtotime( $date ) ) - $date = ' ' . date_i18n( get_option( 'date_format' ), $date_stamp ) . ''; - else - $date = ''; - } - ?> -
    • - -
      -
    • - '; - } - ?> -
    -get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") ); - $galleries = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") ); - $albums = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum") ); -?> -
    -

    - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -

    - - -

    -
    -
    - $quota ) - $percentused = '100'; - else - $percentused = ( $used / $quota ) * 100; - $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved' ) : 'spam'; - $used = round( $used, 2 ); - $percentused = number_format( $percentused ); - - ?> -

    -
    - - - - - -
    %2$sMB' ), esc_url( admin_url( 'admin.php?page=nggallery-manage-gallery' ) ), $quota ); ?>
    -
    -
    - - - - - -
    %2$sMB (%3$s%%)' ), esc_url( admin_url( 'admin.php?page=nggallery-manage-gallery' ) ), $used, $percentused ); ?>
    -
    -
    - download_locale(); - - if ($result == true) { - ?> -

    -

    - -

    - -

    - ' . __( 'Loading…' ) . '

    ' . __('This widget requires JavaScript.') . '

    '; -} - -function ngg_locale() { - global $ngg; - - require_once(NGGALLERY_ABSPATH . '/lib/locale.php'); - - $locale = new ngg_locale(); - $overview_url = admin_url() . 'admin.php?page=' . NGGFOLDER; - $result = $locale->check(); - $update_url = wp_nonce_url ( $overview_url . '&locale=update', 'ngg_update_locale'); - - //Translators can change this text via gettext - if ($result == 'installed') { - echo $ngg->translator; - if ( !is_wp_error($locale->response) && $locale->response['response']['code'] == '200') { - ?> -

    - -

    - -

    Download now your language file !

    -

    - -

    - '. sprintf( 'Would you like to help to translate this plugin ? Download the current pot file and read here how you can translate the plugin.', NGGALLERY_URLPATH . 'lang/nggallery.pot').'

    '; - -} - -/** - * Show GD Library version information - * - * @return void - */ -function ngg_gd_info() { - - if(function_exists("gd_info")){ - $info = gd_info(); - $keys = array_keys($info); - for($i=0; $i " . $keys[$i] ." : " . ngg_gd_yesNo($info[$keys[$i]]) . "\n"; - else - echo "
  • " . $keys[$i] ." : " . $info[$keys[$i]] . "
  • \n"; - } - } - else { - echo '

    '.__('No GD support', 'nggallery').'!

    '; - } -} - -/** - * Return localized Yes or no - * - * @param bool $bool - * @return return 'Yes' | 'No' - */ -function ngg_gd_yesNo( $bool ){ - if($bool) - return __('Yes', 'nggallery'); - else - return __('No', 'nggallery'); -} - - -/** - * Show up some server infor's - * @author GamerZ (http://www.lesterchan.net) - * - * @return void - */ -function ngg_get_serverinfo() { - - global $wpdb, $ngg; - // Get MYSQL Version - $sqlversion = $wpdb->get_var("SELECT VERSION() AS version"); - // GET SQL Mode - $mysqlinfo = $wpdb->get_results("SHOW VARIABLES LIKE 'sql_mode'"); - if (is_array($mysqlinfo)) $sql_mode = $mysqlinfo[0]->Value; - if (empty($sql_mode)) $sql_mode = __('Not set', 'nggallery'); - // Get PHP Safe Mode - if(ini_get('safe_mode')) $safe_mode = __('On', 'nggallery'); - else $safe_mode = __('Off', 'nggallery'); - // Get PHP allow_url_fopen - if(ini_get('allow_url_fopen')) $allow_url_fopen = __('On', 'nggallery'); - else $allow_url_fopen = __('Off', 'nggallery'); - // Get PHP Max Upload Size - if(ini_get('upload_max_filesize')) $upload_max = ini_get('upload_max_filesize'); - else $upload_max = __('N/A', 'nggallery'); - // Get PHP Output buffer Size - if(ini_get('pcre.backtrack_limit')) $backtrack_limit = ini_get('pcre.backtrack_limit'); - else $backtrack_limit = __('N/A', 'nggallery'); - // Get PHP Max Post Size - if(ini_get('post_max_size')) $post_max = ini_get('post_max_size'); - else $post_max = __('N/A', 'nggallery'); - // Get PHP Max execution time - if(ini_get('max_execution_time')) $max_execute = ini_get('max_execution_time'); - else $max_execute = __('N/A', 'nggallery'); - // Get PHP Memory Limit - if(ini_get('memory_limit')) $memory_limit = $ngg->memory_limit . 'M'; - else $memory_limit = __('N/A', 'nggallery'); - // Get actual memory_get_usage - if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'nggallery'); - else $memory_usage = __('N/A', 'nggallery'); - // required for EXIF read - if (is_callable('exif_read_data')) $exif = __('Yes', 'nggallery'). " ( V" . substr(phpversion('exif'),0,4) . ")" ; - else $exif = __('No', 'nggallery'); - // required for meta data - if (is_callable('iptcparse')) $iptc = __('Yes', 'nggallery'); - else $iptc = __('No', 'nggallery'); - // required for meta data - if (is_callable('xml_parser_create')) $xml = __('Yes', 'nggallery'); - else $xml = __('No', 'nggallery'); - -?> -
  • :  ( Bit)
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • :
  • -
  • : s
  • -
  • :
  • -
  • :
  • -
  • :
  • - -
    -

    -
    - array()); - - if ( preg_match_all('#(?:

    (?:)?(.*?)(?:)?

    )|(?:(.*?)\s*(?:(.*?)\s*(?:(.*?)\s*)?)?)#s', ob_get_clean(), $matches, PREG_SET_ORDER) ) - foreach($matches as $match) { - if(strlen($match[1])) - $phpinfo[$match[1]] = array(); - elseif(isset($match[3])) - $phpinfo[end(array_keys($phpinfo))][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3]; - else - $phpinfo[end(array_keys($phpinfo))][] = $match[2]; - } - - return $phpinfo; -} - -/** - * Show NextGEN Gallery related plugins. Fetch plugins from wp.org which have added 'nextgen-gallery' as tag in readme.txt - * - * @return postbox output - */ -function ngg_widget_related_plugins() { - echo '

    ' . __( 'Loading…' ) . '

    ' . __('This widget requires JavaScript.') . '

    '; -} -function ngg_related_plugins() { - include(ABSPATH . 'wp-admin/includes/plugin-install.php'); - - // this api sucks , tags will not be used in the correct way : nextgen-gallery cannot be searched - $api = plugins_api('query_plugins', array('search' => 'nextgen') ); - - if ( is_wp_error($api) ) - return; - - // don't show my own plugin :-) and some other plugins, which come up with the search result - $blacklist = array( - 'nextgen-gallery', - 'galleria-wp', - 'photosmash-galleries', - 'flash-album-gallery', - 'events-calendar', - 'widgets', - 'side-content', - 'featurific-for-wordpress', - 'smooth-gallery-replacement', - 'livesig', - 'wordpress-gallery-slideshow', - 'nkmimagefield', - 'nextgen-ajax', - 'projectmanager' - ); - - $i = 0; - while ( $i < 4 ) { - - // pick them randomly - if ( 0 == count($api->plugins) ) - return; - - $key = array_rand($api->plugins); - $plugin = $api->plugins[$key]; - - // don't forget to remove them - unset($api->plugins[$key]); - - if ( !isset($plugin->name) ) - continue; - - if ( in_array($plugin->slug , $blacklist ) ) - continue; - - $link = esc_url( $plugin->homepage ); - $title = esc_html( $plugin->name ); - - $description = esc_html( strip_tags(@html_entity_decode($plugin->short_description, ENT_QUOTES, get_option('blog_charset'))) ); - - $ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin->slug, 'install-plugin_' . $plugin->slug) . - '&TB_iframe=true&width=600&height=800'; - - echo "
    $title
     (" . __( 'Install' ) . ")\n"; - echo "

    $description " . __( 'Author' ) . " : $plugin->author

    \n"; - - $i++; - } - -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/publish.php b/src/wp-content/plugins/nextgen-gallery/admin/publish.php deleted file mode 100644 index 60bff01..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/publish.php +++ /dev/null @@ -1,74 +0,0 @@ -options['publish_width']) ? $ngg->options['thumbwidth'] : $ngg->options['publish_width']; -$height = empty ($ngg->options['publish_height']) ? $ngg->options['thumbheight'] : $ngg->options['publish_height']; -$align = empty ($ngg->options['publish_align']) ? 'none' : $ngg->options['publish_align']; - -?> - -
    - - - - - - - - - - - - - - - - - - - -
    -
    x -
    id="image-align-none" name="align"/> - - id="image-align-left" name="align"/> - - id="image-align-center" name="align"/> - - id="image-align-right" name="align"/> - -
    - -   - -
    -
    \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/roles.php b/src/wp-content/plugins/nextgen-gallery/admin/roles.php deleted file mode 100644 index bc405da..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/roles.php +++ /dev/null @@ -1,139 +0,0 @@ - -
    - -

    -


    - Capability Manager.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    :
    :
    :
    -
    -
    -
    -role_objects; - $sorted = array(); - - if( class_exists('RoleManager') ) { - foreach( $roles as $role_key => $role_name ) { - $role = get_role($role_key); - if( empty($role) ) continue; - $role_user_level = array_reduce(array_keys($role->capabilities), array('WP_User', 'level_reduction'), 0); - $sorted[$role_user_level] = $role; - } - $sorted = array_values($sorted); - } else { - $role_order = array("subscriber", "contributor", "author", "editor", "administrator"); - foreach($role_order as $role_key) { - $sorted[$role_key] = get_role($role_key); - } - } - return $sorted; -} - -function ngg_get_role($capability){ - // This function return the lowest roles which has the capabilities - $check_order = ngg_get_sorted_roles(); - - $args = array_slice(func_get_args(), 1); - $args = array_merge(array($capability), $args); - - foreach ($check_order as $check_role) { - if ( empty($check_role) ) - return false; - - if (call_user_func_array(array(&$check_role, 'has_cap'), $args)) - return $check_role->name; - } - return false; -} - -function ngg_set_capability($lowest_role, $capability){ - // This function set or remove the $capability - $check_order = ngg_get_sorted_roles(); - - $add_capability = false; - - foreach ($check_order as $the_role) { - $role = $the_role->name; - - if ( $lowest_role == $role ) - $add_capability = true; - - // If you rename the roles, then please use a role manager plugin - - if ( empty($the_role) ) - continue; - - $add_capability ? $the_role->add_cap($capability) : $the_role->remove_cap($capability) ; - } -} - -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/rotate.php b/src/wp-content/plugins/nextgen-gallery/admin/rotate.php deleted file mode 100644 index ad7f268..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/rotate.php +++ /dev/null @@ -1,95 +0,0 @@ -imagePath, TRUE); -$thumb->resize(350,350); - -// we need the new dimension -$resizedPreviewInfo = $thumb->newDimensions; -$thumb->destruct(); - -$preview_image = home_url() . '/' . 'index.php?callback=image&pid=' . $picture->pid . '&width=350&height=350'; - -?> - - - - - - - - - - - - -
    - - -
    -
    -
    - -
    - - - -
    \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/settings.php b/src/wp-content/plugins/nextgen-gallery/admin/settings.php deleted file mode 100644 index 59c0dab..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/settings.php +++ /dev/null @@ -1,836 +0,0 @@ -__construct(); - } - - /** - * nggOptions::__construct() - * - * @return void - */ - function __construct() { - - // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0 - $this->filepath = admin_url() . 'admin.php?page=' . $_GET['page']; - - //Look for POST updates - if ( !empty($_POST) ) - $this->processor(); - } - - /** - * Save/Load options and add a new hook for plugins - * - * @return void - */ - function processor() { - - global $ngg, $nggRewrite; - - $old_state = $ngg->options['usePermalinks']; - - if ( isset($_POST['irDetect']) ) { - check_admin_referer('ngg_settings'); - $ngg->options['irURL'] = ngg_search_imagerotator(); - update_option('ngg_options', $ngg->options); - } - - if ( isset($_POST['updateoption']) ) { - check_admin_referer('ngg_settings'); - // get the hidden option fields, taken from WP core - if ( $_POST['page_options'] ) - $options = explode(',', stripslashes($_POST['page_options'])); - - if ($options) { - foreach ($options as $option) { - $option = trim($option); - $value = isset($_POST[$option]) ? trim($_POST[$option]) : false; - // $value = sanitize_option($option, $value); // This does stripslashes on those that need it - $ngg->options[$option] = $value; - } - - // the path should always end with a slash - $ngg->options['gallerypath'] = trailingslashit($ngg->options['gallerypath']); - $ngg->options['imageMagickDir'] = trailingslashit($ngg->options['imageMagickDir']); - - // the custom sortorder must be ascending - $ngg->options['galSortDir'] = ($ngg->options['galSort'] == 'sortorder') ? 'ASC' : $ngg->options['galSortDir']; - } - // Save options - update_option('ngg_options', $ngg->options); - - // Flush Rewrite rules - if ( $old_state != $ngg->options['usePermalinks'] ) - $nggRewrite->flush(); - - nggGallery::show_message(__('Update Successfully','nggallery')); - } - - if ( isset($_POST['clearcache']) ) { - check_admin_referer('ngg_settings'); - - $path = WINABSPATH . $ngg->options['gallerypath'] . 'cache/'; - - if (is_dir($path)) - if ($handle = opendir($path)) { - while (false !== ($file = readdir($handle))) { - if ($file != '.' && $file != '..') { - @unlink($path . '/' . $file); - } - } - closedir($handle); - } - - nggGallery::show_message(__('Cache cleared','nggallery')); - } - - if ( isset($_POST['createslugs']) ) { - check_admin_referer('ngg_settings'); - include_once (dirname (__FILE__) . '/upgrade.php'); - ngg_rebuild_unique_slugs::start_rebuild(); - } - - do_action( 'ngg_update_options_page' ); - - } - - /** - * Render the page content - * - * @return void - */ - function controller() { - - // get list of tabs - $tabs = $this->tabs_order(); - - ?> - - -
    -
      - $tab_name) { - echo "\n\t\t
    • $tab_name
    • "; - } - ?> -
    - $tab_name) { - echo "\n\t
    \n"; - // Looks for the internal class function, otherwise enable a hook for plugins - if ( method_exists( $this, "tab_$tab_key" )) - call_user_func( array( &$this , "tab_$tab_key") ); - else - do_action( 'ngg_tab_content_' . $tab_key ); - echo "\n\t
    "; - } - ?> -
    - - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    type="text" size="35" name="gallerypath" value="options['gallerypath']; ?>" /> -
    type="checkbox" name="deleteImg" value="1" options['deleteImg']); ?> /> -
    options['usePermalinks']); ?> /> -
    -

    - -
    options['useMediaRSS']); ?> /> -
    (CoolIris)options['usePicLens']); ?> /> -
    -

    - - - - - - - - - - - - - -
    options['activateTags']); ?> /> - -

    - -
    - -
    - -
    -
    - - -

    -
    - - -

    Manage Gallery .', 'nggallery') ?>

    - - - - - - - - - - - - - -
    x -
    options['thumbfix']); ?> /> -
    %
    - -
    -
    - - -

    -
    - - - - - - - - - - - - - - - - - - - -
    x -
    %
    options['imgBackup'] == 1) ? ' checked ="chechked"' : ''; ?>/> -
    options['imgAutoResize'] == 1) ? ' checked ="chechked"' : ''; ?>/> -
    -

    - - - - - - - - - -
    type="checkbox" name="imgCacheSinglePic" value="1" options['imgCacheSinglePic']); ?> /> -
    - -
    -
    - - - -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    options['galNoPages']); ?> /> - -
    - -
    - -
    options['galShowSlide']); ?> /> - - -

    - -
    options['galImgBrowser']); ?> /> - -
    options['galHiddenImg']); ?> /> - -
    options['galAjaxNav']); ?> /> - -
    -

    - - - - - - - - - -
    -
    -
    -
    -
    - -

    - -
    - -
    -
    - - -

    -
    - - -

    - %GALLERY_NAME%

    - - - - - - - - - -
    - -
    - -
    -
    - - get_var("SELECT MIN(pid) FROM $wpdb->nggpictures"); - $imageURL = ($imageID) ? $imageURL = '' : ''; - - ?> - -

    -

    Manage Gallery . This action cannot be undone.', 'nggallery') ?>

    -
    - - -
    -

    -

    -

    -
    - - - - - -
    - - - - - - - - - - - - - - - - - -
    options['wmPos']); ?> />options['wmPos']); ?> />options['wmPos']); ?> />
    options['wmPos']); ?> />options['wmPos']); ?> />options['wmPos']); ?> />
    options['wmPos']); ?> />options['wmPos']); ?> />options['wmPos']); ?> />
    -
    - - - - - - - - - - -
    x px
    y px
    -
    -
    -
    -

    - - - - - -

    -
    -

    - - - - - - - - - - - - - - - - - - - - - -

    - nggallery/fonts','nggallery'); ?> - -
    px
    -
    %
    -
     
    -
    -
    - - -
    - - -

    - - - - - - - - - - - - - -
    x -
    - - jQuery Cycle -
    -

    -

    3.17 . - JW Image Rotator from Jeroen Wijering. -

    - options['irURL']) && ($ngg->options['enableIR'] == '1')) { ?> -
    -

    -
    - here and upload it to your Upload folder (Default is wp-content/uploads).','nggallery'); ?> -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    options['enableIR']); ?> /> -
    - - -
    -
    options['irShuffle']); ?> />
    options['irLinkfromdisplay']); ?> />
    options['irShownavigation']); ?> />
    options['irShowicons']); ?> />
    options['irWatermark']); ?> /> -
    - -
    - -
    options['irKenburns']); ?> />
    -
    -
    -
    -
    options['irXHTMLvalid']); ?> /> -
    - -
    -
    - read()) !== false) { - if (preg_match('|^\.+$|', $file)) - continue; - if (is_dir($plugin_root.'/'.$file)) { - $plugins_subdir = @ dir($plugin_root.'/'.$file); - if ($plugins_subdir) { - while (($subfile = $plugins_subdir->read()) !== false) { - if (preg_match('|^\.+$|', $subfile)) - continue; - if (preg_match('|\.ttf$|', $subfile)) - $ttf_fonts[] = "$file/$subfile"; - } - } - } else { - if (preg_match('|\.ttf$|', $file)) - $ttf_fonts[] = $file; - } - } - } - - return $ttf_fonts; -} - -function ngg_search_imagerotator() { - global $wpdb; - - $upload = wp_upload_dir(); - - // look first at the old place and move it to wp-content/uploads - if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) - @rename(NGGALLERY_ABSPATH . 'imagerotator.swf', $upload['basedir'] . '/imagerotator.swf'); - - // This should be the new place - if ( file_exists( $upload['basedir'] . '/imagerotator.swf' ) ) - return $upload['baseurl'] . '/imagerotator.swf'; - - // Find the path to the imagerotator via the media library - if ( $path = $wpdb->get_var( "SELECT guid FROM {$wpdb->posts} WHERE guid LIKE '%imagerotator.swf%'" ) ) - return $path; - - // maybe it's located at wp-content - if ( file_exists( WP_CONTENT_DIR . '/imagerotator.swf' ) ) - return WP_CONTENT_URL . '/imagerotator.swf'; - - // or in the plugin folder - if ( file_exists( WP_PLUGIN_DIR . '/imagerotator.swf' ) ) - return WP_PLUGIN_URL . '/imagerotator.swf'; - - // this is deprecated and will be ereased during a automatic upgrade - if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) - return NGGALLERY_URLPATH . 'imagerotator.swf'; - - return ''; -} - -/**********************************************************/ -// taken from WP Core - -function ngg_input_selected( $selected, $current) { - if ( $selected == $current) - return ' selected="selected"'; -} - -function ngg_input_checked( $checked, $current) { - if ( $checked == $current) - return ' checked="checked"'; -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/setup.php b/src/wp-content/plugins/nextgen-gallery/admin/setup.php deleted file mode 100644 index ec4e43a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/setup.php +++ /dev/null @@ -1,58 +0,0 @@ -load_options(); - - nggGallery::show_message(__('Reset all settings to default parameter','nggallery')); - } - - if (isset($_POST['uninstall'])) { - - check_admin_referer('ngg_uninstall'); - - include_once ( dirname (__FILE__). '/install.php'); - - nggallery_uninstall(); - - nggGallery::show_message(__('Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !','nggallery')); - } - ?> -
    -

    -
    - -

    -
    -
    -
    - -
    -

    - -
    -
    - -

    -

    -

    -


    - nggpictures; ?>, nggalbum; ?> nggalbum; ?>.

    -
    - -
    -
    -
    - - - diff --git a/src/wp-content/plugins/nextgen-gallery/admin/showmeta.php b/src/wp-content/plugins/nextgen-gallery/admin/showmeta.php deleted file mode 100644 index 74373b5..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/showmeta.php +++ /dev/null @@ -1,124 +0,0 @@ -get_saved_meta(); -$exifdata = $meta->get_EXIF(); -$iptcdata = $meta->get_IPTC(); -$xmpdata = $meta->get_XMP(); -$class = ''; - -?> - -
    -

    - - - - - - - - - $value){ - if ( is_array($value) ) continue; - $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; - echo ' - - - '; - } - ?> -
    '.$meta->i8n_name($key).''.$value.'
    - " . __('No meta data saved','nggallery') . ""; ?> -
    - - - -
    -

    - - - - - - - - - $value){ - $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; - echo ' - - - '; - } - ?> -
    '.$meta->i8n_name($key).''.$value.'
    - ". __('No exif data','nggallery'). ""; ?> -
    - - - - -
    -

    - - - - - - - - $value){ - $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; - echo ' - - - '; - } - ?> -
    '.$meta->i8n_name($key).''.$value.'
    -
    - - - - -
    -

    - - - - - - - - $value){ - $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; - echo ' - - - '; - } - ?> -
    '.$meta->i8n_name($key).''.$value.'
    -
    - \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/style.php b/src/wp-content/plugins/nextgen-gallery/admin/style.php deleted file mode 100644 index f6bd02f..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/style.php +++ /dev/null @@ -1,252 +0,0 @@ -options['activateCSS'] = $_POST['activateCSS']; - $ngg->options['CSSfile'] = $act_cssfile; - update_option('ngg_options', $ngg->options); - nggGallery::show_message(__('Update Successfully','nggallery')); - } - } else { - // get the options - if (isset($_POST['file'])) - $act_cssfile = $_POST['file']; - else - $act_cssfile = $ngg->options['CSSfile']; - } - - // set the path - $real_file = NGGALLERY_ABSPATH . "css/" . $act_cssfile; -} - -if (isset($_POST['updatecss'])) { - - check_admin_referer('ngg_style'); - - if ( !current_user_can('edit_themes') ) - wp_die('

    '.__('You do not have sufficient permissions to edit templates for this blog.').'

    '); - - $newcontent = stripslashes($_POST['newcontent']); - - if (is_writeable($real_file)) { - $f = fopen($real_file, 'w+'); - fwrite($f, $newcontent); - - fclose($f); - nggGallery::show_message(__('CSS file successfully updated','nggallery')); - } -} - -// get the content of the file -//TODO: BUG : Read failed after write a file, maybe a Cache problem -$error = ( !is_file($real_file) ); - -if (!$error && filesize($real_file) > 0) { - $f = fopen($real_file, 'r'); - $content = fread($f, filesize($real_file)); - $content = htmlspecialchars($content); -} - -?> - -
    - -
    - -

    - -
    - - - options['activateCSS']); ?> /> - - -
    - -
    -
    - - -
    - ' . sprintf(__('Editing %s','nggallery'), $file_show) . ''; - } else { - echo '' . sprintf(__('Browsing %s','nggallery'), $file_show) . ''; - } - ?> -
    -
    - -
    - -
      -
    • :
    • -
    • :
    • -
    • :
    • -
    -

    - -

    - -

    -
    -
    -
    -
    - -
    - -
    - - -
    - -

    - -

    - -

    - -
    -

    ' . __('Oops, no such file exists! Double check the name and try again, merci.','nggallery') . '

    '; - } - ?> -
     
    - - -read()) !== false) { - if (preg_match('|^\.+$|', $file)) - continue; - if (is_dir($plugin_root.'/'.$file)) { - $plugins_subdir = @ dir($plugin_root.'/'.$file); - if ($plugins_subdir) { - while (($subfile = $plugins_subdir->read()) !== false) { - if (preg_match('|^\.+$|', $subfile)) - continue; - if (preg_match('|\.css$|', $subfile)) - $plugin_files[] = "$file/$subfile"; - } - } - } else { - if (preg_match('|\.css$|', $file)) - $plugin_files[] = $file; - } - } - } - - if ( !$plugins_dir || !$plugin_files ) - return $cssfiles; - - foreach ( $plugin_files as $plugin_file ) { - if ( !is_readable("$plugin_root/$plugin_file")) - continue; - - $plugin_data = ngg_get_cssfiles_data("$plugin_root/$plugin_file"); - - if ( empty ($plugin_data['Name']) ) - continue; - - $cssfiles[plugin_basename($plugin_file)] = $plugin_data; - } - - uasort($cssfiles, create_function('$a, $b', 'return strnatcasecmp($a["Name"], $b["Name"]);')); - - return $cssfiles; -} - -// parse the Header information -function ngg_get_cssfiles_data($plugin_file) { - $plugin_data = implode('', file($plugin_file)); - preg_match("|CSS Name:(.*)|i", $plugin_data, $plugin_name); - preg_match("|Description:(.*)|i", $plugin_data, $description); - preg_match("|Author:(.*)|i", $plugin_data, $author_name); - if (preg_match("|Version:(.*)|i", $plugin_data, $version)) - $version = trim($version[1]); - else - $version = ''; - - $description = wptexturize(trim($description[1])); - - $name = trim($plugin_name[1]); - $author = trim($author_name[1]); - - return array ('Name' => $name, 'Description' => $description, 'Author' => $author, 'Version' => $version ); -} -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tags.php b/src/wp-content/plugins/nextgen-gallery/admin/tags.php deleted file mode 100644 index 2ff3718..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tags.php +++ /dev/null @@ -1,288 +0,0 @@ - '', 'status' => 'ok'); - -if ( isset($_POST['tag_action']) ) { - //TODO:Include nonce field - if ( $_POST['tag_action'] == 'renametag' ) { - $oldtag = (isset($_POST['renametag_old'])) ? $_POST['renametag_old'] : ''; - $newtag = (isset($_POST['renametag_new'])) ? $_POST['renametag_new'] : ''; - $action_status = nggTags::rename_tags( $oldtag, $newtag ); - } elseif ( $_POST['tag_action'] == 'deletetag' ) { - $todelete = (isset($_POST['deletetag_name'])) ? $_POST['deletetag_name'] : ''; - $action_status = nggTags::delete_tags( $todelete ); - } elseif ( $_POST['tag_action'] == 'editslug' ) { - $matchtag = (isset($_POST['tagname_match'])) ? $_POST['tagname_match'] : ''; - $newslug = (isset($_POST['tagslug_new'])) ? $_POST['tagslug_new'] : ''; - $action_status = nggTags::edit_tag_slug( $matchtag, $newslug ); - } -} - -// Som useful variables -$admin_base_url = admin_url() . 'admin.php?page='; -$nb_tags = 50; // Number of tags to show on a single page - -// Manage URL -$sort_order = ( isset($_GET['tag_sortorder']) ) ? esc_attr(stripslashes($_GET['tag_sortorder'])) : 'desc'; -$search_url = ( isset($_GET['search']) ) ? '&search=' . stripslashes($_GET['search']) : ''; -$action_url = $admin_base_url . esc_attr(stripslashes($_GET['page'])) . '&tag_sortorder=' . $sort_order. $search_url; - -// Tags Filters -$order_array = array( - 'desc' => __('Most popular', 'nggallery'), - 'asc' => __('Least used', 'nggallery'), - 'natural' => __('Alphabetical', 'nggallery')); - -// Build Tags Param -$param = 'hide_empty=false'; -switch ($sort_order) { - case 'natural' : - $param .= '&number='.$nb_tags.'&orderby=name&order=asc'; - break; - case 'asc' : - $param .= '&number='.$nb_tags.'&orderby=count&order=asc'; - break; - default : - $param .= '&number='.$nb_tags.'&orderby=count&order=desc'; - break; -} - - -// Search -if ( !empty($_GET['search']) ) { - $search = stripslashes($_GET['search']); - $param .= '&name__like=' . $search; -} - -// Offset -if ( !empty($_GET['offset']) ) { - $param .= '&offset=' . $_GET['offset']; -} - -// Navigation urls -if ( empty($_GET['offset']) ) { - $offset = 0; -} else { - $offset = $_GET['offset']; -} - -$tag_count = (int)wp_count_terms('ngg_tag', 'ignore_empty=true'); - -if ($offset + $nb_tags < $tag_count) { - $next_offset = '' . min($offset + $nb_tags, $tag_count - $nb_tags); -} else { - $next_offset = ''; -} - -if ($nb_tags < $tag_count && $offset>0) { - $prev_offset = '' . max($offset - $nb_tags, 0); -} else { - $prev_offset = ''; -} - -?> - - -
    - -

    - - -
    -

    -
    - - - - - - - -
    -
    -

    - -
    -

    -
    - - - - -

    -
    - -
    -

    - $title ) { - $output[] = ($sort == $sort_order) ? ''.$title.'' : ''.$title.''; - } - echo implode('
    ', $output); - $output = array(); - unset($output); - ?> -
    - -
    -
      - ' . $tag->name . ' ('.$tag->count.')'."\n"; - echo '
    • ' . $tag->name . ' '.'('.$tag->count.')
    • '."\n"; - - } - unset($tags); - ?> -
    - - - - -
    -
    -
    -

    -
    - - - - - - - - - - - - - - - -
    -

    -

    -
    - - -
    -
    - -

    -
    - - - - - - - - - - - -
    -

    -

    .

    -
    - - -
    -
    - -

    -
    - - - - - - - - - - - - - - - -
    -

    Slug definition', 'nggallery'); ?>

    -

    -
    - - -
    -
    -
    - -
    \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/editor_plugin.js b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/editor_plugin.js deleted file mode 100644 index 6c7056c..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/editor_plugin.js +++ /dev/null @@ -1,77 +0,0 @@ -// Docu : http://wiki.moxiecode.com/index.php/TinyMCE:Create_plugin/3.x#Creating_your_own_plugins - -(function() { - // Load plugin specific language pack - tinymce.PluginManager.requireLangPack('NextGEN'); - - tinymce.create('tinymce.plugins.NextGEN', { - /** - * Initializes the plugin, this will be executed after the plugin has been created. - * This call is done before the editor instance has finished it's initialization so use the onInit event - * of the editor instance to intercept that event. - * - * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. - * @param {string} url Absolute URL to where the plugin is located. - */ - init : function(ed, url) { - // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); - - ed.addCommand('mceNextGEN', function() { - ed.windowManager.open({ - // call content via admin-ajax, no need to know the full plugin path - file : ajaxurl + '?action=ngg_tinymce', - width : 360 + ed.getLang('NextGEN.delta_width', 0), - height : 210 + ed.getLang('NextGEN.delta_height', 0), - inline : 1 - }, { - plugin_url : url // Plugin absolute URL - }); - }); - - // Register example button - ed.addButton('NextGEN', { - title : 'NextGEN.desc', - cmd : 'mceNextGEN', - image : url + '/nextgen.gif' - }); - - // Add a node change handler, selects the button in the UI when a image is selected - ed.onNodeChange.add(function(ed, cm, n) { - cm.setActive('NextGEN', n.nodeName == 'IMG'); - }); - }, - - /** - * Creates control instances based in the incomming name. This method is normally not - * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons - * but you sometimes need to create more complex controls like listboxes, split buttons etc then this - * method can be used to create those. - * - * @param {String} n Name of the control to create. - * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. - * @return {tinymce.ui.Control} New control instance or null if no control was created. - */ - createControl : function(n, cm) { - return null; - }, - - /** - * Returns information about the plugin as a name/value array. - * The current keys are longname, author, authorurl, infourl and version. - * - * @return {Object} Name/value array containing information about the plugin. - */ - getInfo : function() { - return { - longname : 'NextGEN', - author : 'Alex Rabe', - authorurl : 'http://alexrabe.de', - infourl : 'http://alexrabe.de', - version : "2.0" - }; - } - }); - - // Register plugin - tinymce.PluginManager.add('NextGEN', tinymce.plugins.NextGEN); -})(); \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/de.js b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/de.js deleted file mode 100644 index 242806d..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/de.js +++ /dev/null @@ -1,6 +0,0 @@ -// German lang variables for WP2.5 - -tinyMCE.addI18n({de:{ -NextGEN:{ -desc : 'NextGEN Gallery hinzufuegen' -}}}); diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/de_de.js b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/de_de.js deleted file mode 100644 index 242806d..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/de_de.js +++ /dev/null @@ -1,6 +0,0 @@ -// German lang variables for WP2.5 - -tinyMCE.addI18n({de:{ -NextGEN:{ -desc : 'NextGEN Gallery hinzufuegen' -}}}); diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/en.js b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/en.js deleted file mode 100644 index a2cf59c..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/en.js +++ /dev/null @@ -1,6 +0,0 @@ -// English lang variables for WP2.5 - -tinyMCE.addI18n({en:{ -NextGEN:{ -desc : 'Add NextGEN Gallery' -}}}); diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/en_US.js b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/en_US.js deleted file mode 100644 index 3f6fffa..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/langs/en_US.js +++ /dev/null @@ -1,6 +0,0 @@ -// English lang variables for WP2.5 - -tinyMCE.addI18n({en_US:{ -NextGEN:{ -desc : 'Add NextGEN Gallery' -}}}); diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/nextgen.gif b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/nextgen.gif deleted file mode 100644 index 24d0f2b..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/nextgen.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/tinymce.js b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/tinymce.js deleted file mode 100644 index 6531880..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/tinymce.js +++ /dev/null @@ -1,76 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); -} - -function getCheckedValue(radioObj) { - if(!radioObj) - return ""; - var radioLength = radioObj.length; - if(radioLength == undefined) - if(radioObj.checked) - return radioObj.value; - else - return ""; - for(var i = 0; i < radioLength; i++) { - if(radioObj[i].checked) { - return radioObj[i].value; - } - } - return ""; -} - -function insertNGGLink() { - - var tagtext; - - var gallery = document.getElementById('gallery_panel'); - var album = document.getElementById('album_panel'); - var singlepic = document.getElementById('singlepic_panel'); - - // who is active ? - if (gallery.className.indexOf('current') != -1) { - var galleryid = document.getElementById('gallerytag').value; - var showtype = getCheckedValue(document.getElementsByName('showtype')); - if (galleryid != 0 ) - tagtext = "["+ showtype + " id=" + galleryid + "]"; - else - tinyMCEPopup.close(); - } - - if (album.className.indexOf('current') != -1) { - var albumid = document.getElementById('albumtag').value; - var showtype = getCheckedValue(document.getElementsByName('albumtype')); - if (albumid != 0 ) - tagtext = "[album id=" + albumid + " template=" + showtype + "]"; - else - tinyMCEPopup.close(); - } - - if (singlepic.className.indexOf('current') != -1) { - var singlepicid = document.getElementById('singlepictag').value; - var imgWidth = document.getElementById('imgWidth').value; - var imgHeight = document.getElementById('imgHeight').value; - var imgeffect = document.getElementById('imgeffect').value; - var imgfloat = document.getElementById('imgfloat').value; - - if (singlepicid != 0 ) { - if (imgeffect == "none") - tagtext = "[singlepic id=" + singlepicid + " w=" + imgWidth + " h=" + imgHeight + " float=" + imgfloat + "]"; - else - tagtext = "[singlepic id=" + singlepicid + " w=" + imgWidth + " h=" + imgHeight + " mode=" + imgeffect + " float=" + imgfloat + "]"; - } else { - tinyMCEPopup.close(); - } - } - - if(window.tinyMCE) { - //TODO: For QTranslate we should use here 'qtrans_textarea_content' instead 'content' - window.tinyMCE.execInstanceCommand('content', 'mceInsertContent', false, tagtext); - //Peforms a clean up of the current editor HTML. - //tinyMCEPopup.editor.execCommand('mceCleanup'); - //Repaints the editor. Sometimes the browser has graphic glitches. - tinyMCEPopup.editor.execCommand('mceRepaint'); - tinyMCEPopup.close(); - } - return; -} diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/tinymce.php b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/tinymce.php deleted file mode 100644 index 6eb89f2..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/tinymce.php +++ /dev/null @@ -1,101 +0,0 @@ -path = NGGALLERY_URLPATH . 'admin/tinymce/'; - - // Modify the version when tinyMCE plugins are changed. - add_filter('tiny_mce_version', array (&$this, 'change_tinymce_version') ); - - // init process for button control - add_action('init', array (&$this, 'addbuttons') ); - } - - /** - * add_nextgen_button::addbuttons() - * - * @return void - */ - function addbuttons() { - - // Don't bother doing this stuff if the current user lacks permissions - if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) - return; - - // Check for NextGEN capability - if ( !current_user_can('NextGEN Use TinyMCE') ) - return; - - // Add only in Rich Editor mode - if ( get_user_option('rich_editing') == 'true') { - - // add the button for wp2.5 in a new way - add_filter("mce_external_plugins", array (&$this, 'add_tinymce_plugin' ), 5); - add_filter('mce_buttons', array (&$this, 'register_button' ), 5); - } - } - - /** - * add_nextgen_button::register_button() - * used to insert button in wordpress 2.5x editor - * - * @return $buttons - */ - function register_button($buttons) { - - array_push($buttons, 'separator', $this->pluginname ); - - return $buttons; - } - - /** - * add_nextgen_button::add_tinymce_plugin() - * Load the TinyMCE plugin : editor_plugin.js - * - * @return $plugin_array - */ - function add_tinymce_plugin($plugin_array) { - - $plugin_array[$this->pluginname] = $this->path . 'editor_plugin.js'; - - return $plugin_array; - } - - /** - * add_nextgen_button::change_tinymce_version() - * A different version will rebuild the cache - * - * @return $versio - */ - function change_tinymce_version($version) { - $version = $version + $this->internalVersion; - return $version; - } - -} - -// Call it now -$tinymce_button = new add_nextgen_button (); - -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/window.php b/src/wp-content/plugins/nextgen-gallery/admin/tinymce/window.php deleted file mode 100644 index 4fa3b68..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/tinymce/window.php +++ /dev/null @@ -1,143 +0,0 @@ - - - - NextGEN Gallery - - - - - - - - - - - - - - -
    -
    -
      - -
    • -
    • -
    -
    - -
    - - - - - -
    -
    - - - - - - - - - -
    -

    -
    -
    - - - -
    -
    - - - - - - - - - - - - - - - - - - -
    -
    x
    - -
    - -
    -
    - -
    - -
    -
    - " onclick="tinyMCEPopup.close();" /> -
    - -
    - " onclick="insertNGGLink();" /> -
    -
    -
    - - \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/upgrade.php b/src/wp-content/plugins/nextgen-gallery/admin/upgrade.php deleted file mode 100644 index 434630d..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/upgrade.php +++ /dev/null @@ -1,472 +0,0 @@ -nggpictures need to be set again - $wpdb->nggpictures = $wpdb->prefix . 'ngg_pictures'; - $wpdb->nggallery = $wpdb->prefix . 'ngg_gallery'; - $wpdb->nggalbum = $wpdb->prefix . 'ngg_album'; - - // Be sure that the tables exist, avoid case sensitive : http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html - if( $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->nggpictures'" ) ) { - - echo __('Upgrade database structure...', 'nggallery'); - $wpdb->show_errors(); - - $installed_ver = get_option( 'ngg_db_version' ); - - // 0.9.7 is smaller that 0.97, my fault :-) - if ( $installed_ver == '0.9.7' ) $installed_ver = '0.97'; - - // v0.33 -> v.071 - if (version_compare($installed_ver, '0.71', '<')) { - $wpdb->query("ALTER TABLE $wpdb->nggpictures CHANGE pid pid BIGINT(20) NOT NULL AUTO_INCREMENT "); - $wpdb->query("ALTER TABLE $wpdb->nggpictures CHANGE galleryid galleryid BIGINT(20) NOT NULL "); - $wpdb->query("ALTER TABLE $wpdb->nggallery CHANGE gid gid BIGINT(20) NOT NULL AUTO_INCREMENT "); - $wpdb->query("ALTER TABLE $wpdb->nggallery CHANGE pageid pageid BIGINT(20) NULL DEFAULT '0'"); - $wpdb->query("ALTER TABLE $wpdb->nggallery CHANGE previewpic previewpic BIGINT(20) NULL DEFAULT '0'"); - $wpdb->query("ALTER TABLE $wpdb->nggallery CHANGE gid gid BIGINT(20) NOT NULL AUTO_INCREMENT "); - $wpdb->query("ALTER TABLE $wpdb->nggallery CHANGE description galdesc MEDIUMTEXT NULL"); - } - - // v0.71 -> v0.84 - if (version_compare($installed_ver, '0.84', '<')) { - ngg_maybe_add_column( $wpdb->nggpictures, 'sortorder', "BIGINT(20) DEFAULT '0' NOT NULL AFTER exclude"); - } - - // v0.84 -> v0.95 - if (version_compare($installed_ver, '0.95', '<')) { - // first add the author field and set it to the current administrator - ngg_maybe_add_column( $wpdb->nggallery, 'author', "BIGINT(20) NOT NULL DEFAULT '$user_ID' AFTER previewpic"); - // switch back to zero - $wpdb->query("ALTER TABLE $wpdb->nggallery CHANGE author author BIGINT(20) NOT NULL DEFAULT '0'"); - } - - // v0.95 -> v0.97 - if (version_compare($installed_ver, '0.96', '<')) { - // Convert into WordPress Core taxonomy scheme - ngg_convert_tags(); - // Drop tables, we don't need them anymore - $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "ngg_tags"); - $wpdb->query("DROP TABLE IF EXISTS " . $wpdb->prefix . "ngg_pic2tags"); - - // New capability for administrator role - $role = get_role('administrator'); - $role->add_cap('NextGEN Manage tags'); - - // Add new option - $ngg_options = get_option('ngg_options'); - $ngg_options['graphicLibrary'] = 'gd'; - update_option('ngg_options', $ngg_options); - - } - - // v0.97 -> v1.00 - if (version_compare($installed_ver, '0.97', '<')) { - ngg_maybe_add_column( $wpdb->nggpictures, 'imagedate', "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER alttext"); - } - - // v0.97 -> v1.3.0 - if (version_compare($installed_ver, '1.3.0', '<')) { - ngg_maybe_add_column( $wpdb->nggpictures, 'post_id', "BIGINT(20) DEFAULT '0' NOT NULL AFTER pid"); - ngg_maybe_add_column( $wpdb->nggpictures, 'meta_data', "LONGTEXT AFTER sortorder"); - $wpdb->query("ALTER TABLE " . $wpdb->nggpictures . " ADD INDEX post_id ( post_id )"); - } - - // v1.3.0 -> v1.3.1 - if (version_compare($installed_ver, '1.3.1', '<')) { - // add description and previewpic for the album itself - ngg_maybe_add_column( $wpdb->nggalbum, 'previewpic', "BIGINT(20) DEFAULT '0' NOT NULL AFTER name"); - ngg_maybe_add_column( $wpdb->nggalbum, 'albumdesc', "MEDIUMTEXT NULL AFTER previewpic"); - } - - // v1.3.5 -> v1.4.0 - if (version_compare($installed_ver, '1.4.0', '<')) { - // add link from album to a page - ngg_maybe_add_column( $wpdb->nggalbum, 'pageid', "BIGINT(20) DEFAULT '0' NOT NULL AFTER sortorder"); - } - - // v1.4.0 -> v1.7.0 - if (version_compare($installed_ver, '1.7.0', '<')) { - // add slug fields - ngg_maybe_add_column( $wpdb->nggpictures, 'image_slug', "VARCHAR(255) NOT NULL AFTER pid"); - ngg_maybe_add_column( $wpdb->nggalbum, 'slug', "VARCHAR(255) NOT NULL AFTER name"); - ngg_maybe_add_column( $wpdb->nggallery, 'slug', "VARCHAR(255) NOT NULL AFTER name"); - } - - // update now the database - update_option( "ngg_db_version", NGG_DBVERSION ); - echo __('finished', 'nggallery') . "
    \n"; - - // better to flush rewrite rules after upgrades - $nggRewrite->flush(); - - $wpdb->hide_errors(); - - // *** From here we start file operation which could failed sometimes, - // *** ensure that the DB changes are not performed two times... - - // Change all thumbnail folders to "thumbs" - if (version_compare($installed_ver, '0.96', '<')) { - echo __('Update file structure...', 'nggallery'); - ngg_convert_filestructure(); - echo __('finished', 'nggallery') . "
    \n"; - } - - // On some reason the import / date sometimes failed, due to the memory limit - if (version_compare($installed_ver, '0.97', '<')) { - echo __('Import date and time information...', 'nggallery'); - ngg_import_date_time(); - echo __('finished', 'nggallery') . "
    \n"; - } - - // Move imagerotator outside the plugin folder - if (version_compare($installed_ver, '1.1.0', '<')) { - $ngg_options = get_option('ngg_options'); - echo __('Move imagerotator to new location...', 'nggallery'); - $ngg_options['irURL'] = ngg_move_imagerotator(); - $ngg_options['galPagedGalleries'] = 0; - $ngg_options['galColumns'] = 0; - update_option('ngg_options', $ngg_options); - echo __('finished', 'nggallery') . "
    \n"; - } - - // Remove thumbcrop setting, thumbfix and quare size do the same - if (version_compare($installed_ver, '1.4.0', '<')) { - $ngg_options = get_option('ngg_options'); - echo __('Update settings...', 'nggallery'); - if ( $ngg_options['thumpcrop'] ) { - $ngg_options['thumbfix'] = true; - $ngg_options['thumbheight'] = $ngg_options['thumbwidth'] ; - $ngg_options['galAjaxNav'] = true; - } - $ngg_options['galHiddenImg'] = false; - update_option('ngg_options', $ngg_options); - echo __('finished', 'nggallery') . "
    \n"; - } - - // Remove the old widget options - if (version_compare($installed_ver, '1.4.4', '<')) { - delete_option( 'ngg_widget' ); - echo __('Updated widget structure. If you used NextGEN Widgets, you need to setup them again...', 'nggallery'); - } - - if (version_compare($installed_ver, '1.6.0', '<')) { - $ngg_options = get_option('ngg_options'); - $ngg_options['enableIR'] = '1'; - $ngg_options['slideFx'] = 'fade'; - update_option('ngg_options', $ngg_options); - echo __('Updated options.', 'nggallery'); - } - - if (version_compare($installed_ver, '1.7.0', '<')) { - // Network blogs need to call this manually - if ( !is_multisite() ) { - ?> -

    -

    -
    -

    - nggtags = $wpdb->prefix . 'ngg_tags'; - $wpdb->nggpic2tags = $wpdb->prefix . 'ngg_pic2tags'; - - $picturelist = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures"); - if ( is_array($picturelist) ) { - foreach($picturelist as $id) { - $tags = array(); - $tagarray = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE t.picid = '$id' ORDER BY tt.slug ASC "); - if (!empty($tagarray)){ - foreach($tagarray as $element) { - $tags[$element->id] = $element->name; - } - wp_set_object_terms($id, $tags, 'ngg_tag'); - } - } - } -} - -/** - * ngg_convert_filestructure() - converter for old thumnail folder structure - * - * @return void - */ -function ngg_convert_filestructure() { - global $wpdb; - - $gallerylist = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC", OBJECT_K); - if ( is_array($gallerylist) ) { - $errors = array(); - foreach($gallerylist as $gallery) { - $gallerypath = WINABSPATH.$gallery->path; - - // old mygallery check, convert the wrong folder/ file name now - if (@is_dir($gallerypath . '/tumbs')) { - if ( !@rename($gallerypath . '/tumbs' , $gallerypath .'/thumbs') ) - $errors[] = $gallery->path . '/thumbs'; - // read list of images - $imageslist = nggAdmin::scandir($gallerypath . '/thumbs'); - if ( !empty($imageslist)) { - foreach($imageslist as $image) { - $purename = substr($image, 4); - if ( !@rename($gallerypath . '/thumbs/' . $image, $gallerypath . '/thumbs/thumbs_' . $purename )) - $errors[] = $gallery->path . '/thumbs/thumbs_' . $purename ; - } - } - } - } - - if (!empty($errors)) { - echo "

    ". __('Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section.', 'nggallery') ."

    "; - foreach($errors as $value) { - echo __('Rename failed', 'nggallery') . ' : ' . $value . "
    \n"; - } - echo '
    '; - } - } -} - -/** - * Move the imagerotator outside the plugin folder, as we remove it from the REPO with the next update - * - * @return string $path URL to the imagerotator - */ -function ngg_move_imagerotator() { - - $upload = wp_upload_dir(); - - // look first at the old place and move it - if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) - @rename(NGGALLERY_ABSPATH . 'imagerotator.swf', $upload['basedir'] . '/imagerotator.swf'); - - // If it's successful then we return the new path - if ( file_exists( $upload['basedir'] . '/imagerotator.swf' ) ) - return $upload['baseurl'] . '/imagerotator.swf'; - - //In some worse case it's still at the old place - if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) - return NGGALLERY_URLPATH . 'imagerotator.swf'; - - // if something failed, we must return a empty string - return ''; -} - -/** - * ngg_import_date_time() - Read the timestamp from exif and insert it into the database - * - * @return void - */ -function ngg_import_date_time() { - global $wpdb; - - $imagelist = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid ORDER BY tt.pid ASC"); - if ( is_array($imagelist) ) { - foreach ($imagelist as $image) { - $picture = new nggImage($image); - $meta = new nggMeta($picture->pid, true); - $date = $meta->get_date_time(); - $wpdb->query("UPDATE $wpdb->nggpictures SET imagedate = '$date' WHERE pid = '$picture->pid'"); - } - } -} - -/** - * Adding a new column if needed - * Example : ngg_maybe_add_column( $wpdb->nggpictures, 'imagedate', "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER alttext"); - * - * @param string $table_name Database table name. - * @param string $column_name Database column name to create. - * @param string $create_ddl SQL statement to create column - * @return bool True, when done with execution. - */ -function ngg_maybe_add_column($table_name, $column_name, $create_ddl) { - global $wpdb; - - foreach ($wpdb->get_col("SHOW COLUMNS FROM $table_name") as $column ) { - if ($column == $column_name) - return true; - } - - //didn't find it try to create it. - $wpdb->query("ALTER TABLE $table_name ADD $column_name " . $create_ddl); - - // we cannot directly tell that whether this succeeded! - foreach ($wpdb->get_col("SHOW COLUMNS FROM $table_name") as $column ) { - if ($column == $column_name) - return true; - } - - echo("Could not add column $column_name in table $table_name
    \n"); - return false; -} - -/** - * nggallery_upgrade_page() - This page showsup , when the database version doesn't fir to the script NGG_DBVERSION constant. - * - * @return Upgrade Message - */ -function nggallery_upgrade_page() { - - $filepath = admin_url() . 'admin.php?page=' . $_GET['page']; - - if ( isset($_GET['upgrade']) && $_GET['upgrade'] == 'now') { - nggallery_start_upgrade($filepath); - return; - } -?> -
    -

    -

    - -

    -

    -

    ...

    -
    - -
    -

    -

    -

    -

    ...

    -
    -get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") ); - $total['gallery'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") ); - $total['album'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum") ); - - $messages = array( - 'images' => __( 'Rebuild image structure : %s / %s images', 'nggallery' ), - 'gallery' => __( 'Rebuild gallery structure : %s / %s galleries', 'nggallery' ), - 'album' => __( 'Rebuild album structure : %s / %s albums', 'nggallery' ), - ); - -?> -0", - "" . $total[ $key ] . "" - ); - - echo "

    $message

    "; - } - - $ajax_url = add_query_arg( 'action', 'ngg_rebuild_unique_slugs', admin_url( 'admin-ajax.php' ) ); -?> - - \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/admin/wpmu.php b/src/wp-content/plugins/nextgen-gallery/admin/wpmu.php deleted file mode 100644 index b6db89b..0000000 --- a/src/wp-content/plugins/nextgen-gallery/admin/wpmu.php +++ /dev/null @@ -1,131 +0,0 @@ - -
    -

    If you would like to support the further development, please consider a donation! If you still need some help, please post your questions here .', 'nggallery')); ?> - - - - - -

    -
    -

    '.$messagetext.'

    '; } - - ?> - -
    -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - wp-content/blogs.dir/%BLOG_ID%/files/', __('The default setting should be %s', 'nggallery')); ?> -
    : /> - -
    : /> - -
    : /> - -
    : /> - -
    : /> - -
    : -
    - -
    -
    -
    -
    - - tag in singlepic regex -* Bugfix : Correct format of shutter speed -* Bugfix : Album name in Short code not useable - -= V0.95 - 25.04.2008 = -* Bugfix : Correction in media-upload to fit with Wordpress 2.5.1 -* Bugfix : Attribute_escape all objects in media-upload -* Bugfix : Correct sortorder for albums -* Bugfix : Typo correction (THX to Momo-I) - -= V0.94 - 20.04.2008 = -* Added : New filter option ngg_create_gallery_link -* Changed : Reduce amount of DB queries in albums (Big THX to Alexandr Kindras) -* Changed : Revert wpautop priority change. Doesn't good for other plugins - -= V0.93 - 12.04.2008 = -* Added : Select Full-Size or Singlepic in Media Upload -* Added : Check for minimum 8 MB Memory -* Changed : Priority from wpautop must be before gallery -* Bugfix : Added Screencolor to Widgets -* Bugfix : Clean CSS class in setup.php -* Bugfix : Change PHP short tag (Thx to Archedition) -* Bugfix : Remove tab.png from CSS (Thx to Frisco) -* Bugfix : Remove newline and encode quotes in Media-Upload (THX to Trip Mellinger) - -= V0.92 - 30.03.2008 = -* Changed : Higher priority for filter in WP2.5 final -* Changed : Do not increase memory_limit with ini_set -* Added : Read EXIF field ImageDescription - -= V0.91 - 24.03.2008 = -* Changed : Resample mode back to 3 -* Changed : Add DIV "ngg-singlepic-wrapper" for SingelPic (THX to Travel-Junkie) -* Changed : Increase Tweakfactor for Memory Check -* Bugfix : Use admin.css only on NextGEN pages (THX tp Oliver) -* Bugfix : Updates widgets (V1.21) for ImageRotator 3.15 -* Bugfix : Change order of rewrite rules for WP 2.5 -* Bugfix : Include Dashboard CSS also for page "nextgen-gallery" - -= V0.90 - 18.03.2008 = -* NEW : Sort order for images -* NEW : Updated style for Wp 2.5 -* NEW : Media upload tab integration for WP 2.5 -* Added : Change wp shortcode filter -* Added : TinyMCE V3 Button for WordPress 2.5 -* Added : Singlepic center class -* Changed : New default parameter for ImageRotator 3.15 -* Changed : By default enable metadata import -* Changed : Moved disable/enable flash setting to add gallery -* Changed : wpdb->escape gallerytag in nggfunctions -* Changed : Sort files after scan folder -* Changed : Check for filename during upload -* Changed : Remove jQuery plugin for navigation -* Changed : Remove myGallery import -* Changed : Resample mode default set to 5, causes problems at PHP 4.4.8 /PHP 5.2.4 -* Bugfix : nggextractXML missing stripslashes -* Bugfix : P tags not closed in manage.php -* Bugfix : Remove " from singlepic class -* Bugfix : Rewrite rule for ImageBrowser added - -= V0.83 - 14.02.2008 = -* Changed : New Interfaces.js from WP Core 2.5, for sortable bug under IE7 -* Changed : Update to jQuery V1.2.2, deregister older version from WP -* Changed : Add ini_set 128MB for memory-limit -* Bugfix : SWFUpload Cookie Post_Params are overwritten , no upload possible -* Bugfix : WPMU options are not saved after installation -* Bugfix : Remove Flush rewrite rules during install - -= V0.82 - 09.02.2008 = -* Bugfix : add_filter (searchnggallerytags) not proper included for some other plugins - -= V0.81 - 04.02.2008 = -* Changed : Use stristr first to reduce CPU cycles (THX to Alakhnor) -* Changed : Flush Rewrites rules after option update -* Changed : Rework for folder check under Safe-Mode -* Bugfix : Check for array in get_option() (THX to Alessandro) -* Bugfix : Add Cookie to SWFUpload, show Error code included -* Bugfix : galShowOrder = Sildeshow at first didn't work -* Bugfix : Remove reference from ngg_getOnlyImages - -= V0.80 - 02.02.2008 = -* NEW : SWFUpload integrated : Show upload progress and select multiple files in the file browser dialog. -* NEW : Progress bar for resize, watermark and thumbnail operation -* NEW : Import Meta data from images -* NEW : Show Meta data information -* NEW : Cache option for SinglePic -* NEW : Permalink support -* NEW : Custom fields support - Change the settings for each post/page -* Changed : Up to 10 Widgets, exclude galleries from random/recent images. -* Changed : Refactor permission check for Safe-Mode Check and mkdir/chmod -* Changed : Admin CSS in new folder/file for better structure -* Changed : Clean up folder structure -* Changed : Clean up code in manage.php, functions.php -* Changed : Moved several functions into nggAdmin Class (functions.php) -* Changed : Update to jQuery V1.1.4 (v1.2.1 causes problems with interface.js) -* Changed : Hide used galleries in album admin page -* Changed : Remove float in singlepic code and added class ngg-left , ngg-right (THX to Nathan Sylvain) -* Changed : Edit style setting (added new class .desc , THX to Sebastian) -* Changed : Check for galleryfolder instead name (THX to Luke Poland) -* Changed : Delete images per default -* Changed : Change CSS (ngg-album-compact) , remove width & height setting from code -* Bugfix : Fixed static front page problem -* Bugfix : Missing stripslashes & html_entity_decode -* Bugfix : Change Album CSS (THX to Thomas-DK) -* Bugfix : Watermark for GIF not correct supported -* Bugfix : Missing wp_nonce at setup page -* Bugfix : Add DIV in Slideshow link (for Safari & Opera) -* Added : Screencolor flashvar for JW Image Rotator 3.13 or higher -* Added : Set WP-CHARSET / COLLATE during installation -* Added : Updated to Pclzip.lib.php v2.6 -* Added : CSS ID field for gallery & images -* WPMU : New site admin page (wpmu.php) -* WPMU : Integrated quota check -* WPMU : No update check -* WPMU : Remove edit style (THX to Kristin) -* WPMU : Remove uninstall button -* WPMU : Remove server settings -* WPMU : Gallery path set to blog.dir -* Added : Support for WPMU - -= V0.74 - 01.12.2007 = -* NEW : Added meta reader class, first step to integrated meta data import - -= V0.73 - 20.10.2007 = -* Added : Support for Shutter Reloaded -* Update to jQuery Tabs 2.7.4 -* Changed : Remove $_SERVER['REQUEST_URI'] for IIS compatibility -* Bugfix : Option Sildeshow didn't jump to overview - -= V0.72 - 13.09.2007 = -* Added : Missing overflow:hidden in ngg-album.css -* Added : New experimental stylesheet hovereffect.css -* Changed : Better check for memory limit in zip-files -* Bugfix : Missing stripslashes for alttext (THX to Lawrence) -* Bugfix : Navigation didn't highlight page 1 (THX to Brot) -* Bugfix : Albums automatic minimize if more than 4 galleries -* Bugfix : Missing check_admin_referer in style (THX again to Christopher) - -= V0.71 - 07.09.2007 = -* Added : Add defer="defer" to Slideshow to avoid IE crash (THX to Simbo) -* Bugfix : Bugfix for slideshow to show all pictures -* Bugfix : Wrong check_admin_referer in albums (THX to Christopher) -* Bugfix : No exclude check in counter and widgets (THX to Christopher) -* Bugfix : Check for existing role (THX to Lost in Network) -* Bugfix : Label in roles are wrong (THX to Joern) - -= V0.70 - 06.09.2007 = -* NEW : Add role manager page and capabilities -* NEW : Show gallery with [tags=list of tags] -* NEW : Show album with [albumtags=list of tags] -* NEW : Tag system for all images -* NEW : Option for append related images -* NEW : Option to show description below thumbnail -* NEW : Option to show ImageBrowser instead JS effect -* Added : Add Full size link to thickbox -* Added : Check for page/postid in tag processing -* Added : Sildeshow widget can now contain all images -* Added : Minimize/Maximize option for albums -* Added : Deregister jQuery V1.1.2 for WP2.2 (to use V1.1.3.1) -* Added : Integrate wp_nonce_field at all admin pages -* Changed : Update to Thickbox 3.1 + mods for NextGEN gallery -* Changed : Moved "clear:both" into class "ngg-clear" (THX to Gero) -* Changed : Switched from jQuery Interface to jQuery Tabs from Klaus Hartl -* Remove : Remove option for singlepic link -* Remove : Remove options for imagebrowser -* Bugfix : Most Recent image in Widget are wrong -* Bugfix : More XHTML valid , htmlspecialchars() after add_query_arg() -* Bugfix : Sanitize file name before upload -* Bugfix : Sanitize folder name (THX to Tom Fowler) -* Bugfix : Show title/alt in jQuery plugin (THX to Gregory Green) -* Bugfix : i18n support for Gallery tab -* Bugfix : Reduce memory-needs for plugin -* Bugfix : Typo/spelling correction -* Bugfix : Removed myGallery author from contribute list - -= V0.64 - 31.07.2007 = -* Bugfix : Remove arrows in image browser text -* Bugfix : Include nggadmintab.php with dirname -* Bugfix : Zip-Upload under Mac > look for basename - -= V0.63 - 10.07.2007 = -* NEW : You can now upload a zip file into a existing gallery -* Added : Remove subfolder in Zip-files -* Added : Show required memory for thumbnail creation -* Added : Updated to jQuery.multifile 1.22 -* Added : Install-Upgrade for WordPress 2.3 -* Bugfix : Supress unlink error message for thumbs -* Bugfix : Support upload of zip files from MAC -* Bugfix : Add Stripslash for image description -* Bugfix : Use for Singlepic not rel="Gallery name" -* Bugfix : Moved RSS/Snoopy includes into function - -= V0.62 - 06.07.2007 = -* NEW : Import for myGallery -* Added : Updated to jQuery 1.1.3.1 -* Bugfix : Check for memory_limit setting, otherwise pass the test -* Bugfix : Thumbcode not insert for nggDisplayRandomImages and nggDisplayRecentImages - -= V0.61 - 29.06.2007 = -* Added : Forgot the file jquery.nextgen.pack.js and jquery.nextgen.js - -= V0.60 - 27.06.2007 = -* NEW : Select a image from the Upload Tab -* NEW : Tag [imagebrowser=id] for a Inline Gallery Browser -* NEW : Show gallery without Subpages -* NEW : Manage gallery : Function "Add a new page" -* NEW : Manage gallery : Show/Hide thumbnails -* Added : Slideshow option : Watermark / Background music -* Added : Check for memory limit -* Added : Show actual memory usage in overview -* Added : Include function check in widget -* Added : Latest Sidebar widget from KeViN -* Added : Check for capability during installation -* Changed : Remove P Tag around gallery tags ( THX to the work from John Godley ) -* Bugfix : Delete picture, check for pid -* Bugfix : admin/settings.php line #172: typos corrected (this=these,maxium=maximum). (THX to Helene D.) -* Bugfix : admin/settings.php line #311: missing added. (THX to Helene D.) - -= V0.52 - 31.05.2007 = -* Changed : Create better thubmnails in square mode (THX to Kees de Bruin) -* Changed : Again , fixed ratio create better thumbnails (Also for widescreen photos) -* Removed : Option "Resize image before cropping" removed and included in Create square thumbnail -* Bugfix : Scan folder for new picture didn't set exclude = 0 -* Bugfix : If no option is checked in thumbnails, resize failed (THK to Joern Kretzschmar) - -= V0.51 - 28.05.2007 = -* Bugfix : Thumbnail permission not set correct -* Bugfix : Folder permission check wrong -* Bugfix : Remove echo in album (THX to Lazy) - -= V0.50 - 28.05.2007 = -* NEW : Select multiple files for upload (THX to Diego A., http://www.fyneworks.com) -* NEW : Sidebar widget contain now Slideshow, recent images and random images -* Added : New Option for Imagerotator 3.8 (Slow zoom effect) -* Added : Option for CDATA wrapper (not working proper) -* Added : Option for Thickbox Loading Image -* Added : CSS file for dKret2 (THK to Joern) -* Added : Better file permission check -* Changed : Fixed ratio create better thumbnails in portrait mode -* Changed : All jQuery scripts are now in "No Conflict" mode -* Changed : Script loading now via wp_enqueue_script -* Changed : Add constant values for folder/file permission -* Changed : Use description in -* Bugfix : Remove wrong DIV tag in slideshow -* Bugfix : Tag [Slideshow=id,width,height] didn't work proper -* Bugfix : Name conflict in Album script (serialize) (THX to Die-Andis) -* Bugfix : Changed check for CSS activation -* Bugfix : Changed check for safe-mode (Don't ask) - -= V0.43 - 20.05.2007 = -* Changed : Rename Thumbnail class to avoid php name collision -* Bugfix : Missing translation flag in setup -* Bugfix : Changed check for safe-mode -* Bugfix : Changed check for Zip-File - -= V0.42 - 17.05.2007 = -* Bugfix : Float function for singlepic not integrated, sorry ! -* Bugfix : Remove clear:both in widget - -= V0.41 - 17.05.2007 = -* NEW : Sidebar widget from KeViN -* Update : Better album management for more galleries -* Update : Thickbox v3 integrated -* Added : Float selection for singlepic -* Added : CSS class for widget -* Added : CSS file for K2 theme -* Added : German translation (THX to Lazy) -* Added : Better check for safe-mode -* Added : CSS Class for single-pic : class="ngg-singlepic" -* Added : Option to resize image before cropping it (Setting reset of prior versions needed! Setup -> Reset Settings) -* Changed : Image quality by default 85% (THX to ArizonaGroovejet) -* Bugfix : Update wrong file when select other style -* Bugfix : Fixed Permalink in album (THX to Helene D.) -* Bugfix : Scan folder in empty gallery -* Bugfix : Swfobjects only added with Thickbox effect -* Bugfix : Umlauts are now handled correctly - -= V0.40 - 29.04.2007 = -* NEW : TinyMCE Button integration -* Removed : CSS Style : remove width/height in album - -= V0.39 - 28.04.2007 = -* Added : Set ORDER BY for gallery -* Bugfix : check now for Exclude != 1 -* Bugfix : DB Query in function wrong -* Bugfix : DB exlude = DEFAULT '0' -* Bugfix : Scan folder in empty gallery - -= V0.38 - 28.04.2007 = -* Bugfix : One time more remove get_settings :-) -* Bugfix : $_GET in Manage gallery -* Bugfix : exclude option - -= V0.37 - 28.04.2007 = -* Bugfix : $_GET in Manage gallery -* Bugfix : update DB installation routine - -= V0.36 - 26.04.2007 = -* Bugfix : Stupid PHP beginner failure in album management - -= V0.35 - 26.04.2007 = -* Rework : Folder name can be flexible -* New option : Fullsize pic for Singlepic mode -* New option : Select show order -* Added : Check for WP2.1 -* Added : Check for permission for default folder -* Bugfix : Remove get_settings -* Bugfix : Correction for Safe-Mode ON -* Bugfix : Set Default '0' for table album.sortorder -* Bugfix : Update sort order - -= V0.34 - 24.04.2007 = -* Added : Add fix ration setting -* Added : Add language file file -* Bugfix : Change link in Album to get_bloginfo('wpurl') -* Bugfix : Album CSS file not loaded - -= V0.33 - 23.04.2007 = -* NEW : Overview Page -* NEW : Core function -* NEW : Slideshow \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/css/Black_Minimalism.css b/src/wp-content/plugins/nextgen-gallery/css/Black_Minimalism.css deleted file mode 100644 index aeaf40a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/Black_Minimalism.css +++ /dev/null @@ -1,375 +0,0 @@ -/* -CSS Name: Black Minimalism Theme -Description: For Black Minimalism Theme -Author: Alex Rabe -Version: 1.60 - -This is a template stylesheet that can be used with NextGEN Gallery. I tested the -styles with a default theme Kubrick. Modify it when your theme struggle with it, -it's only a template design - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - /*height: 130px;*/ - overflow:hidden; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #cccccc; -} - -.ngg-albumtitle { - text-align: left; - font-weight: bold; - margin:0px; - padding:0px; - font-size: 1.4em; - margin-bottom: 10px; -} - -.ngg-thumbnail { - float: left; - margin: 0pt !important; - margin-right: 12px !important; -} - -.ngg-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - margin:4px 0px 4px 5px; - padding:4px; - position:relative; -} - -.ngg-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px; - margin-top:0px; - width:110px; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - overflow: hidden; - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-gallery-thumbnail-box { - float: left; - width: 20%; -} - -.ngg-gallery-thumbnail { - float: left; - background: url(shadowAlpha.png) no-repeat bottom right !important; - background: url(shadow.gif) no-repeat bottom right; - margin: 10px 0 0 10px !important; -} - -.ngg-gallery-thumbnail img { - margin: -6px 6px 6px -6px; - background-color:#FFFFFF; - border:1px solid #A9A9A9; - display:block; - padding:4px; - position:relative; -} - -.ngg-gallery-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-gallery-thumbnail span { - /* Images description */ - font-size:90%; - padding-left:5px; - display:block; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #660000; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #660000; - color: #FFFFFF; - text-decoration: none; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; -} - -.ngg-imagebrowser img { - border:1px solid #A9A9A9; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - display:block !important; - padding:5px; -} - -.ngg-imagebrowser-nav { - padding:5px; - margin-left:10px; -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - display:block; - padding:4px; -} - -.ngg-left { - float: left; - margin-right:10px; -} - -.ngg-right { - float: right; - margin-left:10px; -} - -.ngg-center { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Sidebar widget -------------*/ -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 2px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} - -/* ----------- Gallery list -------------*/ - -.ngg-galleryoverview ul li:before { - content: '' !important; -} - -.ngg-gallery-list { - list-style-type:none; - padding: 0px !important; - text-indent:0px !important; -} - -.ngg-galleryoverview div.pic img{ - width: 100%; -} - -.ngg-gallery-list li { - float:left; - margin:0 2px 0px 2px !important; - overflow:hidden; -} - -.ngg-gallery-list li a { - border:1px solid #CCCCCC; - display:block; - padding:2px; -} - -.ngg-gallery-list li.selected a{ - -moz-background-clip:border; - -moz-background-inline-policy:continuous; - -moz-background-origin:padding; - background:#000000 none repeat scroll 0 0; -} - -.ngg-gallery-list li img { - height:40px; - width:40px; -} - -li.ngg-next, li.ngg-prev { - height:40px; - width:40px; - font-size:3.5em; -} - -li.ngg-next a, li.ngg-prev a { - padding-top: 10px; - border: none; - text-decoration: none; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/css/albumset.gif b/src/wp-content/plugins/nextgen-gallery/css/albumset.gif deleted file mode 100644 index 8dc3d4e..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/css/albumset.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/css/hovereffect.css b/src/wp-content/plugins/nextgen-gallery/css/hovereffect.css deleted file mode 100644 index 098503e..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/hovereffect.css +++ /dev/null @@ -1,425 +0,0 @@ -/* -CSS Name: Hovereffect Styles -Description: Hover Stylesheet based on the idea of Hoverbox from http://host.sonspring.com/hoverbox/ -Author: Alex Rabe - Orginal by Nathan Smith -Version: 1.60 - -This is a template stylesheet which doesn't support description below the thumbnails. It's a experimental version. - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - overflow: hidden; - padding: 5px; - margin-bottom: 5px; -} - -.ngg-albumtitle { - border-bottom:1px dashed #AAAAAA; - text-align: left; - font-weight: bold; - margin:0px; - padding-bottom: 3px; - font-size: 1.4em; - margin-bottom: 10px; -} - -.ngg-thumbnail { - float: left; - margin-right: 12px; - background:#EEEEEE none repeat scroll 0% 50%; - border-color:#DDDDDD rgb(187, 187, 187) rgb(170, 170, 170) rgb(204, 204, 204); - border-style:solid; - border-width:1px; - color:inherit; - margin-right: 5px; - padding:5px; -} - -.ngg-thumbnail img { - filter: alpha(opacity=100); - -moz-opacity: .99; - opacity: .99; - background:#FFFFFF none repeat scroll 0%; - border-color:#AAAAAA rgb(204, 204, 204) rgb(221, 221, 221) rgb(187, 187, 187); - border-style:solid; - border-width:1px; - color:inherit; - padding:2px; - vertical-align:top; -} - -.ngg-thumbnail img:hover { - filter: alpha(opacity=90); - -moz-opacity: .9; - opacity: .9; - border-color:#000000; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px; - margin-top:0px; - width:110px; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - overflow: hidden; - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-gallery-thumbnail-box { - float: left; - background:#EEEEEE none repeat scroll 0% 50%; - border-color:#DDDDDD rgb(187, 187, 187) rgb(170, 170, 170) rgb(204, 204, 204); - border-style:solid; - border-width:1px; - color:inherit; - display:inline; - margin:3px; - padding:5px; - position:relative; -} - -.ngg-gallery-thumbnail { - float: left; -} - -.ngg-gallery-thumbnail img { - filter: alpha(opacity=100); - -moz-opacity: .99; - opacity: .99; - background:#FFFFFF none repeat scroll 0%; - border-color:#AAAAAA rgb(204, 204, 204) rgb(221, 221, 221) rgb(187, 187, 187); - border-style:solid; - border-width:1px; - color:inherit; - padding:2px; - vertical-align:top; -} - -.ngg-gallery-thumbnail img:hover { - filter: alpha(opacity=90); - -moz-opacity: .9; - opacity: .9; - border-color:#000000; -} - -.ngg-gallery-thumbnail span { - /* Images description */ - font-size:90%; - padding-left:5px; - display:block; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; - -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #0066CC; - color: #FFFFFF !important; - text-decoration: none !important; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; - padding-bottom:10px; -} - -.ngg-imagebrowser .pic { - background:#EEEEEE none repeat scroll 0% 50%; - border-color:#DDDDDD rgb(187, 187, 187) rgb(170, 170, 170) rgb(204, 204, 204); - border-style:solid; - border-width:1px; - color:inherit; - display:block; - padding:10px; -} - -.ngg-imagebrowser img { - width: 100%; - margin: -3px; - background:#FFFFFF none repeat scroll 0%; - border-color:#AAAAAA rgb(204, 204, 204) rgb(221, 221, 221) rgb(187, 187, 187); - border-style:solid; - border-width:1px; - color:inherit; - padding:2px; - vertical-align:top; -} - -.ngg-imagebrowser-nav { - padding:10px; - margin-left:10px; - -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .back:hover, -.ngg-imagebrowser-nav .next:hover { - border:1px solid #000000; -} - -.ngg-imagebrowser-nav .back a:hover, -.ngg-imagebrowser-nav .next a:hover { - text-decoration: none !important; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - background-color:#FFFFFF; - display:block; - padding:4px; -} - -.ngg-left { - float: left; - margin-right:10px; -} - -.ngg-right { - float: right; - margin-left:10px; -} - -.ngg-center { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Sidebar widget -------------*/ -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 3px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} - -/* ----------- Gallery list -------------*/ - -.ngg-galleryoverview ul li:before { - content: '' !important; -} - -.ngg-gallery-list { - list-style-type:none; - padding: 0px !important; - text-indent:0px !important; -} - -.ngg-galleryoverview div.pic img{ - width: 100%; -} - -.ngg-gallery-list li { - float:left; - margin:0 2px 0px 2px !important; - overflow:hidden; -} - -.ngg-gallery-list li a { - border:1px solid #CCCCCC; - display:block; - padding:2px; -} - -.ngg-gallery-list li.selected a{ - -moz-background-clip:border; - -moz-background-inline-policy:continuous; - -moz-background-origin:padding; - background:#000000 none repeat scroll 0 0; -} - -.ngg-gallery-list li img { - height:40px; - width:40px; -} - -li.ngg-next, li.ngg-prev { - height:40px; - width:40px; - font-size:3.5em; -} - -li.ngg-next a, li.ngg-prev a { - padding-top: 10px; - border: none; - text-decoration: none; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/css/ngg_dkret3.css b/src/wp-content/plugins/nextgen-gallery/css/ngg_dkret3.css deleted file mode 100644 index c32cf31..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/ngg_dkret3.css +++ /dev/null @@ -1,318 +0,0 @@ -/* -CSS Name: dkret3 Theme -Description: NextGEN dkret3 style with a shadow effect -Author: Jörn Kretzschmar (based on Alex Rabes Default Style) -Version: 1.3 - -This is a template stylesheet that can be used with NextGEN Gallery. I tested the -styles with the theme dkret3. Modify it when your theme struggle with it, -it's only a template design - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - height: 100%; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #cccccc; - overflow:hidden; -} - -.ngg-albumtitle { - text-align: left; - font-weight: bold; - margin:0px; - padding:0px; - font-size: 1.4em; - margin-bottom: 10px; -} - -.ngg-thumbnail { - float: left; - margin-right: 12px; -} - -.ngg-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - margin:4px 0px 4px 5px; - padding:4px; - position:relative; -} - -.ngg-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px; - margin-top:0px; - width:110px; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-gallery-thumbnail-box { - float: left; -} - -.ngg-gallery-thumbnail { - float: left; - background: url(shadowAlpha.png) no-repeat bottom right !important; - background: url(shadow.gif) no-repeat bottom right; - margin: 10px 0 0 10px !important; -} - -.ngg-gallery-thumbnail img { - margin: -6px 6px 6px -6px; - background-color:#FFFFFF; - border:1px solid #A9A9A9; - display:block; - padding:4px; - position:relative; -} - -.ngg-gallery-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-gallery-thumbnail span { - display:none; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #0066CC; - color: #FFFFFF !important; - text-decoration: none !important; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; -} - -.ngg-imagebrowser img { - border:1px solid #A9A9A9; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - display:block !important; - padding:5px; -} - -.ngg-imagebrowser-nav { - padding:5px; - margin-left:10px; -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - background-color:#FFFFFF; - display:block; - padding:4px; -} - -.ngg-left { - float: left; -} - -.ngg-right { - float: right; -} - -.ngg-center { - margin-left: auto; - margin-right: auto; -} - -/* ----------- Sidebar widget -------------*/ - -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; - text-align: center; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 3px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} diff --git a/src/wp-content/plugins/nextgen-gallery/css/ngg_k2.css b/src/wp-content/plugins/nextgen-gallery/css/ngg_k2.css deleted file mode 100644 index 8e4baa1..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/ngg_k2.css +++ /dev/null @@ -1,330 +0,0 @@ -/* -CSS Name: K2 Theme -Description: NextGEN Style for K2 Theme -Author: Alex Rabe -Version: 1.60 - -This is a template stylesheet that can be used with NextGEN Gallery. I tested the -styles with a default theme Kubrick. Modify it when your theme struggle with it, -it's only a template design - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin: 10px 0px 0px 0px !important; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - /*height: 130px;*/ - overflow:hidden; - margin: 0px 0px 5px !important; - padding: 5px; - border: 1px solid #cccccc; -} - -.ngg-albumtitle { - text-align: left; - font-weight: bold; - padding:0px; - font-size: 1.4em; - margin: 0px 0px 10px 0px !important; -} - -.ngg-albumcontent { - margin: 0px !important; -} - -.ngg-thumbnail { - margin:0px 12px 0px 0px !important; - float: left; -} - -.ngg-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - margin:4px 0px 4px 5px !important; - padding:4px; - position:relative; -} - -.ngg-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - -.ngg-album-link { - margin:0px !important; -} - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px !important; - margin-top:0px !important; - width:110px; - padding:0px !important; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-gallery-thumbnail-box { - margin:0px !important; - float: left; -} - -.ngg-gallery-thumbnail { - float: left; - background: url(shadowAlpha.png) no-repeat bottom right !important; - background: url(shadow.gif) no-repeat bottom right; - margin: 10px 0 0 10px !important; -} - -.ngg-gallery-thumbnail img { - margin: -6px 6px 6px -6px !important; - background-color:#FFFFFF; - border:1px solid #A9A9A9; - display:block; - padding:4px; - position:relative; -} - -.ngg-gallery-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-gallery-thumbnail span { - /* Images description */ - font-size:90%; - padding-left:5px; - display:block; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #0066CC; - color: #FFFFFF; - text-decoration: none; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; -} - -.ngg-imagebrowser img { - border:1px solid #A9A9A9; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - display:block !important; - padding:5px; -} - -.ngg-imagebrowser-nav { - padding:5px; - margin-left:10px; -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - background-color:#FFFFFF; - display:block; - padding:4px; -} - -.ngg-left { - float: left; - margin-right:10px; -} - -.ngg-right { - float: right; - margin-left:10px; -} - -.ngg-center { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Sidebar widget -------------*/ -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; - text-align:left; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 2px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} diff --git a/src/wp-content/plugins/nextgen-gallery/css/ngg_shadow.css b/src/wp-content/plugins/nextgen-gallery/css/ngg_shadow.css deleted file mode 100644 index 23c5064..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/ngg_shadow.css +++ /dev/null @@ -1,371 +0,0 @@ -/* -CSS Name: Shadow Effect -Description: NextGEN Default Style with a Shadow effect -Author: Alex Rabe -Version: 1.60 - -This is a template stylesheet that can be used with NextGEN Gallery. I tested the -styles with a default theme Kubrick. Modify it when your theme struggle with it, -it's only a template design - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - /*height: 130px;*/ - padding: 5px; - margin-bottom: 5px; - border: 1px solid #cccccc; - overflow:hidden; -} - -.ngg-albumtitle { - text-align: left; - font-weight: bold; - margin:0px; - padding:0px; - font-size: 1.4em; - margin-bottom: 10px; -} - -.ngg-thumbnail { - float: left; - margin-right: 12px; -} - -.ngg-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - margin:4px 0px 4px 5px; - padding:4px; - position:relative; -} - -.ngg-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px; - margin-top:0px; - width:110px; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-gallery-thumbnail-box { - float: left; -} - -.ngg-gallery-thumbnail { - float: left; - background: url(shadowAlpha.png) no-repeat bottom right !important; - background: url(shadow.gif) no-repeat bottom right; - margin: 10px 0 0 10px !important; -} - -.ngg-gallery-thumbnail img { - margin: -6px 6px 6px -6px; - background-color:#FFFFFF; - border:1px solid #A9A9A9; - display:block; - padding:4px; - position:relative; -} - -.ngg-gallery-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-gallery-thumbnail span { - display:none; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #0066CC; - color: #FFFFFF !important; - text-decoration: none !important; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; -} - -.ngg-imagebrowser img { - border:1px solid #A9A9A9; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - display:block !important; - padding:5px; -} - -.ngg-imagebrowser-nav { - padding:5px; - margin-left:10px; -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - background-color:#FFFFFF; - display:block; - padding:4px; -} - -.ngg-left { - float: left; - margin-right:10px; -} - -.ngg-right { - float: right; - margin-left:10px; -} - -.ngg-center { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Sidebar widget -------------*/ - -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 3px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} - -/* ----------- Gallery list -------------*/ - -.ngg-galleryoverview ul li:before { - content: '' !important; -} - -.ngg-gallery-list { - list-style-type:none; - padding: 0px !important; - text-indent:0px !important; -} - -.ngg-galleryoverview div.pic img{ - width: 100%; -} - -.ngg-gallery-list li { - float:left; - margin:0 2px 0px 2px !important; - overflow:hidden; -} - -.ngg-gallery-list li a { - border:1px solid #CCCCCC; - display:block; - padding:2px; -} - -.ngg-gallery-list li.selected a{ - -moz-background-clip:border; - -moz-background-inline-policy:continuous; - -moz-background-origin:padding; - background:#000000 none repeat scroll 0 0; -} - -.ngg-gallery-list li img { - height:40px; - width:40px; -} - -li.ngg-next, li.ngg-prev { - height:40px; - width:40px; - font-size:3.5em; -} - -li.ngg-next a, li.ngg-prev a { - padding-top: 10px; - border: none; - text-decoration: none; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/css/ngg_shadow2.css b/src/wp-content/plugins/nextgen-gallery/css/ngg_shadow2.css deleted file mode 100644 index 84ce1bf..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/ngg_shadow2.css +++ /dev/null @@ -1,379 +0,0 @@ -/* -CSS Name: Shadow Effect with Description text -Description: NextGEN Default Style with a Shadow effect and description text below the thumbnail -Author: Alex Rabe -Version: 1.60 - -This is a template stylesheet that can be used with NextGEN Gallery. I tested the -styles with a default theme Kubrick. Modify it when your theme struggle with it, -it's only a template design - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - /*height: 130px;*/ - padding: 5px; - margin-bottom: 5px; - border: 1px solid #cccccc; - overflow:hidden; -} - -.ngg-albumtitle { - text-align: left; - font-weight: bold; - margin:0px; - padding:0px; - font-size: 1.4em; - margin-bottom: 10px; -} - -.ngg-thumbnail { - float: left; - margin-right: 12px; -} - -.ngg-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - margin:4px 0px 4px 5px; - padding:4px; - position:relative; -} - -.ngg-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px; - margin-top:0px; - width:110px; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-gallery-thumbnail-box { - float: left; -} - -.ngg-gallery-thumbnail { - float: left; - background: url(shadowAlpha.png) no-repeat bottom right !important; - background: url(shadow.gif) no-repeat bottom right; - margin: 10px 0 0 10px !important; - padding:10px 15px 10px 15px; - border-color:#EEEEEE; - border-style:solid none none solid; - border-width:1px medium medium 1px; -} - -.ngg-gallery-thumbnail img { - margin: -6px 6px 6px -6px; - background-color:#FFFFFF; - border:1px solid #A9A9A9; - display:block; - padding:4px; - position:relative; -} - -.ngg-gallery-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-gallery-thumbnail span { - margin: -6px 6px 6px -6px; - text-align:center; - font-size:90%; - color:#808080; - display:block; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #0066CC; - color: #FFFFFF !important; - text-decoration: none !important; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; -} - -.ngg-imagebrowser img { - border:1px solid #A9A9A9; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - display:block !important; - padding:5px; -} - -.ngg-imagebrowser-nav { - padding:5px; - margin-left:10px; -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - background-color:#FFFFFF; - display:block; - padding:4px; -} - -.ngg-left { - float: left; - margin-right:10px; -} - -.ngg-right { - float: right; - margin-left:10px; -} - -.ngg-center { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Sidebar widget -------------*/ - -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 3px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} - -/* ----------- Gallery list -------------*/ - -.ngg-galleryoverview ul li:before { - content: '' !important; -} - -.ngg-gallery-list { - list-style-type:none; - padding: 0px !important; - text-indent:0px !important; -} - -.ngg-galleryoverview div.pic img{ - width: 100%; -} - -.ngg-gallery-list li { - float:left; - margin:0 2px 0px 2px !important; - overflow:hidden; -} - -.ngg-gallery-list li a { - border:1px solid #CCCCCC; - display:block; - padding:2px; -} - -.ngg-gallery-list li.selected a{ - -moz-background-clip:border; - -moz-background-inline-policy:continuous; - -moz-background-origin:padding; - background:#000000 none repeat scroll 0 0; -} - -.ngg-gallery-list li img { - height:40px; - width:40px; -} - -li.ngg-next, li.ngg-prev { - height:40px; - width:40px; - font-size:3.5em; -} - -li.ngg-next a, li.ngg-prev a { - padding-top: 10px; - border: none; - text-decoration: none; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/css/nggallery.css b/src/wp-content/plugins/nextgen-gallery/css/nggallery.css deleted file mode 100644 index de9c4b4..0000000 --- a/src/wp-content/plugins/nextgen-gallery/css/nggallery.css +++ /dev/null @@ -1,396 +0,0 @@ -/* -CSS Name: Default Styles -Description: NextGEN Default Gallery Stylesheet -Author: Alex Rabe -Version: 2.10 - -This is a template stylesheet that can be used with NextGEN Gallery. I tested the -styles with a default theme Kubrick. Modify it when your theme struggle with it, -it's only a template design - -*/ - -/* ----------- Album Styles Extend -------------*/ - -.ngg-albumoverview { - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-album { - height: 100%; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #fff; -} - -/* IE6 will ignore this , again I hate IE6 */ -/* See also http://www.sitepoint.com/article/browser-specific-css-hacks */ -html>body .ngg-album { - overflow:hidden; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #cccccc; -} - -.ngg-album { - overflow: hidden; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #cccccc; -} - -.ngg-albumtitle { - text-align: left; - font-weight: bold; - margin:0px; - padding:0px; - font-size: 1.4em; - margin-bottom: 10px; -} - -.ngg-thumbnail { - float: left; - margin-right: 12px; -} - -.ngg-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - margin:4px 0px 4px 5px; - padding:4px; - position:relative; -} - -.ngg-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-description { - text-align: left; -} - -/* ----------- Album Styles Compact -------------*/ - -.ngg-album-compact { - float:left; - height:180px; - padding-right:6px !important; - margin:0px !important; - text-align:left; - width:120px; -} - -.ngg-album-compactbox { - background:transparent url(albumset.gif) no-repeat scroll 0%; - height:86px; - margin:0pt 0pt 6px !important; - padding:12px 0pt 0pt 7px !important; - width:120px; -} - - -.ngg-album-compactbox .Thumb { - border:1px solid #000000; - margin:0px !important; - padding:0px !important; - width:91px; - height:68px; -} - -.ngg-album-compact h4 { - font-size:15px; - font-weight:bold; - margin-bottom:0px; - margin-top:0px; - width:110px; -} - -.ngg-album-compact p { - font-size:11px; - margin-top:2px; -} - -/* ----------- Gallery style -------------*/ - -.ngg-galleryoverview { - overflow: hidden; - margin-top: 10px; - width: 100%; - clear:both; - display:block !important; -} - -.ngg-galleryoverview .desc { -/* required for description */ - margin:0px 10px 10px 0px; - padding:5px; -} - -.ngg-gallery-thumbnail-box { - float: left; -} - -.ngg-gallery-thumbnail { - float: left; - margin-right: 5px; - text-align: center; -} - -.ngg-gallery-thumbnail img { - background-color:#FFFFFF; - border:1px solid #A9A9A9; - display:block; - margin:4px 0px 4px 5px; - padding:4px; - position:relative; -} - -.ngg-gallery-thumbnail img:hover { - background-color: #A9A9A9; -} - -.ngg-gallery-thumbnail span { - /* Images description */ - font-size:90%; - padding-left:5px; - display:block; -} - -.ngg-clear { - clear: both; -} - -/* ----------- Gallery navigation -------------*/ - -.ngg-navigation { - font-size:0.9em !important; - clear:both !important; - display:block !important; - padding-top:15px; - text-align:center; - -} - -.ngg-navigation span { - font-weight:bold; - margin:0pt 6px; -} - -.ngg-navigation a.page-numbers, -.ngg-navigation a.next, -.ngg-navigation a.prev, -.ngg-navigation span.page-numbers, -.ngg-navigation span.next, -.ngg-navigation span.prev { - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-navigation a.page-numbers:hover, -.ngg-navigation a.next:hover, -.ngg-navigation a.prev:hover, -.ngg-navigation span.page-numbers:hover, -.ngg-navigation span.next:hover, -.ngg-navigation span.prev:hover { - background-color: #0066CC; - color: #FFFFFF !important; - text-decoration: none !important; -} - -/* ----------- Image browser style -------------*/ - -.ngg-imagebrowser { - -} - -.ngg-imagebrowser h3 { - text-align:center; -} - -.ngg-imagebrowser img { - border:1px solid #A9A9A9; - margin-top: 10px; - margin-bottom: 10px; - width: 100%; - display:block !important; - padding:5px; -} - -.ngg-imagebrowser-nav { - padding:5px; - margin-left:10px; -} - -.ngg-imagebrowser-nav .back { - float:left; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .next { - float:right; - border:1px solid #DDDDDD; - margin-right:3px; - padding:3px 7px; -} - -.ngg-imagebrowser-nav .counter { - text-align:center; - font-size:0.9em !important; -} - -.exif-data { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Slideshow -------------*/ -.slideshow { - margin-left: auto; - margin-right: auto; - text-align:center; - outline: none; -} - -.slideshowlink { - -} - -/* ----------- JS Slideshow -------------*/ -.ngg-slideshow { - overflow:hidden; - position: relative; -} - -.ngg-slideshow * { - vertical-align:middle; -} - -/* See also : http://www.brunildo.org/test/img_center.html */ -.ngg-slideshow-loader{ - display: table-cell; - text-align: center; - vertical-align:middle; -} - -.ngg-slideshow-loader img{ - background: none !important; - border: 0 none !important; - margin:auto !important; -} - -/* ----------- Single picture -------------*/ -.ngg-singlepic { - background-color:#FFFFFF; - display:block; - padding:4px; -} - -.ngg-left { - float: left; - margin-right:10px; -} - -.ngg-right { - float: right; - margin-left:10px; -} - -.ngg-center { - margin-left: auto !important; - margin-right: auto !important; -} - -/* ----------- Sidebar widget -------------*/ -.ngg-widget, -.ngg-widget-slideshow { - overflow: hidden; - margin:0pt; - padding:5px 0px 0px 0pt; - text-align:left; -} - -.ngg-widget img { - border:2px solid #A9A9A9; - margin:0pt 2px 2px 0px; - padding:1px; -} - -/* ----------- Related images -------------*/ -.ngg-related-gallery { - background:#F9F9F9; - border:1px solid #E0E0E0; - overflow:hidden; - margin-bottom:1em; - margin-top:1em; - padding:5px; -} -.ngg-related-gallery img { - border: 1px solid #DDDDDD; - float: left; - margin: 0pt 3px; - padding: 2px; - height: 50px; - width: 50px; -} - -.ngg-related-gallery img:hover { - border: 1px solid #000000; -} - -/* ----------- Gallery list -------------*/ - -.ngg-galleryoverview ul li:before { - content: '' !important; -} - -.ngg-gallery-list { - list-style-type:none; - padding: 0px !important; - text-indent:0px !important; -} - -.ngg-galleryoverview div.pic img{ - width: 100%; -} - -.ngg-gallery-list li { - float:left; - margin:0 2px 0px 2px !important; - overflow:hidden; -} - -.ngg-gallery-list li a { - border:1px solid #CCCCCC; - display:block; - padding:2px; -} - -.ngg-gallery-list li.selected a{ - -moz-background-clip:border; - -moz-background-inline-policy:continuous; - -moz-background-origin:padding; - background:#000000 none repeat scroll 0 0; -} - -.ngg-gallery-list li img { - height:40px; - width:40px; -} - -li.ngg-next, li.ngg-prev { - height:40px; - width:40px; - font-size:3.5em; -} - -li.ngg-next a, li.ngg-prev a { - padding-top: 10px; - border: none; - text-decoration: none; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/css/shadow.gif b/src/wp-content/plugins/nextgen-gallery/css/shadow.gif deleted file mode 100644 index af7f537..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/css/shadow.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/css/shadowAlpha.png b/src/wp-content/plugins/nextgen-gallery/css/shadowAlpha.png deleted file mode 100644 index a2561df..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/css/shadowAlpha.png and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/fonts/arial.ttf b/src/wp-content/plugins/nextgen-gallery/fonts/arial.ttf deleted file mode 100644 index 886789b..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/fonts/arial.ttf and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/images/ajax-loader.gif b/src/wp-content/plugins/nextgen-gallery/images/ajax-loader.gif deleted file mode 100644 index d0bce15..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/images/ajax-loader.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/images/loader.gif b/src/wp-content/plugins/nextgen-gallery/images/loader.gif deleted file mode 100644 index 0ca7ada..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/images/loader.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/images/mrss-icon.gif b/src/wp-content/plugins/nextgen-gallery/images/mrss-icon.gif deleted file mode 100644 index e022fbd..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/images/mrss-icon.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/images/piclens.gif b/src/wp-content/plugins/nextgen-gallery/images/piclens.gif deleted file mode 100644 index c96671f..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/images/piclens.gif and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/index.html b/src/wp-content/plugins/nextgen-gallery/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/src/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.js b/src/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.js deleted file mode 100644 index edc3fc2..0000000 --- a/src/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.js +++ /dev/null @@ -1,1331 +0,0 @@ -/*! - * jQuery Cycle Plugin (with Transition Definitions) - * Examples and documentation at: http://jquery.malsup.com/cycle/ - * Copyright (c) 2007-2010 M. Alsup - * Version: 2.88 (08-JUN-2010) - * Dual licensed under the MIT and GPL licenses. - * http://jquery.malsup.com/license.html - * Requires: jQuery v1.2.6 or later - */ -;(function($) { - -var ver = '2.88'; - -// if $.support is not defined (pre jQuery 1.3) add what I need -if ($.support == undefined) { - $.support = { - opacity: !($.browser.msie) - }; -} - -function debug(s) { - if ($.fn.cycle.debug) - log(s); -} -function log() { - if (window.console && window.console.log) - window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' ')); -}; - -// the options arg can be... -// a number - indicates an immediate transition should occur to the given slide index -// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc) -// an object - properties to control the slideshow -// -// the arg2 arg can be... -// the name of an fx (only used in conjunction with a numeric value for 'options') -// the value true (only used in first arg == 'resume') and indicates -// that the resume should occur immediately (not wait for next timeout) - -$.fn.cycle = function(options, arg2) { - var o = { s: this.selector, c: this.context }; - - // in 1.3+ we can fix mistakes with the ready state - if (this.length === 0 && options != 'stop') { - if (!$.isReady && o.s) { - log('DOM not ready, queuing slideshow'); - $(function() { - $(o.s,o.c).cycle(options,arg2); - }); - return this; - } - // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() - log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); - return this; - } - - // iterate the matched nodeset - return this.each(function() { - var opts = handleArguments(this, options, arg2); - if (opts === false) - return; - - opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink; - - // stop existing slideshow for this container (if there is one) - if (this.cycleTimeout) - clearTimeout(this.cycleTimeout); - this.cycleTimeout = this.cyclePause = 0; - - var $cont = $(this); - var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children(); - var els = $slides.get(); - if (els.length < 2) { - log('terminating; too few slides: ' + els.length); - return; - } - - var opts2 = buildOptions($cont, $slides, els, opts, o); - if (opts2 === false) - return; - - var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.rev); - - // if it's an auto slideshow, kick it off - if (startTime) { - startTime += (opts2.delay || 0); - if (startTime < 10) - startTime = 10; - debug('first timeout: ' + startTime); - this.cycleTimeout = setTimeout(function(){go(els,opts2,0,(!opts2.rev && !opts.backwards))}, startTime); - } - }); -}; - -// process the args that were passed to the plugin fn -function handleArguments(cont, options, arg2) { - if (cont.cycleStop == undefined) - cont.cycleStop = 0; - if (options === undefined || options === null) - options = {}; - if (options.constructor == String) { - switch(options) { - case 'destroy': - case 'stop': - var opts = $(cont).data('cycle.opts'); - if (!opts) - return false; - cont.cycleStop++; // callbacks look for change - if (cont.cycleTimeout) - clearTimeout(cont.cycleTimeout); - cont.cycleTimeout = 0; - $(cont).removeData('cycle.opts'); - if (options == 'destroy') - destroy(opts); - return false; - case 'toggle': - cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1; - checkInstantResume(cont.cyclePause, arg2, cont); - return false; - case 'pause': - cont.cyclePause = 1; - return false; - case 'resume': - cont.cyclePause = 0; - checkInstantResume(false, arg2, cont); - return false; - case 'prev': - case 'next': - var opts = $(cont).data('cycle.opts'); - if (!opts) { - log('options not found, "prev/next" ignored'); - return false; - } - $.fn.cycle[options](opts); - return false; - default: - options = { fx: options }; - }; - return options; - } - else if (options.constructor == Number) { - // go to the requested slide - var num = options; - options = $(cont).data('cycle.opts'); - if (!options) { - log('options not found, can not advance slide'); - return false; - } - if (num < 0 || num >= options.elements.length) { - log('invalid slide index: ' + num); - return false; - } - options.nextSlide = num; - if (cont.cycleTimeout) { - clearTimeout(cont.cycleTimeout); - cont.cycleTimeout = 0; - } - if (typeof arg2 == 'string') - options.oneTimeFx = arg2; - go(options.elements, options, 1, num >= options.currSlide); - return false; - } - return options; - - function checkInstantResume(isPaused, arg2, cont) { - if (!isPaused && arg2 === true) { // resume now! - var options = $(cont).data('cycle.opts'); - if (!options) { - log('options not found, can not resume'); - return false; - } - if (cont.cycleTimeout) { - clearTimeout(cont.cycleTimeout); - cont.cycleTimeout = 0; - } - go(options.elements, options, 1, (!opts.rev && !opts.backwards)); - } - } -}; - -function removeFilter(el, opts) { - if (!$.support.opacity && opts.cleartype && el.style.filter) { - try { el.style.removeAttribute('filter'); } - catch(smother) {} // handle old opera versions - } -}; - -// unbind event handlers -function destroy(opts) { - if (opts.next) - $(opts.next).unbind(opts.prevNextEvent); - if (opts.prev) - $(opts.prev).unbind(opts.prevNextEvent); - - if (opts.pager || opts.pagerAnchorBuilder) - $.each(opts.pagerAnchors || [], function() { - this.unbind().remove(); - }); - opts.pagerAnchors = null; - if (opts.destroy) // callback - opts.destroy(opts); -}; - -// one-time initialization -function buildOptions($cont, $slides, els, options, o) { - // support metadata plugin (v1.0 and v2.0) - var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {}); - if (opts.autostop) - opts.countdown = opts.autostopCount || els.length; - - var cont = $cont[0]; - $cont.data('cycle.opts', opts); - opts.$cont = $cont; - opts.stopCount = cont.cycleStop; - opts.elements = els; - opts.before = opts.before ? [opts.before] : []; - opts.after = opts.after ? [opts.after] : []; - opts.after.unshift(function(){ opts.busy=0; }); - - // push some after callbacks - if (!$.support.opacity && opts.cleartype) - opts.after.push(function() { removeFilter(this, opts); }); - if (opts.continuous) - opts.after.push(function() { go(els,opts,0,(!opts.rev && !opts.backwards)); }); - - saveOriginalOpts(opts); - - // clearType corrections - if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) - clearTypeFix($slides); - - // container requires non-static position so that slides can be position within - if ($cont.css('position') == 'static') - $cont.css('position', 'relative'); - if (opts.width) - $cont.width(opts.width); - if (opts.height && opts.height != 'auto') - $cont.height(opts.height); - - if (opts.startingSlide) - opts.startingSlide = parseInt(opts.startingSlide); - else if (opts.backwards) - opts.startingSlide = els.length - 1; - - // if random, mix up the slide array - if (opts.random) { - opts.randomMap = []; - for (var i = 0; i < els.length; i++) - opts.randomMap.push(i); - opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); - opts.randomIndex = 1; - opts.startingSlide = opts.randomMap[1]; - } - else if (opts.startingSlide >= els.length) - opts.startingSlide = 0; // catch bogus input - opts.currSlide = opts.startingSlide || 0; - var first = opts.startingSlide; - - // set position and zIndex on all the slides - $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { - var z; - if (opts.backwards) - z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i; - else - z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i; - $(this).css('z-index', z) - }); - - // make sure first slide is visible - $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case - removeFilter(els[first], opts); - - // stretch slides - if (opts.fit && opts.width) - $slides.width(opts.width); - if (opts.fit && opts.height && opts.height != 'auto') - $slides.height(opts.height); - - // stretch container - var reshape = opts.containerResize && !$cont.innerHeight(); - if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9 - var maxw = 0, maxh = 0; - for(var j=0; j < els.length; j++) { - var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight(); - if (!w) w = e.offsetWidth || e.width || $e.attr('width') - if (!h) h = e.offsetHeight || e.height || $e.attr('height'); - maxw = w > maxw ? w : maxw; - maxh = h > maxh ? h : maxh; - } - if (maxw > 0 && maxh > 0) - $cont.css({width:maxw+'px',height:maxh+'px'}); - } - - if (opts.pause) - $cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;}); - - if (supportMultiTransitions(opts) === false) - return false; - - // apparently a lot of people use image slideshows without height/width attributes on the images. - // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that. - var requeue = false; - options.requeueAttempts = options.requeueAttempts || 0; - $slides.each(function() { - // try to get height/width of each slide - var $el = $(this); - this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0); - this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0); - - if ( $el.is('img') ) { - // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when - // an image is being downloaded and the markup did not include sizing info (height/width attributes); - // there seems to be some "default" sizes used in this situation - var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete); - var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete); - var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete); - var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete); - // don't requeue for images that are still loading but have a valid size - if (loadingIE || loadingFF || loadingOp || loadingOther) { - if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever - log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH); - setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout); - requeue = true; - return false; // break each loop - } - else { - log('could not determine size of image: '+this.src, this.cycleW, this.cycleH); - } - } - } - return true; - }); - - if (requeue) - return false; - - opts.cssBefore = opts.cssBefore || {}; - opts.animIn = opts.animIn || {}; - opts.animOut = opts.animOut || {}; - - $slides.not(':eq('+first+')').css(opts.cssBefore); - if (opts.cssFirst) - $($slides[first]).css(opts.cssFirst); - - if (opts.timeout) { - opts.timeout = parseInt(opts.timeout); - // ensure that timeout and speed settings are sane - if (opts.speed.constructor == String) - opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed); - if (!opts.sync) - opts.speed = opts.speed / 2; - - var buffer = opts.fx == 'shuffle' ? 500 : 250; - while((opts.timeout - opts.speed) < buffer) // sanitize timeout - opts.timeout += opts.speed; - } - if (opts.easing) - opts.easeIn = opts.easeOut = opts.easing; - if (!opts.speedIn) - opts.speedIn = opts.speed; - if (!opts.speedOut) - opts.speedOut = opts.speed; - - opts.slideCount = els.length; - opts.currSlide = opts.lastSlide = first; - if (opts.random) { - if (++opts.randomIndex == els.length) - opts.randomIndex = 0; - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else if (opts.backwards) - opts.nextSlide = opts.startingSlide == 0 ? (els.length-1) : opts.startingSlide-1; - else - opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1; - - // run transition init fn - if (!opts.multiFx) { - var init = $.fn.cycle.transitions[opts.fx]; - if ($.isFunction(init)) - init($cont, $slides, opts); - else if (opts.fx != 'custom' && !opts.multiFx) { - log('unknown transition: ' + opts.fx,'; slideshow terminating'); - return false; - } - } - - // fire artificial events - var e0 = $slides[first]; - if (opts.before.length) - opts.before[0].apply(e0, [e0, e0, opts, true]); - if (opts.after.length > 1) - opts.after[1].apply(e0, [e0, e0, opts, true]); - - if (opts.next) - $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)}); - if (opts.prev) - $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)}); - if (opts.pager || opts.pagerAnchorBuilder) - buildPager(els,opts); - - exposeAddSlide(opts, els); - - return opts; -}; - -// save off original opts so we can restore after clearing state -function saveOriginalOpts(opts) { - opts.original = { before: [], after: [] }; - opts.original.cssBefore = $.extend({}, opts.cssBefore); - opts.original.cssAfter = $.extend({}, opts.cssAfter); - opts.original.animIn = $.extend({}, opts.animIn); - opts.original.animOut = $.extend({}, opts.animOut); - $.each(opts.before, function() { opts.original.before.push(this); }); - $.each(opts.after, function() { opts.original.after.push(this); }); -}; - -function supportMultiTransitions(opts) { - var i, tx, txs = $.fn.cycle.transitions; - // look for multiple effects - if (opts.fx.indexOf(',') > 0) { - opts.multiFx = true; - opts.fxs = opts.fx.replace(/\s*/g,'').split(','); - // discard any bogus effect names - for (i=0; i < opts.fxs.length; i++) { - var fx = opts.fxs[i]; - tx = txs[fx]; - if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) { - log('discarding unknown transition: ',fx); - opts.fxs.splice(i,1); - i--; - } - } - // if we have an empty list then we threw everything away! - if (!opts.fxs.length) { - log('No valid transitions named; slideshow terminating.'); - return false; - } - } - else if (opts.fx == 'all') { // auto-gen the list of transitions - opts.multiFx = true; - opts.fxs = []; - for (p in txs) { - tx = txs[p]; - if (txs.hasOwnProperty(p) && $.isFunction(tx)) - opts.fxs.push(p); - } - } - if (opts.multiFx && opts.randomizeEffects) { - // munge the fxs array to make effect selection random - var r1 = Math.floor(Math.random() * 20) + 30; - for (i = 0; i < r1; i++) { - var r2 = Math.floor(Math.random() * opts.fxs.length); - opts.fxs.push(opts.fxs.splice(r2,1)[0]); - } - debug('randomized fx sequence: ',opts.fxs); - } - return true; -}; - -// provide a mechanism for adding slides after the slideshow has started -function exposeAddSlide(opts, els) { - opts.addSlide = function(newSlide, prepend) { - var $s = $(newSlide), s = $s[0]; - if (!opts.autostopCount) - opts.countdown++; - els[prepend?'unshift':'push'](s); - if (opts.els) - opts.els[prepend?'unshift':'push'](s); // shuffle needs this - opts.slideCount = els.length; - - $s.css('position','absolute'); - $s[prepend?'prependTo':'appendTo'](opts.$cont); - - if (prepend) { - opts.currSlide++; - opts.nextSlide++; - } - - if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) - clearTypeFix($s); - - if (opts.fit && opts.width) - $s.width(opts.width); - if (opts.fit && opts.height && opts.height != 'auto') - $s.height(opts.height); - s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height(); - s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width(); - - $s.css(opts.cssBefore); - - if (opts.pager || opts.pagerAnchorBuilder) - $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts); - - if ($.isFunction(opts.onAddSlide)) - opts.onAddSlide($s); - else - $s.hide(); // default behavior - }; -} - -// reset internal state; we do this on every pass in order to support multiple effects -$.fn.cycle.resetState = function(opts, fx) { - fx = fx || opts.fx; - opts.before = []; opts.after = []; - opts.cssBefore = $.extend({}, opts.original.cssBefore); - opts.cssAfter = $.extend({}, opts.original.cssAfter); - opts.animIn = $.extend({}, opts.original.animIn); - opts.animOut = $.extend({}, opts.original.animOut); - opts.fxFn = null; - $.each(opts.original.before, function() { opts.before.push(this); }); - $.each(opts.original.after, function() { opts.after.push(this); }); - - // re-init - var init = $.fn.cycle.transitions[fx]; - if ($.isFunction(init)) - init(opts.$cont, $(opts.elements), opts); -}; - -// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt -function go(els, opts, manual, fwd) { - // opts.busy is true if we're in the middle of an animation - if (manual && opts.busy && opts.manualTrump) { - // let manual transitions requests trump active ones - debug('manualTrump in go(), stopping active transition'); - $(els).stop(true,true); - opts.busy = false; - } - // don't begin another timeout-based transition if there is one active - if (opts.busy) { - debug('transition active, ignoring new tx request'); - return; - } - - var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide]; - - // stop cycling if we have an outstanding stop request - if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual) - return; - - // check to see if we should stop cycling based on autostop options - if (!manual && !p.cyclePause && !opts.bounce && - ((opts.autostop && (--opts.countdown <= 0)) || - (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) { - if (opts.end) - opts.end(opts); - return; - } - - // if slideshow is paused, only transition on a manual trigger - var changed = false; - if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) { - changed = true; - var fx = opts.fx; - // keep trying to get the slide size if we don't have it yet - curr.cycleH = curr.cycleH || $(curr).height(); - curr.cycleW = curr.cycleW || $(curr).width(); - next.cycleH = next.cycleH || $(next).height(); - next.cycleW = next.cycleW || $(next).width(); - - // support multiple transition types - if (opts.multiFx) { - if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length) - opts.lastFx = 0; - fx = opts.fxs[opts.lastFx]; - opts.currFx = fx; - } - - // one-time fx overrides apply to: $('div').cycle(3,'zoom'); - if (opts.oneTimeFx) { - fx = opts.oneTimeFx; - opts.oneTimeFx = null; - } - - $.fn.cycle.resetState(opts, fx); - - // run the before callbacks - if (opts.before.length) - $.each(opts.before, function(i,o) { - if (p.cycleStop != opts.stopCount) return; - o.apply(next, [curr, next, opts, fwd]); - }); - - // stage the after callacks - var after = function() { - $.each(opts.after, function(i,o) { - if (p.cycleStop != opts.stopCount) return; - o.apply(next, [curr, next, opts, fwd]); - }); - }; - - debug('tx firing; currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide); - - // get ready to perform the transition - opts.busy = 1; - if (opts.fxFn) // fx function provided? - opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent); - else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ? - $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent); - else - $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent); - } - - if (changed || opts.nextSlide == opts.currSlide) { - // calculate the next slide - opts.lastSlide = opts.currSlide; - if (opts.random) { - opts.currSlide = opts.nextSlide; - if (++opts.randomIndex == els.length) - opts.randomIndex = 0; - opts.nextSlide = opts.randomMap[opts.randomIndex]; - if (opts.nextSlide == opts.currSlide) - opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1; - } - else if (opts.backwards) { - var roll = (opts.nextSlide - 1) < 0; - if (roll && opts.bounce) { - opts.backwards = !opts.backwards; - opts.nextSlide = 1; - opts.currSlide = 0; - } - else { - opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1; - opts.currSlide = roll ? 0 : opts.nextSlide+1; - } - } - else { // sequence - var roll = (opts.nextSlide + 1) == els.length; - if (roll && opts.bounce) { - opts.backwards = !opts.backwards; - opts.nextSlide = els.length-2; - opts.currSlide = els.length-1; - } - else { - opts.nextSlide = roll ? 0 : opts.nextSlide+1; - opts.currSlide = roll ? els.length-1 : opts.nextSlide-1; - } - } - } - if (changed && opts.pager) - opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass); - - // stage the next transition - var ms = 0; - if (opts.timeout && !opts.continuous) - ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd); - else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic - ms = 10; - if (ms > 0) - p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, (!opts.rev && !opts.backwards)) }, ms); -}; - -// invoked after transition -$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) { - $(pager).each(function() { - $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName); - }); -}; - -// calculate timeout value for current transition -function getTimeout(curr, next, opts, fwd) { - if (opts.timeoutFn) { - // call user provided calc fn - var t = opts.timeoutFn.call(curr,curr,next,opts,fwd); - while ((t - opts.speed) < 250) // sanitize timeout - t += opts.speed; - debug('calculated timeout: ' + t + '; speed: ' + opts.speed); - if (t !== false) - return t; - } - return opts.timeout; -}; - -// expose next/prev function, caller must pass in state -$.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); }; -$.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);}; - -// advance slide forward or back -function advance(opts, val) { - var els = opts.elements; - var p = opts.$cont[0], timeout = p.cycleTimeout; - if (timeout) { - clearTimeout(timeout); - p.cycleTimeout = 0; - } - if (opts.random && val < 0) { - // move back to the previously display slide - opts.randomIndex--; - if (--opts.randomIndex == -2) - opts.randomIndex = els.length-2; - else if (opts.randomIndex == -1) - opts.randomIndex = els.length-1; - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else if (opts.random) { - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else { - opts.nextSlide = opts.currSlide + val; - if (opts.nextSlide < 0) { - if (opts.nowrap) return false; - opts.nextSlide = els.length - 1; - } - else if (opts.nextSlide >= els.length) { - if (opts.nowrap) return false; - opts.nextSlide = 0; - } - } - - var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated - if ($.isFunction(cb)) - cb(val > 0, opts.nextSlide, els[opts.nextSlide]); - go(els, opts, 1, val>=0); - return false; -}; - -function buildPager(els, opts) { - var $p = $(opts.pager); - $.each(els, function(i,o) { - $.fn.cycle.createPagerAnchor(i,o,$p,els,opts); - }); - opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass); -}; - -$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) { - var a; - if ($.isFunction(opts.pagerAnchorBuilder)) { - a = opts.pagerAnchorBuilder(i,el); - debug('pagerAnchorBuilder('+i+', el) returned: ' + a); - } - else - a = ''+(i+1)+''; - - if (!a) - return; - var $a = $(a); - // don't reparent if anchor is in the dom - if ($a.parents('body').length === 0) { - var arr = []; - if ($p.length > 1) { - $p.each(function() { - var $clone = $a.clone(true); - $(this).append($clone); - arr.push($clone[0]); - }); - $a = $(arr); - } - else { - $a.appendTo($p); - } - } - - opts.pagerAnchors = opts.pagerAnchors || []; - opts.pagerAnchors.push($a); - $a.bind(opts.pagerEvent, function(e) { - e.preventDefault(); - opts.nextSlide = i; - var p = opts.$cont[0], timeout = p.cycleTimeout; - if (timeout) { - clearTimeout(timeout); - p.cycleTimeout = 0; - } - var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated - if ($.isFunction(cb)) - cb(opts.nextSlide, els[opts.nextSlide]); - go(els,opts,1,opts.currSlide < i); // trigger the trans -// return false; // <== allow bubble - }); - - if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble) - $a.bind('click.cycle', function(){return false;}); // suppress click - - if (opts.pauseOnPagerHover) - $a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } ); -}; - -// helper fn to calculate the number of slides between the current and the next -$.fn.cycle.hopsFromLast = function(opts, fwd) { - var hops, l = opts.lastSlide, c = opts.currSlide; - if (fwd) - hops = c > l ? c - l : opts.slideCount - l; - else - hops = c < l ? l - c : l + opts.slideCount - c; - return hops; -}; - -// fix clearType problems in ie6 by setting an explicit bg color -// (otherwise text slides look horrible during a fade transition) -function clearTypeFix($slides) { - debug('applying clearType background-color hack'); - function hex(s) { - s = parseInt(s).toString(16); - return s.length < 2 ? '0'+s : s; - }; - function getBg(e) { - for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) { - var v = $.css(e,'background-color'); - if (v.indexOf('rgb') >= 0 ) { - var rgb = v.match(/\d+/g); - return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]); - } - if (v && v != 'transparent') - return v; - } - return '#ffffff'; - }; - $slides.each(function() { $(this).css('background-color', getBg(this)); }); -}; - -// reset common props before the next transition -$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) { - $(opts.elements).not(curr).hide(); - opts.cssBefore.opacity = 1; - opts.cssBefore.display = 'block'; - if (w !== false && next.cycleW > 0) - opts.cssBefore.width = next.cycleW; - if (h !== false && next.cycleH > 0) - opts.cssBefore.height = next.cycleH; - opts.cssAfter = opts.cssAfter || {}; - opts.cssAfter.display = 'none'; - $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0)); - $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1)); -}; - -// the actual fn for effecting a transition -$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) { - var $l = $(curr), $n = $(next); - var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut; - $n.css(opts.cssBefore); - if (speedOverride) { - if (typeof speedOverride == 'number') - speedIn = speedOut = speedOverride; - else - speedIn = speedOut = 1; - easeIn = easeOut = null; - } - var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)}; - $l.animate(opts.animOut, speedOut, easeOut, function() { - if (opts.cssAfter) $l.css(opts.cssAfter); - if (!opts.sync) fn(); - }); - if (opts.sync) fn(); -}; - -// transition definitions - only fade is defined here, transition pack defines the rest -$.fn.cycle.transitions = { - fade: function($cont, $slides, opts) { - $slides.not(':eq('+opts.currSlide+')').css('opacity',0); - opts.before.push(function(curr,next,opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.cssBefore.opacity = 0; - }); - opts.animIn = { opacity: 1 }; - opts.animOut = { opacity: 0 }; - opts.cssBefore = { top: 0, left: 0 }; - } -}; - -$.fn.cycle.ver = function() { return ver; }; - -// override these globally if you like (they are all optional) -$.fn.cycle.defaults = { - fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle') - timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance) - timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag) - continuous: 0, // true to start next transition immediately after current one completes - speed: 1000, // speed of the transition (any valid fx speed value) - speedIn: null, // speed of the 'in' transition - speedOut: null, // speed of the 'out' transition - next: null, // selector for element to use as event trigger for next slide - prev: null, // selector for element to use as event trigger for previous slide -// prevNextClick: null, // @deprecated; please use onPrevNextEvent instead - onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement) - prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide - pager: null, // selector for element to use as pager container - //pagerClick null, // @deprecated; please use onPagerEvent instead - onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement) - pagerEvent: 'click.cycle', // name of event which drives the pager navigation - allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling - pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement) - before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag) - after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag) - end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options) - easing: null, // easing method for both in and out transitions - easeIn: null, // easing for "in" transition - easeOut: null, // easing for "out" transition - shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 } - animIn: null, // properties that define how the slide animates in - animOut: null, // properties that define how the slide animates out - cssBefore: null, // properties that define the initial state of the slide before transitioning in - cssAfter: null, // properties that defined the state of the slide after transitioning out - fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) - height: 'auto', // container height - startingSlide: 0, // zero-based index of the first slide to be displayed - sync: 1, // true if in/out transitions should occur simultaneously - random: 0, // true for random, false for sequence (not applicable to shuffle fx) - fit: 0, // force slides to fit container - containerResize: 1, // resize container to fit largest slide - pause: 0, // true to enable "pause on hover" - pauseOnPagerHover: 0, // true to pause when hovering over pager link - autostop: 0, // true to end slideshow after X transitions (where X == slide count) - autostopCount: 0, // number of transitions (optionally used with autostop to define X) - delay: 0, // additional delay (in ms) for first transition (hint: can be negative) - slideExpr: null, // expression for selecting slides (if something other than all children is required) - cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE) - cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides) - nowrap: 0, // true to prevent slideshow from wrapping - fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms - randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random - rev: 0, // causes animations to transition in reverse - manualTrump: true, // causes manual transition to stop an active transition instead of being ignored - requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded - requeueTimeout: 250, // ms delay for requeue - activePagerClass: 'activeSlide', // class name used for the active pager link - updateActivePagerLink: null, // callback fn invoked to update the active pager link (adds/removes activePagerClass style) - backwards: false // true to start slideshow at last slide and move backwards through the stack -}; - -})(jQuery); - - -/*! - * jQuery Cycle Plugin Transition Definitions - * This script is a plugin for the jQuery Cycle Plugin - * Examples and documentation at: http://malsup.com/jquery/cycle/ - * Copyright (c) 2007-2010 M. Alsup - * Version: 2.72 - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ -(function($) { - -// -// These functions define one-time slide initialization for the named -// transitions. To save file size feel free to remove any of these that you -// don't need. -// -$.fn.cycle.transitions.none = function($cont, $slides, opts) { - opts.fxFn = function(curr,next,opts,after){ - $(next).show(); - $(curr).hide(); - after(); - }; -} - -// scrollUp/Down/Left/Right -$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var h = $cont.height(); - opts.cssBefore ={ top: h, left: 0 }; - opts.cssFirst = { top: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { top: -h }; -}; -$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var h = $cont.height(); - opts.cssFirst = { top: 0 }; - opts.cssBefore= { top: -h, left: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { top: h }; -}; -$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var w = $cont.width(); - opts.cssFirst = { left: 0 }; - opts.cssBefore= { left: w, top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: 0-w }; -}; -$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var w = $cont.width(); - opts.cssFirst = { left: 0 }; - opts.cssBefore= { left: -w, top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: w }; -}; -$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) { - $cont.css('overflow','hidden').width(); - opts.before.push(function(curr, next, opts, fwd) { - $.fn.cycle.commonReset(curr,next,opts); - opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW); - opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW; - }); - opts.cssFirst = { left: 0 }; - opts.cssBefore= { top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { top: 0 }; -}; -$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push(function(curr, next, opts, fwd) { - $.fn.cycle.commonReset(curr,next,opts); - opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1); - opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH; - }); - opts.cssFirst = { top: 0 }; - opts.cssBefore= { left: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { left: 0 }; -}; - -// slideX/slideY -$.fn.cycle.transitions.slideX = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $(opts.elements).not(curr).hide(); - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.animIn.width = next.cycleW; - }); - opts.cssBefore = { left: 0, top: 0, width: 0 }; - opts.animIn = { width: 'show' }; - opts.animOut = { width: 0 }; -}; -$.fn.cycle.transitions.slideY = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $(opts.elements).not(curr).hide(); - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.animIn.height = next.cycleH; - }); - opts.cssBefore = { left: 0, top: 0, height: 0 }; - opts.animIn = { height: 'show' }; - opts.animOut = { height: 0 }; -}; - -// shuffle -$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) { - var i, w = $cont.css('overflow', 'visible').width(); - $slides.css({left: 0, top: 0}); - opts.before.push(function(curr,next,opts) { - $.fn.cycle.commonReset(curr,next,opts,true,true,true); - }); - // only adjust speed once! - if (!opts.speedAdjusted) { - opts.speed = opts.speed / 2; // shuffle has 2 transitions - opts.speedAdjusted = true; - } - opts.random = 0; - opts.shuffle = opts.shuffle || {left:-w, top:15}; - opts.els = []; - for (i=0; i < $slides.length; i++) - opts.els.push($slides[i]); - - for (i=0; i < opts.currSlide; i++) - opts.els.push(opts.els.shift()); - - // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!) - opts.fxFn = function(curr, next, opts, cb, fwd) { - var $el = fwd ? $(curr) : $(next); - $(next).css(opts.cssBefore); - var count = opts.slideCount; - $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() { - var hops = $.fn.cycle.hopsFromLast(opts, fwd); - for (var k=0; k < hops; k++) - fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop()); - if (fwd) { - for (var i=0, len=opts.els.length; i < len; i++) - $(opts.els[i]).css('z-index', len-i+count); - } - else { - var z = $(curr).css('z-index'); - $el.css('z-index', parseInt(z)+1+count); - } - $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() { - $(fwd ? this : curr).hide(); - if (cb) cb(); - }); - }); - }; - opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 }; -}; - -// turnUp/Down/Left/Right -$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.cssBefore.top = next.cycleH; - opts.animIn.height = next.cycleH; - }); - opts.cssFirst = { top: 0 }; - opts.cssBefore = { left: 0, height: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { height: 0 }; -}; -$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.animIn.height = next.cycleH; - opts.animOut.top = curr.cycleH; - }); - opts.cssFirst = { top: 0 }; - opts.cssBefore = { left: 0, top: 0, height: 0 }; - opts.animOut = { height: 0 }; -}; -$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.cssBefore.left = next.cycleW; - opts.animIn.width = next.cycleW; - }); - opts.cssBefore = { top: 0, width: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { width: 0 }; -}; -$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.animIn.width = next.cycleW; - opts.animOut.left = curr.cycleW; - }); - opts.cssBefore = { top: 0, left: 0, width: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { width: 0 }; -}; - -// zoom -$.fn.cycle.transitions.zoom = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,false,true); - opts.cssBefore.top = next.cycleH/2; - opts.cssBefore.left = next.cycleW/2; - opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH }; - opts.animOut = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 }; - }); - opts.cssFirst = { top:0, left: 0 }; - opts.cssBefore = { width: 0, height: 0 }; -}; - -// fadeZoom -$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,false); - opts.cssBefore.left = next.cycleW/2; - opts.cssBefore.top = next.cycleH/2; - opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH }; - }); - opts.cssBefore = { width: 0, height: 0 }; - opts.animOut = { opacity: 0 }; -}; - -// blindX -$.fn.cycle.transitions.blindX = function($cont, $slides, opts) { - var w = $cont.css('overflow','hidden').width(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.animIn.width = next.cycleW; - opts.animOut.left = curr.cycleW; - }); - opts.cssBefore = { left: w, top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: w }; -}; -// blindY -$.fn.cycle.transitions.blindY = function($cont, $slides, opts) { - var h = $cont.css('overflow','hidden').height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.animIn.height = next.cycleH; - opts.animOut.top = curr.cycleH; - }); - opts.cssBefore = { top: h, left: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { top: h }; -}; -// blindZ -$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) { - var h = $cont.css('overflow','hidden').height(); - var w = $cont.width(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.animIn.height = next.cycleH; - opts.animOut.top = curr.cycleH; - }); - opts.cssBefore = { top: h, left: w }; - opts.animIn = { top: 0, left: 0 }; - opts.animOut = { top: h, left: w }; -}; - -// growX - grow horizontally from centered 0 width -$.fn.cycle.transitions.growX = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.cssBefore.left = this.cycleW/2; - opts.animIn = { left: 0, width: this.cycleW }; - opts.animOut = { left: 0 }; - }); - opts.cssBefore = { width: 0, top: 0 }; -}; -// growY - grow vertically from centered 0 height -$.fn.cycle.transitions.growY = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.cssBefore.top = this.cycleH/2; - opts.animIn = { top: 0, height: this.cycleH }; - opts.animOut = { top: 0 }; - }); - opts.cssBefore = { height: 0, left: 0 }; -}; - -// curtainX - squeeze in both edges horizontally -$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true,true); - opts.cssBefore.left = next.cycleW/2; - opts.animIn = { left: 0, width: this.cycleW }; - opts.animOut = { left: curr.cycleW/2, width: 0 }; - }); - opts.cssBefore = { top: 0, width: 0 }; -}; -// curtainY - squeeze in both edges vertically -$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false,true); - opts.cssBefore.top = next.cycleH/2; - opts.animIn = { top: 0, height: next.cycleH }; - opts.animOut = { top: curr.cycleH/2, height: 0 }; - }); - opts.cssBefore = { left: 0, height: 0 }; -}; - -// cover - curr slide covered by next slide -$.fn.cycle.transitions.cover = function($cont, $slides, opts) { - var d = opts.direction || 'left'; - var w = $cont.css('overflow','hidden').width(); - var h = $cont.height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - if (d == 'right') - opts.cssBefore.left = -w; - else if (d == 'up') - opts.cssBefore.top = h; - else if (d == 'down') - opts.cssBefore.top = -h; - else - opts.cssBefore.left = w; - }); - opts.animIn = { left: 0, top: 0}; - opts.animOut = { opacity: 1 }; - opts.cssBefore = { top: 0, left: 0 }; -}; - -// uncover - curr slide moves off next slide -$.fn.cycle.transitions.uncover = function($cont, $slides, opts) { - var d = opts.direction || 'left'; - var w = $cont.css('overflow','hidden').width(); - var h = $cont.height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,true,true); - if (d == 'right') - opts.animOut.left = w; - else if (d == 'up') - opts.animOut.top = -h; - else if (d == 'down') - opts.animOut.top = h; - else - opts.animOut.left = -w; - }); - opts.animIn = { left: 0, top: 0 }; - opts.animOut = { opacity: 1 }; - opts.cssBefore = { top: 0, left: 0 }; -}; - -// toss - move top slide and fade away -$.fn.cycle.transitions.toss = function($cont, $slides, opts) { - var w = $cont.css('overflow','visible').width(); - var h = $cont.height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,true,true); - // provide default toss settings if animOut not provided - if (!opts.animOut.left && !opts.animOut.top) - opts.animOut = { left: w*2, top: -h/2, opacity: 0 }; - else - opts.animOut.opacity = 0; - }); - opts.cssBefore = { left: 0, top: 0 }; - opts.animIn = { left: 0 }; -}; - -// wipe - clip animation -$.fn.cycle.transitions.wipe = function($cont, $slides, opts) { - var w = $cont.css('overflow','hidden').width(); - var h = $cont.height(); - opts.cssBefore = opts.cssBefore || {}; - var clip; - if (opts.clip) { - if (/l2r/.test(opts.clip)) - clip = 'rect(0px 0px '+h+'px 0px)'; - else if (/r2l/.test(opts.clip)) - clip = 'rect(0px '+w+'px '+h+'px '+w+'px)'; - else if (/t2b/.test(opts.clip)) - clip = 'rect(0px '+w+'px 0px 0px)'; - else if (/b2t/.test(opts.clip)) - clip = 'rect('+h+'px '+w+'px '+h+'px 0px)'; - else if (/zoom/.test(opts.clip)) { - var top = parseInt(h/2); - var left = parseInt(w/2); - clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)'; - } - } - - opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)'; - - var d = opts.cssBefore.clip.match(/(\d+)/g); - var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]); - - opts.before.push(function(curr, next, opts) { - if (curr == next) return; - var $curr = $(curr), $next = $(next); - $.fn.cycle.commonReset(curr,next,opts,true,true,false); - opts.cssAfter.display = 'block'; - - var step = 1, count = parseInt((opts.speedIn / 13)) - 1; - (function f() { - var tt = t ? t - parseInt(step * (t/count)) : 0; - var ll = l ? l - parseInt(step * (l/count)) : 0; - var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h; - var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w; - $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' }); - (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none'); - })(); - }); - opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: 0 }; -}; - -})(jQuery); diff --git a/src/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.min.js b/src/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.min.js deleted file mode 100644 index 7fdb17a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/js/jquery.cycle.all.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * jQuery Cycle Plugin (with Transition Definitions) - * Examples and documentation at: http://jquery.malsup.com/cycle/ - * Copyright (c) 2007-2010 M. Alsup - * Version: 2.88 (08-JUN-2010) - * Dual licensed under the MIT and GPL licenses. - * http://jquery.malsup.com/license.html - * Requires: jQuery v1.2.6 or later - */ -(function($){var ver="2.88";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.rev);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,(!opts2.rev&&!opts.backwards));},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,(!opts.rev&&!opts.backwards));}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}else{if(opts.backwards){opts.startingSlide=els.length-1;}}if(opts.random){opts.randomMap=[];for(var i=0;i=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;jmaxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed)=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while((t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a=''+(i+1)+"";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlidel?c-l:opts.slideCount-l;}else{hops=c=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={fx:"fade",timeout:4000,timeoutFn:null,continuous:0,speed:1000,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null,backwards:false};})(jQuery); -/* - * jQuery Cycle Plugin Transition Definitions - * This script is a plugin for the jQuery Cycle Plugin - * Examples and documentation at: http://malsup.com/jquery/cycle/ - * Copyright (c) 2007-2010 M. Alsup - * Version: 2.72 - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ -(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after();};};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h};};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w};};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0};};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0};};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0};};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0};};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true;}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(i=0;i 0 && num <= 3) { - var img = new Image(); - img.src = stack.shift(); - stackLength--; - // wait to append image until the load is complete - jQuery( img ).bind('load', function() { appendImage(img, num); }); - } - } - - // append image to obj - function appendImage(img, num){ - // Hide them first, Cycle plugin will show them - jQuery( img ).hide(); - // Add the image now and resize after loaded - jQuery( obj ).append( imageResize(img, s.width , s.height) ); - // start slideshow with third image, load next image if not - if (num == 3 || stackLength == 0 ) { - startSlideshow(); - } else { - loadImage(++num); // increase index and load next image - } - - } - - function startSlideshow() { - - // hide the loader icon - jQuery( obj + '-loader' ).empty().remove(); - // Start the slideshow - jQuery(obj + ' img:first').fadeIn(1000, function() { - // Start the cycle plugin - jQuery( obj ).cycle( { - fx: s.fx, - containerResize: 1, - fit: 1, - timeout: s.timeout, - next: obj, - before: jCycle_onBefore - }); - }); - - } - - //Resize Image and keep ratio on client side, better move to server side later - function imageResize(img, maxWidth , maxHeight) { - - // we need to wait until the image is loaded - if ( !img.complete ) - jQuery( img ).bind('load', function() { imageResize(img, maxWidth , maxHeight) }); - - // in some cases the image is not loaded, we can't resize them - if (img.height == 0 || img.width == 0) - return img; - - var width, height; - - if (img.width * maxHeight > img.height * maxWidth) { - // img has a wider ratio than target size, make width fit - if (img.width > maxWidth) { - width = maxWidth; - height = Math.round(img.height / img.width * maxWidth); - } - } else { - // img has a less wide ratio than target size, make height fit - if (img.height > maxHeight) { - height = maxHeight; - width = Math.round(img.width / img.height * maxHeight); - } - } - - jQuery( img ).css({ - 'height': height, - 'width': width - }); - - return img; - }; - - // add images to slideshow step by step - function jCycle_onBefore(curr, next, opts) { - if (opts.addSlide) - if (stackLength > 0){ // check that stack is not empty - var img = new Image(); - img.src = stack.shift(); - stackLength--; - jQuery( img ).bind('load', function() { - opts.addSlide( imageResize(this, s.width , s.height) ); - }); - } - }; -} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/js/ngg.slideshow.min.js b/src/wp-content/plugins/nextgen-gallery/js/ngg.slideshow.min.js deleted file mode 100644 index fa33b9a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/js/ngg.slideshow.min.js +++ /dev/null @@ -1,9 +0,0 @@ -jQuery.fn.nggSlideshow=function(args){var defaults={id:1,width:320,height:240,fx:'fade',domain:'',timeout:5000};var s=jQuery.extend({},defaults,args);var obj=this.selector;var stack=[];var url=s.domain+'index.php?callback=json&api_key=true&format=json&method=gallery&id='+s.id;var stackLength=0;jQuery.getJSON(url,function(r){if(r.stat=="ok"){for(img in r.images){var photo=r.images[img];stack.push(decodeURI(photo['imageURL']));} -stackLength=stack.length;loadImage(1);}});function loadImage(num){if(stackLength>0&&num<=3){var img=new Image();img.src=stack.shift();stackLength--;jQuery(img).bind('load',function(){appendImage(img,num);});}} -function appendImage(img,num){jQuery(img).hide();jQuery(obj).append(imageResize(img,s.width,s.height));if(num==3||stackLength==0){startSlideshow();}else{loadImage(++num);}} -function startSlideshow(){jQuery(obj+'-loader').empty().remove();jQuery(obj+' img:first').fadeIn(1000,function(){jQuery(obj).cycle({fx:s.fx,containerResize:1,fit:1,timeout:s.timeout,next:obj,before:jCycle_onBefore});});} -function imageResize(img,maxWidth,maxHeight){if(!img.complete) -jQuery(img).bind('load',function(){imageResize(img,maxWidth,maxHeight)});if(img.height==0||img.width==0) -return img;var width,height;if(img.width*maxHeight>img.height*maxWidth){if(img.width>maxWidth){width=maxWidth;height=Math.round(img.height/img.width*maxWidth);}}else{if(img.height>maxHeight){height=maxHeight;width=Math.round(img.width/img.height*maxHeight);}} -jQuery(img).css({'height':height,'width':width});return img;};function jCycle_onBefore(curr,next,opts){if(opts.addSlide) -if(stackLength>0){var img=new Image();img.src=stack.shift();stackLength--;jQuery(img).bind('load',function(){opts.addSlide(imageResize(this,s.width,s.height));});}};} \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/lang/nggallery-de_DE.mo b/src/wp-content/plugins/nextgen-gallery/lang/nggallery-de_DE.mo deleted file mode 100644 index acda08f..0000000 Binary files a/src/wp-content/plugins/nextgen-gallery/lang/nggallery-de_DE.mo and /dev/null differ diff --git a/src/wp-content/plugins/nextgen-gallery/lang/nggallery-de_DE.po b/src/wp-content/plugins/nextgen-gallery/lang/nggallery-de_DE.po deleted file mode 100644 index 529bdbb..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lang/nggallery-de_DE.po +++ /dev/null @@ -1,3838 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: NextGEN Gallery\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 22:13+0100\n" -"PO-Revision-Date: 2011-01-16 22:14+0100\n" -"Last-Translator: Alex Rabe\n" -"Language-Team: Alex Rabe\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-KeywordsList: __;_e;_n:1,2;esc_html_e;esc_attr_e\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-Country: GERMANY\n" -"X-Poedit-SourceCharset: utf-8\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Poedit-Language: German\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPath-1: ..\n" - -#: ../nggallery.php:97 -msgid "Translation by : See here" -msgstr "Übersetzt von : Alex Rabe" - -#: ../nggallery.php:98 -msgid "This translation is not yet updated for Version 1.7.3. If you would like to help with translation, download the current po from the plugin folder and read here how you can translate the plugin." -msgstr "Sollten jemand Rechtschreibfehler, Deppenapostrophe oder andere deutsche Ungereimtheiten finden, freue ich mich jederzeit über einen kurzen Hinweis

    " - -#: ../nggallery.php:197 -msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" -msgstr "Tut mir leid, aber NextGEN-Galerie benötigt minimum 16MB Speicher (Memory Limit) oder mehr" - -#: ../nggallery.php:215 -msgid "Please update the database of NextGEN Gallery." -msgstr "Bitte aktualisiere die Datenbank von NextGEN Gallery." - -#: ../nggallery.php:215 -msgid "Click here to proceed." -msgstr "Hier klicken um fortzufahren." - -#: ../nggallery.php:238 -msgid "Picture tag" -msgstr "Bilder-Stichwort" - -#: ../nggallery.php:239 -msgid "Picture tag: %2$l." -msgstr "Bilder-Stichwort: %2$l." - -#: ../nggallery.php:240 -msgid "Separate picture tags with commas." -msgstr "Trenne Stichwörter mittels Komma" - -#: ../nggallery.php:339 -msgid "L O A D I N G" -msgstr "B I T T E   W A R T E N" - -#: ../nggallery.php:340 -msgid "Click to Close" -msgstr "Klicken zum Schliessen " - -#: ../nggallery.php:361 -msgid "loading" -msgstr "lade..." - -#: ../nggallery.php:501 -#: ../nggfunctions.php:920 -#: ../admin/admin.php:32 -msgid "Overview" -msgstr "Übersicht" - -#: ../nggallery.php:502 -msgid "Get help" -msgstr "Hilfe" - -#: ../nggallery.php:503 -msgid "Contribute" -msgstr "Mithelfen" - -#: ../nggallery.php:504 -msgid "Donate" -msgstr "Spenden" - -#: ../nggfunctions.php:42 -msgid "The Flash Player and a browser with Javascript support are needed." -msgstr "Es wird der Adobe Flash Player benötigt und im Browser muss Javascript aktiviert sein." - -#: ../nggfunctions.php:164 -#: ../nggfunctions.php:630 -msgid "[Gallery not found]" -msgstr "[Galerie nicht gefunden]" - -#: ../nggfunctions.php:437 -msgid "[Album not found]" -msgstr "[Album nicht gefunden]" - -#: ../nggfunctions.php:747 -msgid "[SinglePic not found]" -msgstr "[Bild nicht gefunden]" - -#: ../nggfunctions.php:885 -msgid "Related images for" -msgstr "Verwandte Bilder von" - -#: ../admin/about.php:10 -msgid "Copyright notes / Credits" -msgstr "Copyright Hinweise / Credits" - -#: ../admin/about.php:13 -msgid "NextGEN DEV Team" -msgstr "NextGEN-DEV-Team" - -#: ../admin/about.php:15 -msgid "This plugin is primarily developed, maintained, supported, documented by" -msgstr "Dieses Plugin wird hauptsächlich entwickelt, dokumentiert und supported von" - -#: ../admin/about.php:15 -msgid "There are many other folks who have made contributions to this project :" -msgstr "Folgende Personen haben die Entwicklung unterstützt :" - -#: ../admin/about.php:20 -msgid "Contributors / Tribute to" -msgstr "Anerkennung / Hinweise" - -#: ../admin/about.php:22 -msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together." -msgstr "Falls Du Dir den Sourcecode dieses Plugins ansiehst, wirst Du merken, dass wir verschiedene gute Scripte sowie Ideen verwendet haben." - -#: ../admin/about.php:23 -msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)" -msgstr "Wir möchten folgenden Menschen für Ihre Pionier-Arbeit danken (ohne diese Vorleistung wäre es unmöglich, ein Plugin so schnell zu entwickeln)" - -#: ../admin/about.php:25 -msgid "for their great documented code" -msgstr "für ihren großartig dokumentierten Code" - -#: ../admin/about.php:26 -msgid "for jQuery, which is the best Web2.0 framework" -msgstr "für jQuery, das Beste Web 2.0 Framework" - -#: ../admin/about.php:27 -msgid "for the fantastic PHP Thumbnail Class" -msgstr "für die fantastische PHP-Thumbnail-Klasse" - -#: ../admin/about.php:28 -msgid "for a lot of very useful plugins and ideas" -msgstr "für viele nützliche Plugins und Ideen" - -#: ../admin/about.php:29 -msgid "for Shutter Reloaded, a real lightweight image effect" -msgstr "für Shutter Reloaded, ein wirklich smarten Bildeffekt" - -#: ../admin/about.php:30 -msgid "for the best Media Flash Scripts on earth" -msgstr "für die besten Media-Flash-Scripte" - -#: ../admin/about.php:31 -msgid "for the Gallery Icon" -msgstr "für das Galerie Icon" - -#: ../admin/about.php:32 -msgid "for the Watermark plugin" -msgstr "für das Wasserzeichen-Plugin" - -#: ../admin/about.php:34 -msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail." -msgstr "Falls Du Deinen Namen nicht auf dieser Liste findest und es aber Code gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte sofort eine E-Mail." - -#: ../admin/about.php:38 -msgid "How to support ?" -msgstr "Unterstützung / Hilfe" - -#: ../admin/about.php:40 -msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory." -msgstr "Es existieren verschiedene Möglichkeiten, diese Arbeit zu unterstützen." - -#: ../admin/about.php:42 -msgid "Send us bugfixes / code changes" -msgstr "Schicke uns Verbesserungen / Bugfixes" - -#: ../admin/about.php:42 -msgid "The most motivated support for this plugin are your ideas and brain work" -msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken" - -#: ../admin/about.php:43 -msgid "Translate the plugin" -msgstr "Übersetze das Plugin" - -#: ../admin/about.php:43 -msgid "To help people to work with this plugin, I would like to have it in all available languages" -msgstr "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen, würde ich es gerne in allen möglichen Sprachen anbieten" - -#: ../admin/about.php:44 -msgid "Donate the work via paypal" -msgstr "Zeig Dich für diese Arbeit per PayPal dankbar" - -#: ../admin/about.php:57 -msgid "No doubt a very useful and easy motivation :-)" -msgstr "Kein Zweifel, eine schöne und einfache Motivationshilfe" - -#: ../admin/about.php:59 -msgid "Place a link to the plugin in your blog/webpage" -msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog" - -#: ../admin/about.php:59 -msgid "Yes, share and trackback is also a good support for this work " -msgstr "Natürlich sind Trackbacks und Links auch ein guter Support für diese Arbeit" - -#: ../admin/about.php:64 -msgid "Thanks!" -msgstr "Vielen Dank!" - -#: ../admin/about.php:66 -msgid "We would like to thank this people which support us in the work :" -msgstr "Ich möchte mich bei diesen Menschen für Ihre Unterstützung bedanken:" - -#: ../admin/about.php:166 -msgid "and all donators..." -msgstr "und allen anderen Spendern..." - -#: ../admin/addgallery.php:46 -#: ../admin/addgallery.php:57 -#: ../admin/addgallery.php:69 -#: ../admin/addgallery.php:80 -#: ../admin/album.php:96 -#: ../admin/album.php:124 -#: ../admin/album.php:142 -#: ../admin/edit-thumbnail.php:19 -#: ../admin/edit-thumbnail.php:22 -#: ../admin/manage.php:179 -msgid "Cheatin’ uh?" -msgstr "Cheatin’ uh?" - -#: ../admin/addgallery.php:62 -msgid "Upload failed!" -msgstr "Upload fehlgeschlagen!" - -#: ../admin/addgallery.php:85 -msgid "Upload failed! " -msgstr "Upload fehlgeschlagen!" - -#: ../admin/addgallery.php:90 -#: ../admin/functions.php:930 -#: ../admin/functions.php:1030 -msgid "No gallery selected !" -msgstr "Keine Galerie ausgewählt !" - -#: ../admin/addgallery.php:159 -msgid "Image Files" -msgstr "Bilder" - -#: ../admin/addgallery.php:180 -#: ../admin/addgallery.php:208 -msgid "remove" -msgstr "Entfernen" - -#: ../admin/addgallery.php:181 -#: ../admin/addgallery.php:361 -msgid "Browse..." -msgstr "Durchsuche..." - -#: ../admin/addgallery.php:182 -#: ../admin/addgallery.php:194 -#: ../admin/addgallery.php:411 -msgid "Upload images" -msgstr "Bilder hochladen" - -#: ../admin/addgallery.php:271 -#: ../admin/addgallery.php:377 -msgid "Upload Images" -msgstr "Bilder hochladen" - -#: ../admin/addgallery.php:274 -#: ../admin/addgallery.php:291 -#: ../admin/manage-galleries.php:112 -#: ../admin/manage-galleries.php:149 -msgid "Add new gallery" -msgstr "Neue Galerie erstellen" - -#: ../admin/addgallery.php:277 -#: ../admin/addgallery.php:313 -msgid "Upload a Zip-File" -msgstr "Zip-Datei hochladen" - -#: ../admin/addgallery.php:280 -#: ../admin/addgallery.php:355 -msgid "Import image folder" -msgstr "Bilder-Verzeichnis importieren" - -#: ../admin/addgallery.php:296 -#: ../admin/manage-galleries.php:284 -msgid "New Gallery" -msgstr "Neue Galerie" - -#: ../admin/addgallery.php:299 -#: ../admin/manage-galleries.php:286 -msgid "Create a new , empty gallery below the folder" -msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis" - -#: ../admin/addgallery.php:301 -#: ../admin/manage-galleries.php:288 -msgid "Allowed characters for file and folder names are" -msgstr "Erlaubte Zeichen für die Datei- und Verzeichnisnamen sind" - -#: ../admin/addgallery.php:305 -msgid "Add gallery" -msgstr "Galerie hinzufügen" - -#: ../admin/addgallery.php:318 -msgid "Select Zip-File" -msgstr "Wähle Zip-Datei" - -#: ../admin/addgallery.php:320 -msgid "Upload a zip file with images" -msgstr "Lade eine Zip-Datei mit Bildern hoch" - -#: ../admin/addgallery.php:324 -msgid "or enter a Zip-File URL" -msgstr "oder gib eine URL zur ZIP-Datei an" - -#: ../admin/addgallery.php:326 -msgid "Import a zip file with images from a url" -msgstr "Lade eine Zip-Datei mit Bildern über ein URL hoch" - -#: ../admin/addgallery.php:330 -#: ../admin/addgallery.php:386 -msgid "in to" -msgstr "in" - -#: ../admin/addgallery.php:332 -msgid "a new gallery" -msgstr "eine neue Galerie" - -#: ../admin/addgallery.php:343 -msgid "Note : The upload limit on your server is " -msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt " - -#: ../admin/addgallery.php:347 -msgid "Start upload" -msgstr "Upload starten" - -#: ../admin/addgallery.php:360 -msgid "Import from Server path:" -msgstr "Importieren aus Server-Pfad:" - -#: ../admin/addgallery.php:363 -msgid "Note : Change the default path in the gallery settings" -msgstr "Hinweis : Der Default-Pfad kann in den Einstellungen angepasst werden" - -#: ../admin/addgallery.php:365 -msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually" -msgstr "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen" - -#: ../admin/addgallery.php:368 -msgid "Import folder" -msgstr "Verzeichnis importieren" - -#: ../admin/addgallery.php:382 -msgid "Upload image" -msgstr "Bild hochladen" - -#: ../admin/addgallery.php:388 -msgid "Choose gallery" -msgstr "Wähle Galerie" - -#: ../admin/addgallery.php:407 -msgid "The batch upload requires Adobe Flash 10, disable it if you have problems" -msgstr "Das Batch-Upload benötigt Adbode Flash 10, wenn es Probleme gibt deaktiviere es besser." - -#: ../admin/addgallery.php:407 -msgid "Disable flash upload" -msgstr "Deaktiviere Batch-Upload" - -#: ../admin/addgallery.php:409 -msgid "Upload multiple files at once by ctrl/shift-selecting in dialog" -msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus." - -#: ../admin/addgallery.php:409 -msgid "Enable flash based upload" -msgstr "Aktiviere Flash Batch Upload" - -#: ../admin/admin.php:31 -#: ../admin/admin.php:57 -#: ../admin/admin.php:287 -#: ../admin/admin.php:355 -#: ../admin/functions.php:178 -#: ../admin/manage-galleries.php:120 -#: ../admin/manage-galleries.php:372 -#: ../admin/manage-images.php:239 -msgid "Gallery" -msgid_plural "Galleries" -msgstr[0] "Galerie" -msgstr[1] "Galerien" - -#: ../admin/admin.php:33 -msgid "Add Gallery / Images" -msgstr "Galerie / Bilder hinzufügen" - -#: ../admin/admin.php:34 -msgid "Manage Gallery" -msgstr "Galerie verwalten" - -#: ../admin/admin.php:35 -msgid "Album" -msgid_plural "Albums" -msgstr[0] "Album" -msgstr[1] "Alben" - -#: ../admin/admin.php:36 -msgid "Tags" -msgstr "Stichwörter" - -#: ../admin/admin.php:37 -msgid "Options" -msgstr "Optionen" - -#: ../admin/admin.php:39 -msgid "Style" -msgstr "Style" - -#: ../admin/admin.php:41 -msgid "Roles" -msgstr "Zugriff" - -#: ../admin/admin.php:42 -msgid "About this Gallery" -msgstr "Über diese Galerie" - -#: ../admin/admin.php:42 -msgid "About" -msgstr "Über" - -#: ../admin/admin.php:45 -msgid "NextGEN Gallery" -msgstr "NextGEN Gallery" - -#: ../admin/admin.php:48 -#: ../admin/admin.php:59 -msgid "Reset / Uninstall" -msgstr "Rücksetzen" - -#: ../admin/admin.php:58 -msgid "Network settings" -msgstr "Netzwerk Einstellungen" - -#: ../admin/admin.php:98 -#, php-format -msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a donation! If you still need some help, please post your questions here ." -msgstr "Vielen Dank, dass Du dieses Plugin nutzt. Ich hoffe, Du bist soweit zufrieden! Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine Spende freuen! Wenn Du Fragen oder Problem hast, schreib sie doch hier ins Forum." - -#: ../admin/admin.php:101 -msgid "OK, hide this message now !" -msgstr "OK, danke für die Info !" - -#: ../admin/admin.php:186 -msgid "You do not have the correct permission" -msgstr "Du hast keine Zugriffsrechte" - -#: ../admin/admin.php:187 -msgid "Unexpected Error" -msgstr "Unerwarteter Fehler" - -#: ../admin/admin.php:188 -msgid "A failure occurred" -msgstr "Ein Fehler ist aufgetreten" - -#: ../admin/admin.php:291 -msgid "Introduction" -msgstr "Einführung" - -#: ../admin/admin.php:294 -msgid "Setup" -msgstr "Setup" - -#: ../admin/admin.php:297 -msgid "Translation by alex rabe" -msgstr "Unterstütze bei der Übersetzung" - -#: ../admin/admin.php:300 -msgid "Roles / Capabilities" -msgstr "Einführung" - -#: ../admin/admin.php:303 -msgid "Styles" -msgstr "Einführung" - -#: ../admin/admin.php:304 -msgid "Templates" -msgstr "Vorlagen" - -#: ../admin/admin.php:307 -#: ../admin/admin.php:313 -msgid "Gallery management" -msgstr "Einführung" - -#: ../admin/admin.php:308 -msgid "Gallery example" -msgstr "Galerie Beispiel" - -#: ../admin/admin.php:314 -#: ../admin/admin.php:324 -msgid "Gallery tags" -msgstr "Galerie Stichwörter" - -#: ../admin/admin.php:317 -msgid "Album management" -msgstr "Einführung" - -#: ../admin/admin.php:318 -msgid "Album example" -msgstr "Album Beispiel" - -#: ../admin/admin.php:319 -#: ../admin/admin.php:325 -msgid "Album tags" -msgstr "Album Stichwörter" - -#: ../admin/admin.php:322 -msgid "Gallery tags" -msgstr "Einführung" - -#: ../admin/admin.php:323 -msgid "Related images" -msgstr "Verwandte Bilder" - -#: ../admin/admin.php:328 -msgid "Image management" -msgstr "Bilderverwaltung (englisch)" - -#: ../admin/admin.php:329 -msgid "Custom fields" -msgstr "Spezialfelder" - -#: ../admin/admin.php:334 -msgid "Get help with NextGEN Gallery" -msgstr "Weitere Hilfe zu NextGEN Gallery" - -#: ../admin/admin.php:338 -msgid "More Help & Info" -msgstr "Weitere Hilfe & Informationen" - -#: ../admin/admin.php:340 -msgid "Support Forums" -msgstr "Support Forum (englisch)" - -#: ../admin/admin.php:341 -msgid "FAQ" -msgstr "FAQ (englisch)" - -#: ../admin/admin.php:342 -msgid "Feature request" -msgstr "Wünsch Dir was" - -#: ../admin/admin.php:343 -msgid "Get your language pack" -msgstr "Lade Deine Sprachdatei" - -#: ../admin/admin.php:344 -msgid "Contribute development" -msgstr "Entwicklung helfen" - -#: ../admin/admin.php:345 -msgid "Download latest version" -msgstr "Aktuelle Version downloaden" - -#: ../admin/ajax.php:312 -msgid "You are not allowed to be here" -msgstr "Keine Zugangsberechtigung" - -#: ../admin/ajax.php:406 -#, php-format -msgid "Could create image with %s x %s pixel" -msgstr "Konnte ein Bild mit %s x %s Pixel erstellen" - -#: ../admin/album.php:102 -#: ../admin/album.php:117 -#: ../admin/album.php:158 -msgid "Update Successfully" -msgstr "Update erfolgreich" - -#: ../admin/album.php:131 -msgid "Album deleted" -msgstr "Album gelöscht" - -#: ../admin/album.php:269 -msgid "Edit Album" -msgstr "Album erstellen" - -#: ../admin/album.php:278 -msgid "Manage Albums" -msgstr "Verwalte Alben" - -#: ../admin/album.php:284 -#: ../admin/album.php:333 -msgid "Select album" -msgstr "Wähle Album" - -#: ../admin/album.php:286 -msgid "No album selected" -msgstr "Kein Album ausgewählt" - -#: ../admin/album.php:297 -#: ../admin/edit-thumbnail.php:157 -msgid "Update" -msgstr "Aktualisiere" - -#: ../admin/album.php:299 -msgid "Edit album" -msgstr "Album ändern" - -#: ../admin/album.php:302 -#: ../admin/manage-galleries.php:139 -#: ../admin/manage-images.php:445 -msgid "Delete" -msgstr "Lösche" - -#: ../admin/album.php:306 -msgid "Add new album" -msgstr "Album hinzufügen" - -#: ../admin/album.php:308 -msgid "Add" -msgstr "Hinzufügen" - -#: ../admin/album.php:319 -msgid "Show / hide used galleries" -msgstr "Zeige / Verstecke verwendete Galerien" - -#: ../admin/album.php:319 -msgid "[Show all]" -msgstr "[Alle zeigen]" - -#: ../admin/album.php:320 -msgid "Maximize the widget content" -msgstr "Maximiere die Widgets" - -#: ../admin/album.php:320 -msgid "[Maximize]" -msgstr "[Vergrößern]" - -#: ../admin/album.php:321 -msgid "Minimize the widget content" -msgstr "Minimiere die Widgets" - -#: ../admin/album.php:321 -msgid "[Minimize]" -msgstr "[Verkleinern]" - -#: ../admin/album.php:323 -msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below" -msgstr "Nachdem Du ein Album erstellt und ausgewählt hast, kannst Du per Drag & Drop eine Galerie oder ein anderes Album in das neue Album ziehen" - -#: ../admin/album.php:349 -msgid "Select gallery" -msgstr "Wähle Galerie" - -#: ../admin/album.php:378 -msgid "Album ID" -msgstr "Album ID" - -#: ../admin/album.php:391 -msgid "No album selected!" -msgstr "Kein Album ausgewählt" - -#: ../admin/album.php:411 -msgid "Album name:" -msgstr "Album Name :" - -#: ../admin/album.php:417 -msgid "Album description:" -msgstr "Beschreibung:" - -#: ../admin/album.php:423 -msgid "Select a preview image:" -msgstr "Wähle Vorschaubild:" - -#: ../admin/album.php:426 -#: ../admin/album.php:429 -msgid "No picture" -msgstr "Kein Bild" - -#: ../admin/album.php:440 -#: ../admin/manage-images.php:257 -msgid "Page Link to" -msgstr "Seite verlinkt zu" - -#: ../admin/album.php:442 -#: ../admin/manage-images.php:260 -msgid "Not linked" -msgstr "Nicht verlinkt" - -#: ../admin/album.php:455 -#: ../admin/manage-galleries.php:293 -#: ../admin/manage-galleries.php:322 -#: ../admin/manage-galleries.php:352 -#: ../admin/manage-images.php:539 -#: ../admin/manage-images.php:575 -#: ../admin/manage-images.php:604 -#: ../admin/manage-images.php:634 -msgid "OK" -msgstr "OK" - -#: ../admin/album.php:457 -#: ../admin/manage-galleries.php:295 -#: ../admin/manage-galleries.php:324 -#: ../admin/manage-galleries.php:354 -#: ../admin/manage-images.php:541 -#: ../admin/manage-images.php:577 -#: ../admin/manage-images.php:606 -#: ../admin/manage-images.php:636 -msgid "Cancel" -msgstr "Abbrechen" - -#: ../admin/album.php:541 -msgid "Name" -msgstr "Name" - -#: ../admin/album.php:542 -#: ../admin/manage-images.php:255 -msgid "Title" -msgstr "Titel" - -#: ../admin/album.php:543 -msgid "Page" -msgstr "Seite" - -#: ../admin/edit-thumbnail.php:106 -msgid "Select with the mouse the area for the new thumbnail" -msgstr "Wähle mit der Maus den Bereich für das neue Thumbnail" - -#: ../admin/edit-thumbnail.php:120 -msgid "Thumbnail updated" -msgstr "Thumbnail geändert" - -#: ../admin/edit-thumbnail.php:125 -msgid "Error updating thumbnail" -msgstr "Konnte Vorschaubild nicht erzeugen" - -#: ../admin/edit-thumbnail.php:142 -msgid "Select the area for the thumbnail from the picture on the left." -msgstr "Wähle den Ausschnitt für das Vorschaubild innerhalb des Bildes" - -#: ../admin/functions.php:39 -msgid "No valid gallery name!" -msgstr "Kein gültiger Galerie-Name!" - -#: ../admin/functions.php:46 -#: ../admin/functions.php:55 -#: ../admin/functions.php:80 -#: ../admin/functions.php:149 -#: ../admin/functions.php:157 -msgid "Directory" -msgstr "Verzeichnis" - -#: ../admin/functions.php:46 -msgid "didn't exist. Please create first the main gallery folder " -msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis." - -#: ../admin/functions.php:47 -#: ../admin/functions.php:56 -msgid "Check this link, if you didn't know how to set the permission :" -msgstr "Dieser Link zeigt Dir, wie man Verzeichnisrechte ändert :" - -#: ../admin/functions.php:55 -#: ../admin/functions.php:80 -msgid "is not writeable !" -msgstr "ist schreibgeschützt !" - -#: ../admin/functions.php:76 -#: ../admin/functions.php:85 -#: ../admin/functions.php:889 -msgid "Unable to create directory " -msgstr "Kann Verzeichnis nicht erstellen " - -#: ../admin/functions.php:89 -msgid "The server setting Safe-Mode is on !" -msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)" - -#: ../admin/functions.php:90 -msgid "If you have problems, please create directory" -msgstr "Wenn Probleme auftreten, erstelle bitte das Verzeichnis" - -#: ../admin/functions.php:91 -msgid "and the thumbnails directory" -msgstr "und das Thumbnails-Verzeichnis" - -#: ../admin/functions.php:91 -msgid "with permission 777 manually !" -msgstr "mit den Berechtigungen 777 manuell !" - -#: ../admin/functions.php:116 -#, php-format -msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.
    " -msgstr "Galerie ID %1$s erstellt..
    Du kannst diese Galerie jetzt mit dem Stichwort %2$s in einen Artikel einbinden.
    " - -#: ../admin/functions.php:119 -msgid "Edit gallery" -msgstr "Galerie ändern" - -#: ../admin/functions.php:149 -msgid "doesn`t exist!" -msgstr "gibt es nicht !" - -#: ../admin/functions.php:157 -msgid "contains no pictures" -msgstr "enthält keine Bilder" - -#: ../admin/functions.php:175 -msgid "Database error. Could not add gallery!" -msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!" - -#: ../admin/functions.php:178 -msgid "successfully created!" -msgstr "erfolgreich erstellt!" - -#: ../admin/functions.php:207 -#: ../admin/functions.php:1006 -#: ../admin/manage-galleries.php:74 -#: ../admin/manage-galleries.php:141 -#: ../admin/manage-images.php:202 -#: ../admin/manage-images.php:341 -#: ../admin/manage.php:216 -#: ../admin/manage.php:292 -msgid "Create new thumbnails" -msgstr "Neue Vorschaubilder erstellen" - -#: ../admin/functions.php:210 -msgid " picture(s) successfully added" -msgstr " Bild(er) erfolgreich hinzugefügt" - -#: ../admin/functions.php:260 -#: ../admin/functions.php:340 -#: ../admin/functions.php:395 -#: ../admin/functions.php:492 -#: ../admin/functions.php:546 -msgid "Object didn't contain correct data" -msgstr "Das Objekt enhält nicht die notwendigen Daten" - -#: ../admin/functions.php:268 -msgid " is not writeable " -msgstr "ist schreibgeschützt !" - -#: ../admin/functions.php:350 -#: ../admin/functions.php:398 -#: ../admin/functions.php:498 -#: ../admin/functions.php:549 -msgid " is not writeable" -msgstr "ist schreibgeschützt !" - -#: ../admin/functions.php:552 -msgid "File do not exists" -msgstr "Datei existiert nicht" - -#: ../admin/functions.php:556 -msgid "Couldn't restore original image" -msgstr "Konnte Originalbild nicht wiederherstellen" - -#: ../admin/functions.php:669 -msgid "(Error : Couldn't not update data base)" -msgstr "(Fehler : Konnte Datenbank nicht updaten)" - -#: ../admin/functions.php:676 -msgid "(Error : Couldn't not update meta data)" -msgstr "(Fehler : Konnte Metadaten nicht speichern)" - -#: ../admin/functions.php:685 -msgid "(Error : Couldn't not find image)" -msgstr "(Fehler : Konnte das Bild nicht finden)" - -#: ../admin/functions.php:823 -msgid "No valid URL path " -msgstr "Kein gültiger URL-Pfad" - -#: ../admin/functions.php:839 -msgid "Import via cURL failed." -msgstr "Import via cURL abgebrochen" - -#: ../admin/functions.php:856 -msgid "Uploaded file was no or a faulty zip file ! The server recognized : " -msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :" - -#: ../admin/functions.php:873 -msgid "Could not get a valid foldername" -msgstr "Konnte keinen gültigen Verzeichnisnamen finden" - -#: ../admin/functions.php:884 -#, php-format -msgid "Unable to create directory %s. Is its parent directory writable by the server?" -msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?" - -#: ../admin/functions.php:899 -msgid "Zip-File successfully unpacked" -msgstr "Zip-Datei erfolgreich entpackt" - -#: ../admin/functions.php:938 -#: ../admin/functions.php:1055 -msgid "Failure in database, no gallery path set !" -msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !" - -#: ../admin/functions.php:962 -#: ../admin/functions.php:1049 -msgid "is no valid image file!" -msgstr "ist keine zulässige Bilddatei !" - -#: ../admin/functions.php:976 -#: ../admin/functions.php:1175 -#: ../admin/functions.php:1252 -#, php-format -msgid "Unable to write to directory %s. Is this directory writable by the server?" -msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?" - -#: ../admin/functions.php:983 -#: ../admin/functions.php:1072 -msgid "Error, the file could not be moved to : " -msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :" - -#: ../admin/functions.php:988 -#: ../admin/functions.php:1076 -msgid "Error, the file permissions could not be set" -msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden" - -#: ../admin/functions.php:1011 -msgid " Image(s) successfully added" -msgstr " Bild(er) erfolgreich hinzugefügt" - -#: ../admin/functions.php:1038 -msgid "Invalid upload. Error Code : " -msgstr "Ungültiger Upload. Fehler Code :" - -#: ../admin/functions.php:1115 -#, php-format -msgid "SAFE MODE Restriction in effect! You need to create the folder %s manually" -msgstr "SAFE MODE Einschränkungen ist aktiv. Du musst das Verzeichnis %s manuell anlegen." - -#: ../admin/functions.php:1116 -#, php-format -msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory" -msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP, ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt." - -#: ../admin/functions.php:1169 -#: ../admin/functions.php:1246 -msgid "The destination gallery does not exist" -msgstr "Die ausgewählte Galerie existiert nicht" - -#: ../admin/functions.php:1200 -#, php-format -msgid "Failed to move image %1$s to %2$s" -msgstr "Konnte das Bild %1$s nicht nach %2$s verschieben" - -#: ../admin/functions.php:1220 -#, php-format -msgid "Moved %1$s picture(s) to gallery : %2$s ." -msgstr " %1$s Bild(er) in Galerie : %2$s verschoben." - -#: ../admin/functions.php:1279 -#, php-format -msgid "Failed to copy image %1$s to %2$s" -msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren" - -#: ../admin/functions.php:1293 -#, php-format -msgid "Failed to copy database row for picture %s" -msgstr "Fehler bei der Datenbank-Operation für Bild %s" - -#: ../admin/functions.php:1305 -#, php-format -msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery." -msgstr "Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert » Die Datei existierte bereits." - -#: ../admin/functions.php:1308 -#, php-format -msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" -msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)" - -#: ../admin/functions.php:1317 -#, php-format -msgid "Copied %1$s picture(s) to gallery: %2$s ." -msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ." - -#: ../admin/functions.php:1425 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Die Datei überschreitet die erlaubte Grösse (upload_max_filesize) in der php.ini" - -#: ../admin/functions.php:1428 -msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" -msgstr "Die Datei ist zu gross" - -#: ../admin/functions.php:1431 -msgid "The uploaded file was only partially uploaded" -msgstr "Die Datei wurde nur teilweise hochgeladen" - -#: ../admin/functions.php:1434 -msgid "No file was uploaded" -msgstr "Keinen Datei wurde geladen" - -#: ../admin/functions.php:1437 -msgid "Missing a temporary folder" -msgstr "Konnte temporäres Verzeichnis nicht finden" - -#: ../admin/functions.php:1440 -msgid "Failed to write file to disk" -msgstr "Konnte Datei nicht speichern" - -#: ../admin/functions.php:1443 -msgid "File upload stopped by extension" -msgstr "Upload dieser Dateierweiterung nicht erlaubt" - -#: ../admin/functions.php:1446 -msgid "Unknown upload error" -msgstr "Unbekannter Uploadfehler" - -#: ../admin/install.php:23 -msgid "Sorry, NextGEN Gallery works only with a role called administrator" -msgstr "Tut mir leid, aber NextGEN Gallery benötigt zwingend die Rolle \"Administrator\"" - -#: ../admin/install.php:112 -msgid "NextGEN Gallery : Tables could not created, please check your database settings" -msgstr "NextGEN Gallery : Tabellen konnten nicht erstellt werden, überprüfe Deine Datenbank" - -#: ../admin/install.php:170 -msgid "[Show as slideshow]" -msgstr "[Zeige als Diashow]" - -#: ../admin/install.php:171 -msgid "[Show picture list]" -msgstr "[Zeige Bilder-Liste]" - -#: ../admin/manage-galleries.php:20 -#: ../admin/manage-images.php:55 -msgid "«" -msgstr "«" - -#: ../admin/manage-galleries.php:21 -#: ../admin/manage-images.php:56 -msgid "»" -msgstr "»" - -#: ../admin/manage-galleries.php:62 -#: ../admin/manage-images.php:170 -msgid "No images selected" -msgstr "Keine Bilder ausgewählt" - -#: ../admin/manage-galleries.php:70 -#: ../admin/manage-galleries.php:142 -#: ../admin/manage-images.php:198 -#: ../admin/manage-images.php:342 -#: ../admin/manage.php:200 -#: ../admin/manage.php:278 -msgid "Resize images" -msgstr "Bilder verkleinern" - -#: ../admin/manage-galleries.php:79 -#, php-format -msgid "" -"You are about to start the bulk edit for %s galleries \n" -" \n" -" 'Cancel' to stop, 'OK' to proceed." -msgstr "" -"Du startest die Bearbeitung von %s Galerien \n" -" \n" -" 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." - -#: ../admin/manage-galleries.php:123 -#: ../admin/manage-galleries.php:126 -#: ../admin/manage-images.php:225 -#: ../admin/manage-images.php:228 -msgid "Search Images" -msgstr "Suche Bilder" - -#: ../admin/manage-galleries.php:138 -#: ../admin/manage-images.php:339 -msgid "Bulk actions" -msgstr "Aktion wählen" - -#: ../admin/manage-galleries.php:140 -#: ../admin/manage-images.php:340 -#: ../admin/manage.php:133 -#: ../admin/manage.php:242 -msgid "Set watermark" -msgstr "Wasserzeichen setzen" - -#: ../admin/manage-galleries.php:143 -#: ../admin/manage-images.php:345 -#: ../admin/manage.php:138 -#: ../admin/manage.php:262 -msgid "Import metadata" -msgstr "Metadaten importieren" - -#: ../admin/manage-galleries.php:144 -#: ../admin/manage-images.php:343 -#: ../admin/manage.php:128 -#: ../admin/manage.php:239 -msgid "Recover from backup" -msgstr "Original wiederherstellen" - -#: ../admin/manage-galleries.php:146 -#: ../admin/manage-images.php:354 -msgid "Apply" -msgstr "Übernehmen" - -#: ../admin/manage-galleries.php:154 -#: ../admin/manage-galleries.php:266 -#: ../admin/manage-images.php:330 -#: ../admin/manage-images.php:514 -#, php-format -msgid "Displaying %s–%s of %s" -msgstr "Zeige %s–%s von %s" - -#: ../admin/manage-galleries.php:219 -msgid "Edit" -msgstr "Bearbeiten" - -#: ../admin/manage-galleries.php:259 -#: ../admin/manage-images.php:505 -msgid "No entries found" -msgstr "Keine Einträge gefunden" - -#: ../admin/manage-galleries.php:313 -#: ../admin/manage-images.php:595 -msgid "Resize Images to" -msgstr "Verkleiner Bilder auf" - -#: ../admin/manage-galleries.php:317 -#: ../admin/manage-images.php:599 -msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" -msgstr "Breite x Höhe (in Pixel). Das Seitenverhältnis wird berücksichtigt." - -#: ../admin/manage-galleries.php:341 -#: ../admin/manage-images.php:623 -msgid "Width x height (in pixel)" -msgstr "Breite x Höhe (in Pixel)" - -#: ../admin/manage-galleries.php:343 -#: ../admin/manage-images.php:625 -msgid "These values are maximum values " -msgstr "Diese Angaben sind maximale Angaben." - -#: ../admin/manage-galleries.php:346 -#: ../admin/manage-images.php:628 -msgid "Set fix dimension" -msgstr "Setze feste Größe" - -#: ../admin/manage-galleries.php:348 -#: ../admin/manage-images.php:630 -msgid "Ignore the aspect ratio, no portrait thumbnails" -msgstr "Ignoriere Bildseitenverhältnis" - -#: ../admin/manage-galleries.php:371 -#: ../admin/manage-images.php:658 -msgid "ID" -msgstr "ID" - -#: ../admin/manage-galleries.php:373 -#: ../admin/manage-images.php:266 -#: ../admin/manage-images.php:663 -msgid "Description" -msgstr "Beschreibung" - -#: ../admin/manage-galleries.php:374 -#: ../admin/manage-images.php:287 -msgid "Author" -msgstr "Autor" - -#: ../admin/manage-galleries.php:375 -msgid "Page ID" -msgstr "Seiten-ID" - -#: ../admin/manage-galleries.php:376 -msgid "Image" -msgid_plural "Images" -msgstr[0] "Bild" -msgstr[1] "Bilder" - -#: ../admin/manage-images.php:32 -msgid "Gallery not found." -msgstr "Galerie nicht gefunden" - -#: ../admin/manage-images.php:38 -msgid "Sorry, you have no access here" -msgstr "Sorry, Du hast nicht genügend Rechte" - -#: ../admin/manage-images.php:178 -msgid "Copy image to..." -msgstr "Kopiere nach..." - -#: ../admin/manage-images.php:182 -msgid "Move image to..." -msgstr "Verschiebe nach..." - -#: ../admin/manage-images.php:186 -msgid "Add new tags" -msgstr "Stichwörter hinzufügen" - -#: ../admin/manage-images.php:190 -#: ../admin/manage-images.php:351 -msgid "Delete tags" -msgstr "Stichwörter löschen" - -#: ../admin/manage-images.php:194 -msgid "Overwrite" -msgstr "Überschreiben" - -#: ../admin/manage-images.php:207 -#, php-format -msgid "" -"You are about to start the bulk edit for %s images \n" -" \n" -" 'Cancel' to stop, 'OK' to proceed." -msgstr "" -"Du startest die Bearbeitung von %s Bildern \n" -" \n" -" 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." - -#: ../admin/manage-images.php:222 -#, php-format -msgid "Search results for “%s”" -msgstr "Suchergebinsse für “%s”" - -#: ../admin/manage-images.php:251 -msgid "Gallery settings" -msgstr "Galerie Einstellungen" - -#: ../admin/manage-images.php:251 -msgid "Click here for more settings" -msgstr "Hier klicken für weitere Einstellungen" - -#: ../admin/manage-images.php:268 -msgid "Preview image" -msgstr "Vorschau-Bild" - -#: ../admin/manage-images.php:271 -msgid "No Picture" -msgstr "Kein Bild" - -#: ../admin/manage-images.php:285 -msgid "Path" -msgstr "Pfad" - -#: ../admin/manage-images.php:302 -msgid "Create new page" -msgstr "Neue Seite erstellen" - -#: ../admin/manage-images.php:305 -msgid "Main page (No parent)" -msgstr "Hauptseite (keine Unterseite)" - -#: ../admin/manage-images.php:308 -msgid "Add page" -msgstr "Seite hinzufügen" - -#: ../admin/manage-images.php:317 -msgid "Scan Folder for new images" -msgstr "Überprüfe Verzeichnis nach neuen Bildern" - -#: ../admin/manage-images.php:318 -#: ../admin/manage-images.php:360 -#: ../admin/manage-images.php:512 -msgid "Save Changes" -msgstr "Änderungen speichern" - -#: ../admin/manage-images.php:344 -msgid "Delete images" -msgstr "Bilder löschen" - -#: ../admin/manage-images.php:346 -msgid "Rotate images clockwise" -msgstr "Rechts drehen" - -#: ../admin/manage-images.php:347 -msgid "Rotate images counter-clockwise" -msgstr "Links drehen" - -#: ../admin/manage-images.php:348 -msgid "Copy to..." -msgstr "Kopiere nach..." - -#: ../admin/manage-images.php:349 -msgid "Move to..." -msgstr "Verschiebe nach..." - -#: ../admin/manage-images.php:350 -msgid "Add tags" -msgstr "Stichwörter hinzufügen" - -#: ../admin/manage-images.php:352 -msgid "Overwrite tags" -msgstr "Stichwörter überschreiben" - -#: ../admin/manage-images.php:357 -msgid "Sort gallery" -msgstr "Sortiere Bilder" - -#: ../admin/manage-images.php:431 -msgid "pixel" -msgstr "pixel" - -#: ../admin/manage-images.php:437 -#, php-format -msgid "View \"%s\"" -msgstr "Anzeigen \"%s\"" - -#: ../admin/manage-images.php:437 -msgid "View" -msgstr "Ansehen" - -#: ../admin/manage-images.php:438 -msgid "Show Meta data" -msgstr "Zeige Metadaten" - -#: ../admin/manage-images.php:438 -msgid "Meta" -msgstr "Meta" - -#: ../admin/manage-images.php:439 -msgid "Customize thumbnail" -msgstr "Thumbnails anpassen" - -#: ../admin/manage-images.php:439 -msgid "Edit thumb" -msgstr "Thumbnail ändern" - -#: ../admin/manage-images.php:440 -msgid "Rotate" -msgstr "Drehen" - -#: ../admin/manage-images.php:442 -msgid "Publish this image" -msgstr "Bild veröffentlichen" - -#: ../admin/manage-images.php:442 -msgid "Publish" -msgstr "Veröffentlichen" - -#: ../admin/manage-images.php:444 -msgid "Recover" -msgstr "Rücksetzen" - -#: ../admin/manage-images.php:444 -#, php-format -msgid "Recover \"%s\" ?" -msgstr " \"%s\" wiederherstellen ?" - -#: ../admin/manage-images.php:445 -#, php-format -msgid "Delete \"%s\" ?" -msgstr "Lösche \"%s\" ?" - -#: ../admin/manage-images.php:535 -msgid "Enter the tags" -msgstr "Stichwörter angeben" - -#: ../admin/manage-images.php:559 -msgid "Select the destination gallery:" -msgstr "Galerie auswählen:" - -#: ../admin/manage-images.php:659 -msgid "Thumbnail" -msgstr "Thumbnail" - -#: ../admin/manage-images.php:661 -#: ../admin/manage-sort.php:77 -msgid "Filename" -msgstr "Dateiname" - -#: ../admin/manage-images.php:663 -msgid "Alt & Title Text" -msgstr "Alt & Titel Text" - -#: ../admin/manage-images.php:664 -msgid "Tags (comma separated list)" -msgstr "Stichwörter (Tags)" - -#: ../admin/manage-images.php:666 -msgid "exclude" -msgstr "ausschließen" - -#: ../admin/manage-sort.php:33 -msgid "Sort order changed" -msgstr "Reihenfolge aktualisiert" - -#: ../admin/manage-sort.php:62 -msgid "Sort Gallery" -msgstr "Sortiere Bilder" - -#: ../admin/manage-sort.php:66 -msgid "Update Sort Order" -msgstr "Sortierung speichern" - -#: ../admin/manage-sort.php:69 -msgid "Back to gallery" -msgstr "Zurück zur Galerie" - -#: ../admin/manage-sort.php:74 -msgid "Presort" -msgstr "Vorsortieren" - -#: ../admin/manage-sort.php:75 -msgid "Unsorted" -msgstr "Unsortiert" - -#: ../admin/manage-sort.php:76 -msgid "Image ID" -msgstr "Bilder ID" - -#: ../admin/manage-sort.php:78 -msgid "Alt/Title text" -msgstr "Alt / Titel Text" - -#: ../admin/manage-sort.php:79 -msgid "Date/Time" -msgstr "Datum/Zeit" - -#: ../admin/manage-sort.php:80 -msgid "Ascending" -msgstr "Aufsteigend" - -#: ../admin/manage-sort.php:81 -msgid "Descending" -msgstr "Absteigend" - -#: ../admin/manage.php:77 -msgid "Picture" -msgstr "Bild" - -#: ../admin/manage.php:77 -msgid "deleted successfully" -msgstr "erfolgreich gelöscht" - -#: ../admin/manage.php:92 -#: ../admin/manage.php:101 -msgid "Operation successful. Please clear your browser cache." -msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache löschen." - -#: ../admin/manage.php:168 -msgid "Gallery deleted successfully " -msgstr "Galerie gelöscht" - -#: ../admin/manage.php:233 -#: ../admin/manage.php:236 -msgid "Rotate images" -msgstr "Bild drehen" - -#: ../admin/manage.php:258 -msgid "Pictures deleted successfully " -msgstr "Bilder erfolgreich gelöscht" - -#: ../admin/manage.php:354 -msgid "Tags changed" -msgstr "Stichwörter geändert" - -#: ../admin/manage.php:390 -msgid "Update successful" -msgstr "Aktualisierung erfolgreich" - -#: ../admin/manage.php:425 -msgid "New gallery page ID" -msgstr "Neue Galerie Seiten ID" - -#: ../admin/manage.php:425 -msgid "created" -msgstr "erstellt" - -#: ../admin/manage.php:461 -msgid "Published a new post" -msgstr "Verföffentliche einen neuen Beitrag" - -#: ../admin/media-upload.php:166 -msgid "No gallery" -msgstr "Keine Galerie" - -#: ../admin/media-upload.php:178 -msgid "Select »" -msgstr "Wähle »" - -#: ../admin/media-upload.php:209 -msgid "Show" -msgstr "Zeige" - -#: ../admin/media-upload.php:210 -msgid "Hide" -msgstr "Verstecke" - -#: ../admin/media-upload.php:215 -msgid "Image ID:" -msgstr "Bild ID:" - -#: ../admin/media-upload.php:229 -#: ../admin/publish.php:55 -msgid "Alignment" -msgstr "Ausrichtung" - -#: ../admin/media-upload.php:232 -#: ../admin/publish.php:57 -#: ../admin/settings.php:478 -msgid "None" -msgstr "Keiner" - -#: ../admin/media-upload.php:234 -#: ../admin/publish.php:59 -#: ../admin/tinymce/window.php:120 -msgid "Left" -msgstr "Links" - -#: ../admin/media-upload.php:236 -#: ../admin/publish.php:61 -#: ../admin/tinymce/window.php:121 -msgid "Center" -msgstr "Zentrieren" - -#: ../admin/media-upload.php:238 -#: ../admin/publish.php:63 -#: ../admin/tinymce/window.php:122 -msgid "Right" -msgstr "Rechts" - -#: ../admin/media-upload.php:242 -#: ../admin/settings.php:585 -msgid "Size" -msgstr "Größe" - -#: ../admin/media-upload.php:248 -msgid "Full size" -msgstr "Volle Größe" - -#: ../admin/media-upload.php:250 -msgid "Singlepic" -msgstr "Einzelbilder" - -#: ../admin/media-upload.php:263 -msgid "Insert into Post" -msgstr "In den Beitrag einfügen" - -#: ../admin/media-upload.php:274 -msgid "Save all changes" -msgstr "Änderungen speichern" - -#: ../admin/overview.php:14 -msgid "NextGEN Gallery Overview" -msgstr "NextGEN Gallery Übersicht" - -#: ../admin/overview.php:86 -msgid "Welcome to NextGEN Gallery !" -msgstr "Willkomen bei NextGEN Gallery" - -#: ../admin/overview.php:87 -msgid "Do you like this Plugin?" -msgstr "Bist Du mit dem Plugin zufrieden ?" - -#: ../admin/overview.php:89 -msgid "Translation" -msgstr "Übersetzung" - -#: ../admin/overview.php:90 -msgid "Latest News" -msgstr "Letzte Informationen" - -#: ../admin/overview.php:91 -msgid "Recent donators" -msgstr "Neueste Spender" - -#: ../admin/overview.php:93 -msgid "Plugin Check" -msgstr "Plugin prüfen" - -#: ../admin/overview.php:94 -msgid "Server Settings" -msgstr "Server- Einstellungen" - -#: ../admin/overview.php:95 -msgid "Related plugins" -msgstr "Verwandte Plugins" - -#: ../admin/overview.php:101 -#, php-format -msgid "This plugin is primarily developed, maintained, supported and documented by Alex Rabe with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!" -msgstr "Dieses Plugin wird mit viel Mühe & Leidenschaft entwickelt, dokumentiert und supported von Alex Rabe. Vielleicht möchtest Du dich ja dankbar zeigen. " - -#: ../admin/overview.php:106 -msgid "Give it a good rating on WordPress.org." -msgstr "Bitte bewerte das Plugin bei WordPress.org." - -#: ../admin/overview.php:111 -msgid "Donate the work via paypal." -msgstr "Zeig Dich für diese Arbeit per PayPal dankbar" - -#: ../admin/overview.php:116 -msgid "Send a gift to show your appreciation." -msgstr "Schau doch einfach auf meinen Wunschzettel." - -#: ../admin/overview.php:121 -msgid "Help translating it." -msgstr "Hilf das Plugin zu übersetzen." - -#: ../admin/overview.php:258 -msgid "Running..." -msgstr "Läuft... Bitte warten" - -#: ../admin/overview.php:305 -msgid "Check plugin/theme conflict" -msgstr "Plugin/Theme Konflikt prüfen" - -#: ../admin/overview.php:306 -#: ../admin/overview.php:312 -#: ../admin/overview.php:318 -msgid "Not tested" -msgstr "Nicht getested" - -#: ../admin/overview.php:307 -msgid "No conflict could be detected" -msgstr "Es konnte kein Konflikt festgestellt werden" - -#: ../admin/overview.php:308 -msgid "Test failed, disable other plugins & switch to default theme" -msgstr "Test fehlgeschlagen, deaktiviere andere Plugins & aktiviere das Default Theme" - -#: ../admin/overview.php:311 -msgid "Test image function" -msgstr "Teste Bildbearbeitung" - -#: ../admin/overview.php:313 -msgid "The plugin could create images" -msgstr "Es konnte ein Bild erstellt werden" - -#: ../admin/overview.php:314 -msgid "Couldn't create image, check your memory limit" -msgstr "Konne kein Bild erzeugen, überprüfe dein Speicherlimit (Server)" - -#: ../admin/overview.php:317 -msgid "Check theme compatibility" -msgstr "Theme Kompatibilität prüfen" - -#: ../admin/overview.php:319 -msgid "Your theme should work fine with NextGEN Gallery" -msgstr "Dein Theme sollte mit NextGEN Gallery funktionieren" - -#: ../admin/overview.php:320 -msgid "wp_head()/wp_footer() is missing, contact the theme author" -msgstr "wp_head()/wp_footer() wurde nicht gefunden, kontaktiere den Theme Author" - -#: ../admin/overview.php:324 -msgid "Check plugin" -msgstr "Plugin prüfen" - -#: ../admin/overview.php:345 -msgid "Graphic Library" -msgstr "Grafik-Bibliothek" - -#: ../admin/overview.php:361 -#: ../admin/overview.php:410 -#: ../admin/overview.php:597 -#: ../admin/overview.php:787 -msgid "Loading…" -msgstr "Lade…" - -#: ../admin/overview.php:361 -#: ../admin/overview.php:410 -#: ../admin/overview.php:597 -#: ../admin/overview.php:787 -msgid "This widget requires JavaScript." -msgstr "Dieses Widget braucht JavaScript." - -#: ../admin/overview.php:374 -msgid "Thanks to all donators..." -msgstr "Danke an alle Spender..." - -#: ../admin/overview.php:396 -msgid "View all" -msgstr "Alle ansehen" - -#: ../admin/overview.php:422 -#, php-format -msgid "Newsfeed could not be loaded. Check the front page to check for updates." -msgstr "Der Newsfeed kann nicht geladen werden. Schaue auf die Hauptseite, um Updates mitzubekommen." - -#: ../admin/overview.php:434 -msgid "Untitled" -msgstr "Kein Titel" - -#: ../admin/overview.php:484 -msgid "At a Glance" -msgstr "Übersicht" - -#: ../admin/overview.php:510 -msgid "Upload pictures" -msgstr "Bilder hochladen" - -#: ../admin/overview.php:511 -msgid "Here you can control your images, galleries and albums." -msgstr "Hier kannst Du die Bilder, Galerien und Alben verwalten." - -#: ../admin/overview.php:541 -msgid "Storage Space" -msgstr "Speicherplatz" - -#: ../admin/overview.php:545 -#, php-format -msgid "%2$sMB" -msgstr "%2$sMB" - -#: ../admin/overview.php:546 -msgid "Space Allowed" -msgstr "Speicher verfügbar" - -#: ../admin/overview.php:553 -#, php-format -msgid "%2$sMB (%3$s%%)" -msgstr "%2$sMB (%3$s%%)" - -#: ../admin/overview.php:554 -msgid "Space Used" -msgstr "Verbrauchter Uploadspeicher" - -#: ../admin/overview.php:583 -msgid "Translation file successful updated. Please reload page." -msgstr "Übersetzungsdatei aktualisiert. Bitte Seite neu laden." - -#: ../admin/overview.php:585 -msgid "Reload page" -msgstr "Seite neu laden" - -#: ../admin/overview.php:590 -msgid "Translation file couldn't be updated" -msgstr "Übersetzung konnte nicht aktualisiert werden" - -#: ../admin/overview.php:627 -msgid "Download" -msgstr "Jetzt updaten" - -#: ../admin/overview.php:656 -msgid "No GD support" -msgstr "Keine GD Unterstützung" - -#: ../admin/overview.php:668 -#: ../admin/overview.php:714 -#: ../admin/overview.php:717 -#: ../admin/overview.php:720 -msgid "Yes" -msgstr "Ja" - -#: ../admin/overview.php:670 -#: ../admin/overview.php:715 -#: ../admin/overview.php:718 -#: ../admin/overview.php:721 -msgid "No" -msgstr "Nein" - -#: ../admin/overview.php:688 -msgid "Not set" -msgstr "Nicht gesetzt" - -#: ../admin/overview.php:690 -#: ../admin/overview.php:693 -msgid "On" -msgstr "An" - -#: ../admin/overview.php:691 -#: ../admin/overview.php:694 -msgid "Off" -msgstr "Aus" - -#: ../admin/overview.php:697 -#: ../admin/overview.php:700 -#: ../admin/overview.php:703 -#: ../admin/overview.php:706 -#: ../admin/overview.php:709 -#: ../admin/overview.php:712 -msgid "N/A" -msgstr "N/A" - -#: ../admin/overview.php:711 -msgid " MByte" -msgstr " MByte" - -#: ../admin/overview.php:724 -msgid "Operating System" -msgstr "Betriebssystem" - -#: ../admin/overview.php:725 -msgid "Server" -msgstr "Server" - -#: ../admin/overview.php:726 -msgid "Memory usage" -msgstr "Speicherverbrauch" - -#: ../admin/overview.php:727 -msgid "MYSQL Version" -msgstr "MySQL Version" - -#: ../admin/overview.php:728 -msgid "SQL Mode" -msgstr "SQL Modus" - -#: ../admin/overview.php:729 -msgid "PHP Version" -msgstr "PHP Version" - -#: ../admin/overview.php:730 -msgid "PHP Safe Mode" -msgstr "PHP Safe Mode" - -#: ../admin/overview.php:731 -msgid "PHP Allow URL fopen" -msgstr "PHP Allow URL fopen" - -#: ../admin/overview.php:732 -msgid "PHP Memory Limit" -msgstr "PHP Memory Limit" - -#: ../admin/overview.php:733 -msgid "PHP Max Upload Size" -msgstr "PHP Max Upload Größe" - -#: ../admin/overview.php:734 -msgid "PHP Max Post Size" -msgstr "PHP Max Post Größe" - -#: ../admin/overview.php:735 -msgid "PCRE Backtracking Limit" -msgstr "PCRE Backtracking Limit" - -#: ../admin/overview.php:736 -msgid "PHP Max Script Execute Time" -msgstr "PHP Max Script Execute Time" - -#: ../admin/overview.php:737 -msgid "PHP Exif support" -msgstr "PHP Exif Modul" - -#: ../admin/overview.php:738 -msgid "PHP IPTC support" -msgstr "PHP IPTC Modul" - -#: ../admin/overview.php:739 -msgid "PHP XML support" -msgstr "PHP XML Modul" - -#: ../admin/overview.php:751 -msgid "NextGEN Gallery contains some functions which are only available under PHP 5.2. You are using the old PHP 4 version, upgrade now! It's no longer supported by the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, running simultaneously. Ask your provider if they can do this." -msgstr "NextGEN Gallery enthält einige Funktionen, die nur unter PHP 5.2 verfügbar sind. Du nutzt immer noch die alte PHP 4 Version. Bitte aktualisiere so bald wie möglich diese Version, sie wird nicht mehr gepflegt und weiterentwicklelt. Die meisten Hoster bieten bereits PHP5 an. Bitte kontaktiere Deinen Provider und frag kurz nach, ob sie ein Update durchführen können." - -#: ../admin/overview.php:843 -msgid "Install" -msgstr "Installieren" - -#: ../admin/publish.php:45 -msgid "Post title" -msgstr "Beitragstitel" - -#: ../admin/publish.php:47 -msgid "Enter the post title " -msgstr "Artikelüberschrift " - -#: ../admin/publish.php:52 -msgid "Size of the image" -msgstr "Größe des Bildes" - -#: ../admin/publish.php:70 -msgid "Draft" -msgstr "Entwurf" - -#: ../admin/roles.php:22 -msgid "Updated capabilities" -msgstr "Zugriffsrechte geändert" - -#: ../admin/roles.php:28 -msgid "Roles / capabilities" -msgstr "Rollen / Zugriffsrechte" - -#: ../admin/roles.php:29 -msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress." -msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben soll. NextGEN Gallery unterstützt nur die Standard-Wordpress-Rollen-Fähigkeiten von WordPress." - -#: ../admin/roles.php:30 -msgid "For a more flexible user management you can use the" -msgstr "Nutze für eine flexiblere Rechteverwaltung den " - -#: ../admin/roles.php:35 -msgid "Main NextGEN Gallery overview" -msgstr "NextGEN Galerie Übersicht" - -#: ../admin/roles.php:39 -msgid "Use TinyMCE Button / Upload tab" -msgstr "TinyMCE Button / Upload Tab" - -#: ../admin/roles.php:43 -msgid "Add gallery / Upload images" -msgstr "Galerie einrichten / Bilder hochladen" - -#: ../admin/roles.php:47 -msgid "Manage gallery" -msgstr "Galerie verwalten" - -#: ../admin/roles.php:51 -msgid "Manage others gallery" -msgstr "Alle Galerien verwalten" - -#: ../admin/roles.php:55 -msgid "Manage tags" -msgstr "Verwalte Stichwörter" - -#: ../admin/roles.php:63 -msgid "Change style" -msgstr "Style anpassen" - -#: ../admin/roles.php:67 -msgid "Change options" -msgstr "Optionen änderen" - -#: ../admin/roles.php:71 -msgid "Update capabilities" -msgstr "Rechte aktualisieren" - -#: ../admin/rotate.php:55 -msgid "Image rotated" -msgstr "Bild gedreht" - -#: ../admin/rotate.php:56 -msgid "Error rotating thumbnail" -msgstr "Konnte Bild nicht bearbeiten" - -#: ../admin/rotate.php:81 -msgid "90° clockwise" -msgstr "90° rechts drehen" - -#: ../admin/rotate.php:82 -msgid "90° anticlockwise" -msgstr "90° links drehen" - -#: ../admin/rotate.php:83 -msgid "Flip vertically" -msgstr "Vertikal spiegeln" - -#: ../admin/rotate.php:84 -msgid "Flip horizontally" -msgstr "Horizontal spiegeln" - -#: ../admin/settings.php:92 -msgid "Cache cleared" -msgstr "Cache löschen" - -#: ../admin/settings.php:211 -#: ../admin/settings.php:230 -msgid "General Options" -msgstr "Allg. Optionen" - -#: ../admin/settings.php:212 -#: ../admin/settings.php:415 -msgid "Thumbnails" -msgstr "Thumbnails" - -#: ../admin/settings.php:213 -msgid "Images" -msgstr "Bilder" - -#: ../admin/settings.php:215 -#: ../admin/settings.php:467 -msgid "Effects" -msgstr "Effekte" - -#: ../admin/settings.php:216 -#: ../admin/settings.php:509 -#: ../admin/tinymce/window.php:110 -msgid "Watermark" -msgstr "Wasserzeichen" - -#: ../admin/settings.php:217 -#: ../admin/settings.php:416 -#: ../admin/settings.php:616 -#: ../admin/tinymce/window.php:63 -msgid "Slideshow" -msgstr "Slideshow" - -#: ../admin/settings.php:236 -#: ../admin/wpmu.php:68 -msgid "Gallery path" -msgstr "Galerie-Pfad" - -#: ../admin/settings.php:238 -msgid "This is the default path for all galleries" -msgstr "Dies ist der Standard-Pfad für alle Galerien" - -#: ../admin/settings.php:241 -msgid "Delete image files" -msgstr "Lösche Bilddateien" - -#: ../admin/settings.php:243 -msgid "Delete files, when removing a gallery in the database" -msgstr "Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird" - -#: ../admin/settings.php:246 -msgid "Activate permalinks" -msgstr "Aktiviere Permalinks" - -#: ../admin/settings.php:248 -msgid "When you activate this option, you need to update your permalink structure one time." -msgstr "Wenn Du diese Option aktivierst, muss Du einmal die Permalink Struktur aktualisieren." - -#: ../admin/settings.php:251 -msgid "Create new URL friendly image slugs" -msgstr "Erstelle neue URL lesbare Schlagwörter " - -#: ../admin/settings.php:252 -#: ../admin/settings.php:369 -msgid "Proceed now" -msgstr "Jetzt durchführen" - -#: ../admin/settings.php:253 -msgid "Currently not used, prepare database for upcoming version" -msgstr "Derzeit nicht genutzt, Vorbereitung für kommende Versionen" - -#: ../admin/settings.php:256 -msgid "Select graphic library" -msgstr "Wähle Grafik-Bibliothek" - -#: ../admin/settings.php:257 -msgid "GD Library" -msgstr "GD Bibliothek" - -#: ../admin/settings.php:258 -msgid "ImageMagick (Experimental). Path to the library :" -msgstr "ImageMagick (Experimental). Pfad zur Bibliothek :" - -#: ../admin/settings.php:263 -msgid "Activate Media RSS feed" -msgstr "Aktiviere Media-RSS-Feed" - -#: ../admin/settings.php:265 -msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" -msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt" - -#: ../admin/settings.php:268 -msgid "Activate PicLens/CoolIris support" -msgstr "Aktiviere PicLens/CoolIris" - -#: ../admin/settings.php:270 -msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme." -msgstr "Dieser Effekt fügt ein neues Javascript zu Deinem Theme hinzu. Beachte, dass wp_footer() in Deinen Vorlagen aufgerufen wird." - -#: ../admin/settings.php:273 -msgid "Tags / Categories" -msgstr "Stichwörter / Kategorien" - -#: ../admin/settings.php:276 -msgid "Activate related images" -msgstr "Verwandte Bilder anzeigen" - -#: ../admin/settings.php:278 -msgid "This option will append related images to every post" -msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag" - -#: ../admin/settings.php:282 -msgid "Match with" -msgstr "Vergleiche mit" - -#: ../admin/settings.php:283 -msgid "Categories" -msgstr "Kategorien" - -#: ../admin/settings.php:288 -msgid "Max. number of images" -msgstr "Max. Anzahl der Bilder" - -#: ../admin/settings.php:290 -msgid "0 will show all images" -msgstr "0 zeige alle verwandten Bilder" - -#: ../admin/settings.php:294 -#: ../admin/settings.php:325 -#: ../admin/settings.php:372 -#: ../admin/settings.php:457 -#: ../admin/settings.php:492 -#: ../admin/settings.php:753 -msgid "More settings" -msgstr "Mehr Einstellungen" - -#: ../admin/settings.php:304 -msgid "Thumbnail settings" -msgstr "Thumbnail-Einstellungen" - -#: ../admin/settings.php:308 -msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ." -msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst" - -#: ../admin/settings.php:321 -msgid "Thumbnail quality" -msgstr "Thumbnail Qualität" - -#: ../admin/settings.php:335 -msgid "Image settings" -msgstr "Bild-Einstellungen" - -#: ../admin/settings.php:341 -msgid "Resize Images" -msgstr "Bilder verkleinern" - -#: ../admin/settings.php:346 -msgid "Image quality" -msgstr "Bild Qualität" - -#: ../admin/settings.php:350 -msgid "Backup original images" -msgstr "Backup von Original-Bildern " - -#: ../admin/settings.php:352 -msgid "Creates a backup for inserted images" -msgstr "Backup der Bilder anlegen" - -#: ../admin/settings.php:355 -msgid "Automatically resize" -msgstr "Grösse automatisch anpassen" - -#: ../admin/settings.php:357 -msgid "Automatically resize images on upload." -msgstr "Passt die Grösse automatisch beim Upload an" - -#: ../admin/settings.php:360 -msgid "Single picture" -msgstr "Einzelbilder" - -#: ../admin/settings.php:363 -msgid "Cache single pictures" -msgstr "Nutze Cache für Einzelbilder" - -#: ../admin/settings.php:365 -msgid "Creates a file for each singlepic settings. Reduce the CPU load" -msgstr "Erstellt ein Cache-Bild für jedes Einzelbild (singlepic). Reduziert die CPU Belastung." - -#: ../admin/settings.php:368 -msgid "Clear cache folder" -msgstr "Lösche Cache-Verzeichnis" - -#: ../admin/settings.php:389 -msgid "Deactivate gallery page link" -msgstr "Keine Seitenverzweigung" - -#: ../admin/settings.php:391 -msgid "The album will not link to a gallery subpage. The gallery is shown on the same page." -msgstr "Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt angezeigt." - -#: ../admin/settings.php:395 -msgid "Number of images per page" -msgstr "Anzahl der Bilder pro Seite" - -#: ../admin/settings.php:397 -msgid "0 will disable pagination, all images on one page" -msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )" - -#: ../admin/settings.php:401 -msgid "Number of columns" -msgstr "Anzahl der Spalten" - -#: ../admin/settings.php:403 -msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images" -msgstr "Mit \"0\" werden soviele Bilder wie möglich in einer Reihe dargestellt. Die Einstellung ist normalerweise nur für Beschriftungen unterhalb der Bilder sinnvoll." - -#: ../admin/settings.php:407 -msgid "Integrate slideshow" -msgstr "Slideshow verwenden" - -#: ../admin/settings.php:414 -msgid "Show first" -msgstr "Zeige als Erstes" - -#: ../admin/settings.php:420 -msgid "Show ImageBrowser" -msgstr "Zeige Bilder-Browser" - -#: ../admin/settings.php:422 -msgid "The gallery will open the ImageBrowser instead the effect." -msgstr "Es wird der Bilder-Browser angezeigt (Kein JavaScript Effekt)" - -#: ../admin/settings.php:426 -msgid "Add hidden images" -msgstr "Versteckte Bilder hinzufügen" - -#: ../admin/settings.php:428 -msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load" -msgstr "Wenn Du die Blätterfunktion nutzt, dann kannst Du mit dieser Option alle Bilder im Modal-Fenster (Thickbox,Lightbox etc.) anzeigen. Berücksichtige, dass die Ladezeit der Seite erhöht wird." - -#: ../admin/settings.php:432 -msgid "Enable AJAX pagination" -msgstr "Aktiviere AJAX-Navigation" - -#: ../admin/settings.php:434 -msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect" -msgstr "Ermöglicht das Blättern zwischen den Bildern ohne die Seite neu zu laden. Hinweis : Funktioniert nur mit dem Shutter-Effekt." - -#: ../admin/settings.php:438 -msgid "Sort options" -msgstr "Sortierung" - -#: ../admin/settings.php:441 -msgid "Sort thumbnails" -msgstr "Thumbnails sortieren" - -#: ../admin/settings.php:443 -msgid "Custom order" -msgstr "Benutzerdefiniert" - -#: ../admin/settings.php:445 -msgid "File name" -msgstr "Dateiname" - -#: ../admin/settings.php:446 -msgid "Alt / Title text" -msgstr "Alt / Titel Text" - -#: ../admin/settings.php:447 -msgid "Date / Time" -msgstr "Datum/Zeit" - -#: ../admin/settings.php:451 -msgid "Sort direction" -msgstr "Sortierreihenfolge" - -#: ../admin/settings.php:471 -msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme." -msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML-Code verwenden. Bitte beachte, dass nur Shutter und der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)." - -#: ../admin/settings.php:472 -msgid "With the placeholder" -msgstr "Mit Platzhalter" - -#: ../admin/settings.php:472 -msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do." -msgstr "Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). Ändere nur die Codezeile, falls Du einen anderen Effekt für die Thumbnails verwendest oder einfach weißt, was Du tust." - -#: ../admin/settings.php:475 -msgid "JavaScript Thumbnail effect" -msgstr "JavaScript Thumbnail Effekt" - -#: ../admin/settings.php:479 -msgid "Thickbox" -msgstr "Thickbox" - -#: ../admin/settings.php:480 -msgid "Lightbox" -msgstr "Lightbox" - -#: ../admin/settings.php:481 -msgid "Highslide" -msgstr "Highslide" - -#: ../admin/settings.php:482 -msgid "Shutter" -msgstr "Shutter" - -#: ../admin/settings.php:483 -msgid "Custom" -msgstr "Eigener" - -#: ../admin/settings.php:488 -msgid "Link Code line" -msgstr "Link-Code-Zeile" - -#: ../admin/settings.php:510 -msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone." -msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. " - -#: ../admin/settings.php:515 -msgid "Preview" -msgstr "Vorschau" - -#: ../admin/settings.php:517 -#: ../admin/settings.php:522 -msgid "Position" -msgstr "Position" - -#: ../admin/settings.php:542 -msgid "Offset" -msgstr "Abstand" - -#: ../admin/settings.php:558 -msgid "Use image as watermark" -msgstr "Benutze das Bild als Wasserzeichen" - -#: ../admin/settings.php:561 -msgid "URL to file" -msgstr "URL zur Datei" - -#: ../admin/settings.php:563 -msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" -msgstr "Der Dateizugriff von URLs ist auf diesem Server deaktiviert (allow_url_fopen)" - -#: ../admin/settings.php:566 -msgid "Use text as watermark" -msgstr "Benutze Text als Wasserzeichen" - -#: ../admin/settings.php:569 -msgid "Font" -msgstr "Schriftart" - -#: ../admin/settings.php:578 -msgid "This function will not work, cause you need the FreeType library" -msgstr "Diese Funktion benötigt die FreeType-Bibliothek" - -#: ../admin/settings.php:580 -msgid "You can upload more fonts in the folder nggallery/fonts" -msgstr "Du kannst mehr Schriftarten in das Verzeichniss nggallery/fonts hochladen." - -#: ../admin/settings.php:589 -msgid "Color" -msgstr "Farbe" - -#: ../admin/settings.php:591 -msgid "(hex w/o #)" -msgstr "(hex w/o #)" - -#: ../admin/settings.php:594 -msgid "Text" -msgstr "Text" - -#: ../admin/settings.php:598 -msgid "Opaque" -msgstr "Transparenz" - -#: ../admin/settings.php:619 -msgid "Default size (W x H)" -msgstr "Standard Größe (B x H)" - -#: ../admin/settings.php:624 -msgid "Duration time" -msgstr "Dauer" - -#: ../admin/settings.php:625 -msgid "sec." -msgstr "Sek." - -#: ../admin/settings.php:628 -#: ../admin/settings.php:703 -msgid "Transition / Fade effect" -msgstr "Fade Effekt" - -#: ../admin/settings.php:631 -#: ../admin/settings.php:706 -msgid "fade" -msgstr "Fade" - -#: ../admin/settings.php:632 -msgid "blindX" -msgstr "blindX" - -#: ../admin/settings.php:633 -msgid "cover" -msgstr "Blenden" - -#: ../admin/settings.php:634 -msgid "scrollUp" -msgstr "ScrollUp" - -#: ../admin/settings.php:635 -msgid "scrollDown" -msgstr "ScrollDown" - -#: ../admin/settings.php:636 -msgid "shuffle" -msgstr "Shuffle" - -#: ../admin/settings.php:637 -msgid "toss" -msgstr "Schüttel" - -#: ../admin/settings.php:638 -msgid "wipe" -msgstr "wischen" - -#: ../admin/settings.php:640 -msgid "See here for more information about the effects :" -msgstr "Hier bekommst du mehr Informationen über die Effekte :" - -#: ../admin/settings.php:644 -msgid "Settings for the JW Image Rotator" -msgstr "JW-Image-Rotator Einstellungen" - -#: ../admin/settings.php:645 -msgid "The settings are only used in the JW Image Rotator Version" -msgstr "Die Einstellungen werden im JW-Image-Rotator benutzt, in der Version" - -#: ../admin/settings.php:646 -msgid "See more information for the Flash Player on the web page" -msgstr "Weitere Informationen auf der Flash-Player-Homepage" - -#: ../admin/settings.php:651 -msgid "The path to imagerotator.swf is not defined, the slideshow will not work." -msgstr "Der Pfad zu imagerotator.swf ist nicht gesetzt, die Flash-Diaschau kann dann nicht angezeigt werden" - -#: ../admin/settings.php:652 -msgid "If you would like to use the JW Image Rotatator, please download the player here and upload it to your Upload folder (Default is wp-content/uploads)." -msgstr "Wenn Du den JW-Image-Rotator (Slideshow) nutzen möchtest, lade Dir die aktuelle Version hier herunter und übertrage sie dann in Dein WordPress-Upload-Verzeichnis (normalerweise wp-content/uploads)," - -#: ../admin/settings.php:658 -msgid "Enable flash slideshow" -msgstr "Aktiviere Flash Slideshow" - -#: ../admin/settings.php:660 -msgid "Integrate the flash based slideshow for all flash supported devices" -msgstr "Verwende die Flash Slideshow für alle Flash-unterstützte Geräte" - -#: ../admin/settings.php:663 -msgid "Path to the Imagerotator (URL)" -msgstr "Pfad zum JW-Image-Rotator (URL)" - -#: ../admin/settings.php:666 -msgid "Search now" -msgstr "Suche jetzt" - -#: ../admin/settings.php:667 -msgid "Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder" -msgstr "Drücke 'Suche jetzt' um automatisch den Pfad zum Image-Rotator zu ermitteln, sofern Du den Player in wp-content/uploads oder ein Unterverzeichnis hochgeladen hast." - -#: ../admin/settings.php:671 -msgid "Shuffle mode" -msgstr "Shuffle Modus" - -#: ../admin/settings.php:675 -msgid "Show next image on click" -msgstr "Zeige nächstes Bild bei Klick" - -#: ../admin/settings.php:679 -msgid "Show navigation bar" -msgstr "Zeige Navigations-Leiste" - -#: ../admin/settings.php:683 -msgid "Show loading icon" -msgstr "Zeige Lade-Bildchen" - -#: ../admin/settings.php:687 -msgid "Use watermark logo" -msgstr "Wasserzeichen anzeigen" - -#: ../admin/settings.php:689 -msgid "You can change the logo at the watermark settings" -msgstr "Du kannst den Pfad in Einstellungen für das Wasserzeichen angeben" - -#: ../admin/settings.php:692 -msgid "Stretch image" -msgstr "Bild dehnen" - -#: ../admin/settings.php:695 -msgid "true" -msgstr "Ja" - -#: ../admin/settings.php:696 -msgid "false" -msgstr "Nein" - -#: ../admin/settings.php:697 -msgid "fit" -msgstr "Passend" - -#: ../admin/settings.php:698 -msgid "none" -msgstr "keiner" - -#: ../admin/settings.php:707 -msgid "bgfade" -msgstr "BGFade" - -#: ../admin/settings.php:708 -msgid "slowfade" -msgstr "Slowfade" - -#: ../admin/settings.php:709 -msgid "circles" -msgstr "Kreise" - -#: ../admin/settings.php:710 -msgid "bubbles" -msgstr "Blasen" - -#: ../admin/settings.php:711 -msgid "blocks" -msgstr "Blöcke" - -#: ../admin/settings.php:712 -msgid "fluids" -msgstr "Fluids" - -#: ../admin/settings.php:713 -msgid "flash" -msgstr "Flash" - -#: ../admin/settings.php:714 -msgid "lines" -msgstr "Linien" - -#: ../admin/settings.php:715 -msgid "random" -msgstr "Zufall" - -#: ../admin/settings.php:720 -msgid "Use slow zooming effect" -msgstr "nutze Zoom-Effekt" - -#: ../admin/settings.php:724 -msgid "Background Color" -msgstr "Hintergrund (BG) Farbe" - -#: ../admin/settings.php:729 -msgid "Texts / Buttons Color" -msgstr "Text- / Button Farbe" - -#: ../admin/settings.php:734 -msgid "Rollover / Active Color" -msgstr "Rollover / Aktiv (Link) Farbe" - -#: ../admin/settings.php:739 -msgid "Screen Color" -msgstr "Seiten-Farbe" - -#: ../admin/settings.php:744 -msgid "Background music (URL)" -msgstr "Hintergrundmusik (URL)" - -#: ../admin/settings.php:748 -msgid "Try XHTML validation (with CDATA)" -msgstr "Integriere XHTML-Validierung (mittels CDATA)" - -#: ../admin/settings.php:750 -msgid "Important : Could causes problem at some browser. Please recheck your page." -msgstr "Wichtig : Es könnten Probleme bei einigen Browser entstehen. Unbedingt Seite danach prüfen." - -#: ../admin/setup.php:15 -msgid "Reset all settings to default parameter" -msgstr "Stelle alle Einstellungen auf Anfangswerte zurück" - -#: ../admin/setup.php:26 -msgid "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !" -msgstr "Deinstallation erfolgreich! Nun kannst Du das Plugin löschen und Dein Leben weiterhin genießen! Stay geeky! Viel Glück!" - -#: ../admin/setup.php:30 -msgid "Reset options" -msgstr "Optionen zurücksetzen" - -#: ../admin/setup.php:33 -msgid "Reset all options/settings to the default installation." -msgstr "Alle Optionen/Einstellungen zurücksetzen" - -#: ../admin/setup.php:34 -msgid "Reset settings" -msgstr "Einstellungen zurücksetzen" - -#: ../admin/setup.php:34 -msgid "" -"Reset all options to default settings ?\\n" -"\\n" -"Choose [Cancel] to Stop, [OK] to proceed.\\n" -msgstr "" -"Alle Optionen zu Standard zurücksetzen ?\\n" -"\\n" -"Wähle [Cancel] um abzubrechen, [OK] zum Fortfahren.\\n" - -#: ../admin/setup.php:39 -msgid "Uninstall plugin tables" -msgstr "Plugin Tabellen (DB) entfernen" - -#: ../admin/setup.php:44 -msgid "You don't like NextGEN Gallery ?" -msgstr "Du magst die NextGEN Gallery nicht ?" - -#: ../admin/setup.php:45 -msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. " -msgstr "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den Uninstall-Button betätigen, damit alle Tabellen der Galerie entfernt werden." - -#: ../admin/setup.php:47 -msgid "WARNING:" -msgstr "WARNUNG:" - -#: ../admin/setup.php:48 -msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables" -msgstr "Eine einmalig durchgeführte Deinstallation kann nicht mehr rückgängig gemacht werden, da alle Tabellen der Galerie aus der Datenbank entfernt werden und KEIN Backup dieser Galerie-Tabellen angelegt wird." - -#: ../admin/setup.php:48 -msgid "and" -msgstr "und" - -#: ../admin/setup.php:50 -msgid "Uninstall plugin" -msgstr "Plugin deinstallieren" - -#: ../admin/setup.php:50 -msgid "" -"You are about to Uninstall this plugin from WordPress.\\n" -"This action is not reversible.\\n" -"\\n" -"Choose [Cancel] to Stop, [OK] to Uninstall.\\n" -msgstr "" -"Du bist dabei, das Plugin zu deinstallieren.\\n" -"Diese Aktion kann NICHT rückgängig gemacht werden.\\n" -"\\n" -"Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n" - -#: ../admin/showmeta.php:29 -msgid "Meta Data" -msgstr "Metadaten" - -#: ../admin/showmeta.php:34 -#: ../admin/showmeta.php:60 -#: ../admin/showmeta.php:85 -#: ../admin/showmeta.php:109 -msgid "Tag" -msgstr "Stichwort" - -#: ../admin/showmeta.php:35 -#: ../admin/showmeta.php:61 -#: ../admin/showmeta.php:86 -#: ../admin/showmeta.php:110 -msgid "Value" -msgstr "Wert" - -#: ../admin/showmeta.php:49 -msgid "No meta data saved" -msgstr "Keine Metadaten gespeichert" - -#: ../admin/showmeta.php:55 -msgid "EXIF Data" -msgstr "EXIF-Daten" - -#: ../admin/showmeta.php:74 -msgid "No exif data" -msgstr "Keine Exif-Daten" - -#: ../admin/showmeta.php:81 -msgid "IPTC Data" -msgstr "IPTC-Daten" - -#: ../admin/showmeta.php:105 -msgid "XMP Data" -msgstr "XMP-Daten" - -#: ../admin/style.php:11 -msgid "(From the theme folder)" -msgstr "(Aus dem Theme Verzeichnis)" - -#: ../admin/style.php:43 -msgid "You do not have sufficient permissions to edit templates for this blog." -msgstr "Du hast nicht die benötigten Rechte, um Vorlagen in diesem Blog zu bearbeiten." - -#: ../admin/style.php:52 -msgid "CSS file successfully updated" -msgstr "CSS-Datei erfolgreich aktualisiert" - -#: ../admin/style.php:89 -msgid "Style Editor" -msgstr "CSS-Editor" - -#: ../admin/style.php:93 -msgid "Activate and use style sheet:" -msgstr "Aktiviere und nutze Stylesheet:" - -#: ../admin/style.php:113 -msgid "Activate" -msgstr "Aktiviere" - -#: ../admin/style.php:123 -#, php-format -msgid "Editing %s" -msgstr "Bearbeite %s" - -#: ../admin/style.php:125 -#, php-format -msgid "Browsing %s" -msgstr "Durchsuche %s" - -#: ../admin/style.php:135 -msgid "Version" -msgstr "Version" - -#: ../admin/style.php:138 -msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade" -msgstr "Kleiner Tipp: Kopiere das Stylesheet (nggallery.css) in Dein Theme-Verzeichnis, dadurch wird es beim nächsten Update nicht überschrieben." - -#: ../admin/style.php:140 -msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used" -msgstr "Dein Theme-Paket enthält ein NextGEN-Gallery-Stylesheet (nggallery.css), dieses Sheet wird automatisch eingebunden" - -#: ../admin/style.php:142 -msgid "Tip No. 2: Use the color picker below to help you find the right color scheme for your gallery!" -msgstr "2.Tipp : Benutze die Farbauswahl, um den zugehörigen HTML-Farbcode zu erhalten" - -#: ../admin/style.php:158 -msgid "Update File" -msgstr "Datei aktualisieren" - -#: ../admin/style.php:161 -msgid "If this file were writable you could edit it." -msgstr "Wenn diese Datei beschreibbar wäre, könntest Du sie bearbeiten." - -#: ../admin/style.php:166 -msgid "Oops, no such file exists! Double check the name and try again, merci." -msgstr "Oha, eine solche Datei existiert nicht! Bitte überprüfe den Namen und probiere es erneut. Danke." - -#: ../admin/tags.php:38 -msgid "Most popular" -msgstr "Beliebteste Stichwörter" - -#: ../admin/tags.php:39 -msgid "Least used" -msgstr "Zuletzt benutzt" - -#: ../admin/tags.php:40 -msgid "Alphabetical" -msgstr "Alphabetisch" - -#: ../admin/tags.php:96 -msgid "Manage image tags" -msgstr "Verwalte Bilder-Stichwörter" - -#: ../admin/tags.php:108 -msgid "Existing Tags" -msgstr "Vorhandene Stichwörter" - -#: ../admin/tags.php:112 -msgid "Search tags" -msgstr "Suche nach Stichwörter" - -#: ../admin/tags.php:116 -msgid "Go" -msgstr "Start" - -#: ../admin/tags.php:121 -msgid "Sort Order:" -msgstr "Sortierung :" - -#: ../admin/tags.php:156 -#: ../admin/tags.php:160 -#: ../admin/tags.php:173 -msgid "Previous tags" -msgstr "Vorheriges Stichwort" - -#: ../admin/tags.php:169 -msgid "Next tags" -msgstr "Nächstes Stichwörter" - -#: ../admin/tags.php:181 -msgid "Rename Tag" -msgstr "Schlagwort umbenennen" - -#: ../admin/tags.php:189 -msgid "Enter the tag to rename and its new value. You can use this feature to merge tags too. Click \"Rename\" and all posts which use this tag will be updated." -msgstr "Trage das Stichwort ein, das Du umbenennen willst und seinen neuen Wert/Namen. Du kannst diese Funktion auch nutzen, um Stichwörter zusammenzuführen. Klicke auf \"Umbenennen\" und alle Bilder, die das Stichwort verwenden, werden aktualisiert." - -#: ../admin/tags.php:190 -#: ../admin/tags.php:238 -msgid "You can specify multiple tags to rename by separating them with commas." -msgstr "Mehrere Stichwörter zum Umbenennen durch Komma trennen" - -#: ../admin/tags.php:194 -msgid "Tag(s) to rename:" -msgstr "Stichwörter umbennenen:" - -#: ../admin/tags.php:198 -msgid "New tag name(s):" -msgstr "Neuer Name für das Stichwort" - -#: ../admin/tags.php:201 -msgid "Rename" -msgstr "Umbenennen" - -#: ../admin/tags.php:207 -msgid "Delete Tag" -msgstr "Stichwort löschen" - -#: ../admin/tags.php:215 -msgid "Enter the name of the tag to delete. This tag will be removed from all posts." -msgstr "Trage das zu löschende Stichwort ein. Das Stichwort wird aus allen Bildern entfernt." - -#: ../admin/tags.php:216 -msgid "You can specify multiple tags to delete by separating them with commas" -msgstr "Du kannst mehrere Stichwörter zum Löschen markieren, indem Du sie mit Kommas trennst" - -#: ../admin/tags.php:220 -msgid "Tag(s) to delete:" -msgstr "Folgede Stichwörter löschen:" - -#: ../admin/tags.php:229 -msgid "Edit Tag Slug" -msgstr "Ändere Schlagwort" - -#: ../admin/tags.php:237 -msgid "Enter the tag name to edit and its new slug. Slug definition" -msgstr "Trage den Namen des zu ändernden Stichworts und seinen neuen \"Slug\" ein. Was ist ein Slug?" - -#: ../admin/tags.php:242 -msgid "Tag(s) to match:" -msgstr "Stichwörter vergleichen :" - -#: ../admin/tags.php:246 -msgid "Slug(s) to set:" -msgstr "Schlagwörter setzen:" - -#: ../admin/upgrade.php:22 -msgid "Upgrade database structure..." -msgstr "Aktualisiere die Datenbank-Struturen..." - -#: ../admin/upgrade.php:108 -#: ../admin/upgrade.php:122 -#: ../admin/upgrade.php:129 -#: ../admin/upgrade.php:140 -#: ../admin/upgrade.php:154 -msgid "finished" -msgstr "beendet" - -#: ../admin/upgrade.php:120 -msgid "Update file structure..." -msgstr "Aktualisiere Verzeichnisse..." - -#: ../admin/upgrade.php:127 -msgid "Import date and time information..." -msgstr "Importiere Datum/Uhrzeit..." - -#: ../admin/upgrade.php:135 -msgid "Move imagerotator to new location..." -msgstr "Verschiebe den Image-Rotator in ein neues Verzeichnis..." - -#: ../admin/upgrade.php:146 -msgid "Update settings..." -msgstr "Einstellungen gespeichert..." - -#: ../admin/upgrade.php:160 -msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..." -msgstr "Die Widgets wurden überarbeitet. Wenn Du NextGEN Widgets nutzt, musst du Sie nun neu einfügen..." - -#: ../admin/upgrade.php:168 -msgid "Updated options." -msgstr "Einstellungen gespeichert." - -#: ../admin/upgrade.php:175 -msgid "Create unique slug" -msgstr "Permalinks erstellen" - -#: ../admin/upgrade.php:176 -msgid "One of the upcomming features are a reworked permalinks structure." -msgstr "Die Permalinkstruktur wird in einer kommenden Version überarbeitet." - -#: ../admin/upgrade.php:177 -msgid "Therefore it's needed to have a unique identifier for each image, gallery and album." -msgstr "Deshalb ist es notwendig ein eindeutiges Schlagwort für jedes Bild, Galerie und Album zu erzeugen." - -#: ../admin/upgrade.php:178 -msgid "Depend on the amount of database entries this will take a while, don't reload this page." -msgstr "Diese Operation kann je nach Anzahl der Bilder eine Weile daueren, bitte die Seite nicht neu laden." - -#: ../admin/upgrade.php:187 -msgid "Could not find NextGEN Gallery database tables, upgrade failed !" -msgstr "Konnte die NextGEN Gallery Tabellen nicht finden, Upgrade fehlgeschlagen !" - -#: ../admin/upgrade.php:250 -msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section." -msgstr "Einige Verzeichnisse / Bilder konnten nicht umbenannt werden, bitte überprüfe die Zugriffsrechte und scanne dann das Verzeichnis neu ein." - -#: ../admin/upgrade.php:252 -msgid "Rename failed" -msgstr "Konnte nicht umbenannt werden" - -#: ../admin/upgrade.php:348 -#: ../admin/upgrade.php:367 -msgid "Upgrade NextGEN Gallery" -msgstr "NextGEN-Gallery aktualisieren" - -#: ../admin/upgrade.php:349 -msgid "The script detect that you upgrade from a older version." -msgstr "Es wurde eine ältere NextGEN-Datenbank erkannt." - -#: ../admin/upgrade.php:350 -msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue." -msgstr "Deine Datenbanktabellen für NextGEN-Gallery sind nicht auf dem aktuellen Stand, sie müssen jetzt aktualisiert werden." - -#: ../admin/upgrade.php:351 -msgid "If you would like to downgrade later, please make first a complete backup of your database and the images." -msgstr "Wenn Du wieder auf eine ältere Version zurückgehen möchtest, solltest Du vorher die Datenbank sichern." - -#: ../admin/upgrade.php:352 -msgid "The upgrade process may take a while, so please be patient." -msgstr "Der Upgrade-Prozess kann etwas dauern, bitte sei geduldig..." - -#: ../admin/upgrade.php:353 -msgid "Start upgrade now" -msgstr "Aktualisierung starten" - -#: ../admin/upgrade.php:369 -msgid "Upgrade finished..." -msgstr "Upgrade beendet..." - -#: ../admin/upgrade.php:370 -msgid "Continue" -msgstr "Weiter" - -#: ../admin/upgrade.php:393 -#, php-format -msgid "Rebuild image structure : %s / %s images" -msgstr "Erzeuge Permalinks für Bilder : %s / %s Bilder" - -#: ../admin/upgrade.php:394 -#, php-format -msgid "Rebuild gallery structure : %s / %s galleries" -msgstr "Erzeuge Permalinks für Galerien : %s / %s Galerien" - -#: ../admin/upgrade.php:395 -#, php-format -msgid "Rebuild album structure : %s / %s albums" -msgstr "Erzeuge Permalinks für Alben : %s / %s Alben" - -#: ../admin/upgrade.php:452 -msgid "Done." -msgstr "Fertig." - -#: ../admin/wpmu.php:33 -msgid "Update successfully" -msgstr "Aktualisierung erfolgreich" - -#: ../admin/wpmu.php:45 -#, php-format -msgid "Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).
    If you would like to support the further development, please consider a donation! If you still need some help, please post your questions here ." -msgstr "Vielen Dank, dass Du dieses Plugin nutzt. NextGEN Gallery wurde für einfache Blogs entwickelt. Die Nutzung im Netzwerk (Multisite) ist möglich, aber wird nicht vollständig unterstützt (z.B. Domain Mapping).
    Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine Spende freuen! Wenn Du Fragen oder Problem hast, schreib sie doch hier ins Forum." - -#: ../admin/wpmu.php:62 -msgid "Network Options" -msgstr "Netzwerk Optionen" - -#: ../admin/wpmu.php:70 -msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better." -msgstr "Dieses ist der Default-Pfad für alle Blogs. Mit dem Platzhalter %BLOG_ID% wird die Ordnerstruktur gesteuert. Der Pfad muss mit / enden." - -#: ../admin/wpmu.php:71 -#, php-format -msgid "The default setting should be %s" -msgstr "Grundeinstellung ist %s" - -#: ../admin/wpmu.php:75 -msgid "Enable upload quota check" -msgstr "Schalte die Uploadbegrenzung ein" - -#: ../admin/wpmu.php:77 -msgid "Should work if the gallery is bellow the blog.dir" -msgstr "Sollte funktionieren, wenn die Galerien sich unterhalb blog.dir befinden" - -#: ../admin/wpmu.php:81 -msgid "Enable zip upload option" -msgstr "Erlaube ZIP-Upload" - -#: ../admin/wpmu.php:83 -msgid "Allow users to upload zip folders." -msgstr "Erlaubt die Nutzung des ZIP-Upload" - -#: ../admin/wpmu.php:87 -msgid "Enable import function" -msgstr "Erlaube Import Funktion" - -#: ../admin/wpmu.php:89 -msgid "Allow users to import images folders from the server." -msgstr "Erlaube dem User Bilder direkt aus den Server Verzeichnissen zu importieren." - -#: ../admin/wpmu.php:93 -msgid "Enable style selection" -msgstr "Freie CSS-Style-Auswahl" - -#: ../admin/wpmu.php:95 -msgid "Allow users to choose a style for the gallery." -msgstr "Erlaube dem User, ein CSS für die Galerie zu wählen" - -#: ../admin/wpmu.php:99 -msgid "Enable roles/capabilities" -msgstr "Rollen / Zugriffsrechte freischalten" - -#: ../admin/wpmu.php:101 -msgid "Allow users to change the roles for other blog authors." -msgstr "Erlaube dem User die Anpassung der Zugangsberechtigung" - -#: ../admin/wpmu.php:105 -msgid "Default style" -msgstr "Standard-CSS-Style" - -#: ../admin/wpmu.php:122 -msgid "Choose the default style for the galleries." -msgstr "Wähle das Default-Stylesheet für die Galerien" - -#: ../admin/tinymce/window.php:56 -msgid "Select or enter gallery" -msgstr "Wähle oder Suche Galerie" - -#: ../admin/tinymce/window.php:61 -#: ../admin/tinymce/window.php:82 -msgid "Show as" -msgstr "Zeige als" - -#: ../admin/tinymce/window.php:62 -msgid "Image list" -msgstr "Bilder-Liste" - -#: ../admin/tinymce/window.php:64 -msgid "Imagebrowser" -msgstr "Bilder-Browser" - -#: ../admin/tinymce/window.php:77 -msgid "Select or enter album" -msgstr "Wähle oder Suche Album" - -#: ../admin/tinymce/window.php:83 -msgid "Extended version" -msgstr "Erweiterte Version" - -#: ../admin/tinymce/window.php:84 -msgid "Compact version" -msgstr "Kompakte Version" - -#: ../admin/tinymce/window.php:97 -msgid "Select or enter picture" -msgstr "Wähle oder Suche Bild" - -#: ../admin/tinymce/window.php:102 -msgid "Width x Height" -msgstr "Breite x Höhe" - -#: ../admin/tinymce/window.php:106 -msgid "Effect" -msgstr "Effekt" - -#: ../admin/tinymce/window.php:109 -msgid "No effect" -msgstr "Kein Effekt" - -#: ../admin/tinymce/window.php:111 -msgid "Web 2.0" -msgstr "Web 2.0" - -#: ../admin/tinymce/window.php:116 -msgid "Float" -msgstr "Float" - -#: ../admin/tinymce/window.php:119 -msgid "No float" -msgstr "Kein Float" - -#: ../admin/tinymce/window.php:138 -msgid "Insert" -msgstr "Einfügen" - -#: ../lib/core.php:379 -#, php-format -msgid "Note : Based on your server memory limit you should not upload larger images then %d x %d pixel" -msgstr "Hinweis: Basierend auf der Speicherbegrenzung auf dem Server, solltest Du keine Bilder grösser als %d x %d Pixel hochladen" - -#: ../lib/locale.php:120 -msgid "Invalid URL Provided." -msgstr "Ungültige URL" - -#: ../lib/locale.php:124 -#: ../lib/locale.php:128 -msgid "Could not create Temporary file." -msgstr "Konnte temporäre Datei nicht erstellen" - -#: ../lib/meta.php:124 -msgid " mm" -msgstr " mm" - -#: ../lib/meta.php:130 -msgid " sec" -msgstr " Sek." - -#: ../lib/meta.php:134 -msgid "Fired" -msgstr "ausgelöst" - -#: ../lib/meta.php:134 -msgid "Not fired" -msgstr "Nicht ausgelöst" - -#: ../lib/meta.php:426 -msgid "Aperture" -msgstr "Blende" - -#: ../lib/meta.php:427 -#: ../lib/meta.php:452 -msgid "Credit" -msgstr "Autor" - -#: ../lib/meta.php:428 -msgid "Camera" -msgstr "Kamera" - -#: ../lib/meta.php:429 -msgid "Caption" -msgstr "Beschreibung" - -#: ../lib/meta.php:431 -msgid "Copyright" -msgstr "Rechte" - -#: ../lib/meta.php:432 -msgid "Focal length" -msgstr "Brennweite" - -#: ../lib/meta.php:433 -msgid "ISO" -msgstr "ISO" - -#: ../lib/meta.php:434 -msgid "Shutter speed" -msgstr "Belichtungszeit" - -#: ../lib/meta.php:438 -msgid "Subject" -msgstr "Betreff" - -#: ../lib/meta.php:439 -msgid "Make" -msgstr "Hersteller" - -#: ../lib/meta.php:440 -msgid "Edit Status" -msgstr "Ändere Status" - -#: ../lib/meta.php:441 -msgid "Category" -msgstr "Kategorie" - -#: ../lib/meta.php:442 -msgid "Keywords" -msgstr "Schlüsselwörter" - -#: ../lib/meta.php:443 -msgid "Date Created" -msgstr "erstellt (Datum)" - -#: ../lib/meta.php:444 -msgid "Time Created" -msgstr "erstellt (Zeit)" - -#: ../lib/meta.php:445 -msgid "Author Position" -msgstr "Autor Position" - -#: ../lib/meta.php:446 -msgid "City" -msgstr "Stadt" - -#: ../lib/meta.php:447 -msgid "Location" -msgstr "Ort" - -#: ../lib/meta.php:448 -msgid "Province/State" -msgstr "Staat / PLZ" - -#: ../lib/meta.php:449 -msgid "Country code" -msgstr "Landescode" - -#: ../lib/meta.php:450 -msgid "Country" -msgstr "Land" - -#: ../lib/meta.php:451 -msgid "Headline" -msgstr "Kopfzeile" - -#: ../lib/meta.php:453 -msgid "Source" -msgstr "Quelle" - -#: ../lib/meta.php:454 -msgid "Copyright Notice" -msgstr "Copyright Hinweise / Credits" - -#: ../lib/meta.php:455 -msgid "Contact" -msgstr "Kontakt" - -#: ../lib/meta.php:456 -msgid "Last modified" -msgstr "Zuletzt geändert" - -#: ../lib/meta.php:457 -msgid "Program tool" -msgstr "Programm" - -#: ../lib/meta.php:458 -msgid "Format" -msgstr "Format" - -#: ../lib/meta.php:459 -msgid "Image Width" -msgstr "Breite" - -#: ../lib/meta.php:460 -msgid "Image Height" -msgstr "Höhe" - -#: ../lib/meta.php:461 -msgid "Flash" -msgstr "Blitz" - -#: ../lib/multisite.php:23 -msgid "Sorry, you have used your space allocation. Please delete some files to upload more files." -msgstr "Schade, Dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder." - -#: ../lib/ngg-db.php:330 -#: ../lib/ngg-db.php:331 -msgid "Album overview" -msgstr "Album Übersicht" - -#: ../lib/shortcodes.php:298 -msgid "[Pictures not found]" -msgstr "[Bilder nicht gefunden]" - -#: ../lib/tags.php:35 -msgid "No new tag specified!" -msgstr "Kein neues Stichwort definiert!" - -#: ../lib/tags.php:50 -msgid "No new/old valid tag specified!" -msgstr "Kein neues Stichwort definiert!" - -#: ../lib/tags.php:86 -msgid "No tag renamed." -msgstr "Kein Stichwort umbenannt." - -#: ../lib/tags.php:88 -#, php-format -msgid "Renamed tag(s) «%1$s» to «%2$s»" -msgstr "Es wurden die Stichwörter «%1$s» bis «%2$s» umbenannt" - -#: ../lib/tags.php:95 -msgid "No valid new tag." -msgstr "Kein gültiges Stichwort" - -#: ../lib/tags.php:112 -msgid "No objects (post/page) found for specified old tags." -msgstr "Keine Objekte (Seite/Beitrag) enthält das ausgewählte Stichwort" - -#: ../lib/tags.php:141 -msgid "No tag merged." -msgstr "Keine Stichwörter zusammengeführt." - -#: ../lib/tags.php:143 -#, php-format -msgid "Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." -msgstr "Stichwörter «%1$s» bis «%2$s» zusammengeführt. %3$s Objekte geändert." - -#: ../lib/tags.php:146 -msgid "Error. No enough tags for rename. Too for merge. Choose !" -msgstr "Fehler. Es wurden nicht genug Stichwörter ausgewählt." - -#: ../lib/tags.php:163 -msgid "No tag specified!" -msgstr "Kein Stichwort angegeben" - -#: ../lib/tags.php:186 -msgid "No tag deleted." -msgstr "Kein Stichwort gelöscht" - -#: ../lib/tags.php:188 -#, php-format -msgid "%1s tag(s) deleted." -msgstr "%1s Stichwörter gelöscht" - -#: ../lib/tags.php:202 -msgid "No new slug(s) specified!" -msgstr "Keine neuen Stichwörter ausgewählt" - -#: ../lib/tags.php:214 -msgid "Tags number and slugs number isn't the same!" -msgstr "Stichwort und Schlagwort ist nicht das Gleiche!" - -#: ../lib/tags.php:241 -msgid "No slug edited." -msgstr "Kein Stichwort geändert" - -#: ../lib/tags.php:243 -#, php-format -msgid "%s slug(s) edited." -msgstr "%s Stichwörter geändert" - -#: ../lib/xmlrpc.php:66 -#, php-format -msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s" -msgstr "XML-RPC Service ist ausgeschaltet. Der Administrator kann es hier %s einschalten" - -#: ../lib/xmlrpc.php:73 -msgid "Bad login/pass combination." -msgstr "Username/Password falsch" - -#: ../lib/xmlrpc.php:129 -msgid "You are not allowed to upload files to this site." -msgstr "Du hast keine Berechtigung, Bilder hochzuladen" - -#: ../lib/xmlrpc.php:135 -#: ../lib/xmlrpc.php:680 -msgid "Could not find gallery " -msgstr "Konnte Galerie nicht finden" - -#: ../lib/xmlrpc.php:140 -#: ../lib/xmlrpc.php:685 -msgid "You are not allowed to upload files to this gallery." -msgstr "Du hast keine Berechtigung, Bilder in diese Galerie zuladen" - -#: ../lib/xmlrpc.php:152 -msgid "This is no valid image file." -msgstr "Das ist keine zulässige Bilddatei!" - -#: ../lib/xmlrpc.php:164 -msgid "Could not find image id " -msgstr "Konnte die Bild-ID nicht finden" - -#: ../lib/xmlrpc.php:171 -#, php-format -msgid "Failed to delete image %1$s " -msgstr "Konnte das Bild %1$s nicht löschen" - -#: ../lib/xmlrpc.php:180 -#, php-format -msgid "Could not write file %1$s (%2$s)" -msgstr "Konnte die Datei %1$s (%2$s) nicht schreiben " - -#: ../lib/xmlrpc.php:247 -#: ../lib/xmlrpc.php:299 -msgid "Invalid image ID" -msgstr "Keine gültige Bilder ID" - -#: ../lib/xmlrpc.php:250 -#: ../lib/xmlrpc.php:302 -msgid "Sorry, you must be able to edit this image" -msgstr "Sorry, Du hast nicht das Recht, dieses Bild zu bearbeiten" - -#: ../lib/xmlrpc.php:308 -msgid "Sorry, could not update the image" -msgstr "Konnte das Bild nicht aktualisieren" - -#: ../lib/xmlrpc.php:344 -#: ../lib/xmlrpc.php:576 -#: ../lib/xmlrpc.php:642 -msgid "Sorry, you must be able to manage galleries" -msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten" - -#: ../lib/xmlrpc.php:350 -msgid "Sorry, could not create the gallery" -msgstr "Konnte die Galerie nicht anlegen" - -#: ../lib/xmlrpc.php:393 -#: ../lib/xmlrpc.php:573 -msgid "Invalid gallery ID" -msgstr "Keine gültige Galerie ID" - -#: ../lib/xmlrpc.php:396 -msgid "Sorry, you must be able to manage this gallery" -msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten" - -#: ../lib/xmlrpc.php:402 -msgid "Sorry, could not update the gallery" -msgstr "Konnte die Galerie nicht aktualisieren" - -#: ../lib/xmlrpc.php:442 -#: ../lib/xmlrpc.php:494 -#: ../lib/xmlrpc.php:536 -#: ../lib/xmlrpc.php:609 -msgid "Sorry, you must be able to manage albums" -msgstr "Sorry, Du hast nicht das Recht, dieses Album zu bearbeiten" - -#: ../lib/xmlrpc.php:448 -msgid "Sorry, could not create the album" -msgstr "Konnte das Album nicht anlegen" - -#: ../lib/xmlrpc.php:491 -#: ../lib/xmlrpc.php:533 -msgid "Invalid album ID" -msgstr "Ungültige Album ID" - -#: ../lib/xmlrpc.php:500 -msgid "Sorry, could not update the album" -msgstr "Konnte das Album nicht aktualisieren" - -#: ../view/album-compact.php:32 -msgid "Photos" -msgstr "Fotos" - -#: ../view/gallery-caption.php:32 -#: ../view/gallery-fuchs.php:32 -#: ../view/gallery.php:32 -#: ../widgets/media-rss-widget.php:122 -msgid "[View with PicLens]" -msgstr "[Mit PicLens anzeigen]" - -#: ../view/imagebrowser-caption.php:26 -#: ../view/imagebrowser-exif.php:30 -#: ../view/imagebrowser-fuchs.php:26 -#: ../view/imagebrowser.php:26 -msgid "Back" -msgstr "Zurück" - -#: ../view/imagebrowser-caption.php:29 -#: ../view/imagebrowser-exif.php:33 -#: ../view/imagebrowser-fuchs.php:29 -#: ../view/imagebrowser.php:29 -msgid "Next" -msgstr "Vor" - -#: ../view/imagebrowser-caption.php:31 -#: ../view/imagebrowser-exif.php:35 -#: ../view/imagebrowser-fuchs.php:31 -#: ../view/imagebrowser.php:31 -msgid "of" -msgstr "von" - -#: ../view/imagebrowser-exif.php:38 -msgid "Meta data" -msgstr "Metadaten" - -#: ../view/imagebrowser-exif.php:42 -msgid "Camera / Type" -msgstr "Kameratyp" - -#: ../view/imagebrowser-exif.php:50 -msgid "Focal Length" -msgstr "Brennweite" - -#: ../widgets/media-rss-widget.php:19 -msgid "Widget that displays Media RSS links for NextGEN Gallery." -msgstr "Hiermit können NextGEN-Bilder als Media RSS eingebunden werden" - -#: ../widgets/media-rss-widget.php:20 -msgid "NextGEN Media RSS" -msgstr "NextGEN Media RSS" - -#: ../widgets/media-rss-widget.php:68 -msgid "Media RSS" -msgstr "Media RSS" - -#: ../widgets/media-rss-widget.php:69 -msgid "Link to the main image feed" -msgstr "Link zum Bilder-Feed" - -#: ../widgets/media-rss-widget.php:79 -#: ../widgets/widgets.php:201 -msgid "Title :" -msgstr "Titel :" - -#: ../widgets/media-rss-widget.php:87 -msgid "Show Media RSS icon" -msgstr "Zeige Media RSS Icon" - -#: ../widgets/media-rss-widget.php:93 -msgid "Show the Media RSS link" -msgstr "Zeige den globalen Media RSS Link" - -#: ../widgets/media-rss-widget.php:98 -msgid "Text for Media RSS link:" -msgstr "Text für den globalen Media RSS Link:" - -#: ../widgets/media-rss-widget.php:104 -msgid "Tooltip text for Media RSS link:" -msgstr "Tooltipp-Text für den globalen Media RSS Link." - -#: ../widgets/widgets.php:22 -msgid "Show a NextGEN Gallery Slideshow" -msgstr "Binde eine NextGEN-Gallery-Slideshow ein" - -#: ../widgets/widgets.php:23 -msgid "NextGEN Slideshow" -msgstr "NextGEN-Diashow" - -#: ../widgets/widgets.php:64 -msgid "Get the Flash Player to see the slideshow." -msgstr "Lade Dir den Flash Player, um die Diashow zu sehen." - -#: ../widgets/widgets.php:121 -msgid "Title:" -msgstr "Titel:" - -#: ../widgets/widgets.php:123 -msgid "Select Gallery:" -msgstr "Wähle Galerie" - -#: ../widgets/widgets.php:125 -msgid "All images" -msgstr "Alle Bilder" - -#: ../widgets/widgets.php:137 -msgid "Height:" -msgstr "Höhe:" - -#: ../widgets/widgets.php:138 -msgid "Width:" -msgstr "Breite:" - -#: ../widgets/widgets.php:160 -msgid "Add recent or random images from the galleries" -msgstr "Füge die neusten Bilder oder Zufallsbilder aus NextGEN-Gallery ein" - -#: ../widgets/widgets.php:161 -msgid "NextGEN Widget" -msgstr "NextGEN-Widget" - -#: ../widgets/widgets.php:207 -msgid "Show :" -msgstr "Zeige als :" - -#: ../widgets/widgets.php:213 -msgid "Original images" -msgstr "Original Bilder" - -#: ../widgets/widgets.php:222 -msgid "recent added " -msgstr "zuletzt hinzugefügt" - -#: ../widgets/widgets.php:228 -msgid "Enable IE8 Web Slices" -msgstr "IE8 Web Slices aktivieren" - -#: ../widgets/widgets.php:233 -msgid "Width x Height :" -msgstr "Breite x Höhe :" - -#: ../widgets/widgets.php:239 -msgid "Select :" -msgstr "Wähle :" - -#: ../widgets/widgets.php:241 -msgid "All galleries" -msgstr "Alle Galerien" - -#: ../widgets/widgets.php:242 -msgid "Only which are not listed" -msgstr "Nur ungelistete" - -#: ../widgets/widgets.php:243 -msgid "Only which are listed" -msgstr "Nur gelistete" - -#: ../widgets/widgets.php:249 -msgid "Gallery ID :" -msgstr "Galerie-ID :" - -#: ../widgets/widgets.php:251 -msgid "Gallery IDs, separated by commas." -msgstr "Galerie-IDs, mit Kommas getrennt" - -#: ../xml/media-rss.php:50 -msgid "No galleries have been yet created." -msgstr "Keine Galerie wurde derzeit erstellt." - -#: ../xml/media-rss.php:69 -#, php-format -msgid "The gallery ID=%s does not exist." -msgstr "Die Galerie ID=%s existiert nicht." - -#: ../xml/media-rss.php:100 -msgid "No album ID has been provided as parameter" -msgstr "Es wurde kein Album als Parameter übergeben" - -#: ../xml/media-rss.php:108 -#, php-format -msgid "The album ID=%s does not exist." -msgstr "Album-ID %s existiert nicht" - -#: ../xml/media-rss.php:115 -msgid "Invalid MediaRSS command" -msgstr "Ungültiger Media-RSS-Befehl" - -#~ msgid "Delete album ?" -#~ msgstr "Album löschen ?" - -#~ msgid "A new version of NextGEN Gallery is available !" -#~ msgstr "Eine neue Version von NextGEN Gallery ist jetzt verfügbar" - -#~ msgid "Download here" -#~ msgstr "Hier downloaden" - -#~ msgid "already exists" -#~ msgstr "gibt es bereits" - -#~ msgid "Gallery Overview" -#~ msgstr "Galerie Übersicht" - -#~ msgid "Quantity" -#~ msgstr "Anzahl" - -#~ msgid "Action" -#~ msgstr "Aktion" - -#~ msgid "Delete this gallery ?" -#~ msgstr "Diese Galerie löschen ?" - -#~ msgid "General WordPress MU Settings" -#~ msgstr "WordPress-MU-Einstellungen" - -#~ msgid "No album" -#~ msgstr "Kein Album" - -#~ msgid "for the Fugue Iconset" -#~ msgstr "für das Fugue-Iconset" - -#~ msgid "Gallery Administrator" -#~ msgstr "Galerie-Administrator" - -#~ msgid "Gallery Editor" -#~ msgstr "Galerie-Mitarbeiter" - -#~ msgid "You currently have %s rights." -#~ msgstr "Du hast derzeit %s Rechte." - -#~ msgid "Upload Space Remaining:" -#~ msgstr "Verbleibender Speicher:" - -#~ msgid "View all images tagged with %s" -#~ msgstr "Zeige alle Bilder, die mit dem Stichwort %s markiert sind" - -#~ msgid "Upgrade sucessful" -#~ msgstr "Aktualisierung erfolgreich" - -#~ msgid "" -#~ "Would you like to help to translate this plugin ? Download the current pot file and read " -#~ "here how you can translate the plugin." -#~ msgstr "" -#~ "Would you like to help to translate this plugin ? Download the current pot file and read " -#~ "here how you can translate the plugin." - -#~ msgid "" -#~ "Translation by : N/A" -#~ msgstr "" -#~ "Übersetzt von : Alex " -#~ "Rabe" - -#~ msgid "Setup Gallery" -#~ msgstr "Galerie Setup" - -#~ msgid "Setup" -#~ msgstr "Setup" - -#~ msgid "PHP Output Buffer Size" -#~ msgstr "PHP Output Buffer Größe" - -#~ msgid "for PclZip , a PHP library that manage ZIP archives" -#~ msgstr "für PclZip, eine ZIP PHP Library" - -#~ msgid "Crop square thumbnail from image" -#~ msgstr "Mittige Thumbnails aus Bildern ausschneiden" - -#~ msgid "Create square thumbnails, use only the width setting :" -#~ msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :" - -#, fuzzy -#~ msgid "Search Media" -#~ msgstr "Suche nach Stichwörter" - -#~ msgid "Select Gallery" -#~ msgstr "Wähle Galerie" - -#~ msgid "Album Page ID" -#~ msgstr "Album Seiten ID (Page ID)" - -#~ msgid "Import a folder with all images." -#~ msgstr "Importiere ein Verzeichnis mit Bildern." - -#~ msgid "Show tags" -#~ msgstr "Zeige Tags" - -#~ msgid "Hide tags" -#~ msgstr "Verstecke Tags" - -#~ msgid "Delete this file ?" -#~ msgstr "Diese Datei löschen ?" - -#~ msgid "" -#~ "You are about to copy or move %s images \n" -#~ " \n" -#~ " 'Cancel' to stop, 'OK' to proceed." -#~ msgstr "" -#~ "Willst du wirklich %s Bild(er) verschieben \n" -#~ " \n" -#~ " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." - -#~ msgid "Show thumbnails " -#~ msgstr "Thumbnails zeigen" - -#~ msgid "Add Gallery" -#~ msgstr "Bilder/Galerie hinzufügen" - -#~ msgid "Manage galleries" -#~ msgstr "Galerie verwalten" - -#~ msgid "" -#~ "There are totally %1$s pictures in %2$s galleries, which are spread " -#~ "across %3$s albums." -#~ msgstr "" -#~ "Es gibt insgesamt %1$s Bilder in %2$s Galerien - verteilt in %3$s Alben." - -#~ msgid "GD support" -#~ msgstr "GD Unterstützung" - -#~ msgid "ImageMagick" -#~ msgstr "ImageMagick" - -#~ msgid "Add Metadata :" -#~ msgstr "Metadaten hinzufügen :" - -#~ msgid "Import EXIF, IPTC or XMP data (if available)" -#~ msgstr "EXIF, IPTC oder XMP Daten importieren (wenn verfügbar)" - -#~ msgid "New Version available" -#~ msgstr "Neue Version verfügbar !!" - -#~ msgid "" -#~ "The server reports that a new NextGEN Gallery Version is now available. " -#~ "Please visit the plugin homepage for more information." -#~ msgstr "" -#~ "Der Server benachrichtigt Dich über eine neu verfügbare Version der " -#~ "NextGEN Galerie. Bitte besuche die Plugin Homepage um weitere " -#~ "Informationen zu erhalten." - -#~ msgid "Resample Mode" -#~ msgstr "Resample Modus" - -#~ msgid "Value between 1-5 (higher value, more CPU load)" -#~ msgstr "Wähle zwischen 1-5 (je höhere desto länger braucht der Server)" - -#~ msgid "NextGEN Gallery %d" -#~ msgstr "NextGEN Gallery %d" - -#~ msgid "How many NextGEN Gallery widgets would you like?" -#~ msgstr "Wie viele NextGEN Gallery Widgets möchtest du haben ?" - -#~ msgid "Save" -#~ msgstr "Speichern" - -#~ msgid "for Simple:Press Forum, it saved me a lot of time" -#~ msgstr "für das Simple:Press Forum, welches mir viel Zeit sparte" - -#~ msgid "Sorry, NextGEN Gallery works only under WordPress 2.5 or higher" -#~ msgstr "" -#~ "Tut mir leid aber NextGEN Galerie arbeitet nur ab WordPress 2.5 und " -#~ "aufwärts" - -#~ msgid "Watch gallery" -#~ msgstr "Galerie ansehen" - -#~ msgid "from" -#~ msgstr "von" - -#~ msgid " : Image resized..." -#~ msgstr " : Bild angepasst..." - -#~ msgid "Some pictures are not writeable :" -#~ msgstr "Einige Bilder sind schreibgeschützt :" - -#~ msgid " : Watermark created..." -#~ msgstr " : Wasserzeichen gesetzt..." - -#~ msgid " : Thumbnail created..." -#~ msgstr ": Thumbnail erstellt..." - -#~ msgid "Follow thumbnails could not created." -#~ msgstr "Folgende Thumbnails konnten nicht erstellt werden :" - -#~ msgid "Some thumbnails are not writeable :" -#~ msgstr "Einige Thumbnails sind schreibgeschützt :" - -#~ msgid "Watermark successfully added" -#~ msgstr "Wasserzeichen erfolgreich erstellt" - -#~ msgid "Images successfully resized" -#~ msgstr "Bilder erfolgreich verkleinert" - -#~ msgid " (require WordPress 2.3 or higher)" -#~ msgstr " (benötigt WordPress 2.3 oder höher)" - -#~ msgid "Show thumbnail description" -#~ msgstr "Zeige Bildbeschreibung" - -#~ msgid "Description text" -#~ msgstr "Beschreibung" - -#~ msgid "Import a folder with images. Please note :" -#~ msgstr "Importiere ein Verzeichniss mit Bildern. Bitte beachte:" - -#~ msgid "For safe-mode = ON you need to add the subfolder thumbs manually" -#~ msgstr "" -#~ "Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das " -#~ "Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) " -#~ "anlegen" - -#~ msgid "The Zip-file is too large. Exceed Memory limit !" -#~ msgstr "Das Zip-File ist zu groß. Speicherlimit überschritten !" - -#~ msgid "Summary" -#~ msgstr "Zusammenfassung" - -#~ msgid "Welcome" -#~ msgstr "Willkommen" - -#~ msgid "" -#~ "Welcome to NextGEN Gallery. Here you can control your images, galleries " -#~ "and albums. You currently have %s rights." -#~ msgstr "" -#~ "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und " -#~ "Alben verwalten. Du hast im Moment %s Rechte." - -#~ msgid "Add a new gallery or import pictures" -#~ msgstr "Neue Galerie erstellen oder Bilder importieren" - -#~ msgid "Manage galleries and images" -#~ msgstr "Verwalte Galerien und Bilder" - -#~ msgid "URL" -#~ msgstr "URL" - -#~ msgid "Delete File" -#~ msgstr "Datei löschen" - -#~ msgid "Delete image ?" -#~ msgstr "Bilder löschen ?" - -#~ msgid "Browse your files" -#~ msgstr "Durchsuche deine Dateien" - -#~ msgid "Direct link to file" -#~ msgstr "Link zur Datei" - -#~ msgid "Show:" -#~ msgstr "Zeige als:" - -#~ msgid "Link to:" -#~ msgstr "Link zu:" - -#~ msgid "Send to editor »" -#~ msgstr "Zum Editor schicken »" - -#~ msgid "" -#~ "Are you sure you want to delete the file '%s'?\n" -#~ "Click ok to delete or cancel to go back." -#~ msgstr "Bist du sicher das Du diese Datei '%s' löschen willst ?" - -#~ msgid "Alt/Titel text" -#~ msgstr "Alt / Titel Text" diff --git a/src/wp-content/plugins/nextgen-gallery/lang/nggallery.pot b/src/wp-content/plugins/nextgen-gallery/lang/nggallery.pot deleted file mode 100644 index a7c890a..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lang/nggallery.pot +++ /dev/null @@ -1,3545 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: NextGEN Gallery\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 22:14+0100\n" -"PO-Revision-Date: 2011-01-16 22:14+0100\n" -"Last-Translator: Alex Rabe\n" -"Language-Team: Alex Rabe\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-KeywordsList: _n:1,2;__;_e;esc_attr_e;esc_html_e\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-Country: GERMANY\n" -"X-Poedit-SourceCharset: utf-8\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPath-1: ..\n" - -#: ../nggallery.php:97 -msgid "Translation by : See here" -msgstr "" - -#: ../nggallery.php:98 -msgid "This translation is not yet updated for Version 1.7.3. If you would like to help with translation, download the current po from the plugin folder and read here how you can translate the plugin." -msgstr "" - -#: ../nggallery.php:197 -msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" -msgstr "" - -#: ../nggallery.php:215 -msgid "Please update the database of NextGEN Gallery." -msgstr "" - -#: ../nggallery.php:215 -msgid "Click here to proceed." -msgstr "" - -#: ../nggallery.php:238 -msgid "Picture tag" -msgstr "" - -#: ../nggallery.php:239 -msgid "Picture tag: %2$l." -msgstr "" - -#: ../nggallery.php:240 -msgid "Separate picture tags with commas." -msgstr "" - -#: ../nggallery.php:339 -msgid "L O A D I N G" -msgstr "" - -#: ../nggallery.php:340 -msgid "Click to Close" -msgstr "" - -#: ../nggallery.php:361 -msgid "loading" -msgstr "" - -#: ../nggallery.php:501 -#: ../nggfunctions.php:920 -#: ../admin/admin.php:32 -msgid "Overview" -msgstr "" - -#: ../nggallery.php:502 -msgid "Get help" -msgstr "" - -#: ../nggallery.php:503 -msgid "Contribute" -msgstr "" - -#: ../nggallery.php:504 -msgid "Donate" -msgstr "" - -#: ../nggfunctions.php:42 -msgid "The Flash Player and a browser with Javascript support are needed." -msgstr "" - -#: ../nggfunctions.php:164 -#: ../nggfunctions.php:630 -msgid "[Gallery not found]" -msgstr "" - -#: ../nggfunctions.php:437 -msgid "[Album not found]" -msgstr "" - -#: ../nggfunctions.php:747 -msgid "[SinglePic not found]" -msgstr "" - -#: ../nggfunctions.php:885 -msgid "Related images for" -msgstr "" - -#: ../admin/about.php:10 -msgid "Copyright notes / Credits" -msgstr "" - -#: ../admin/about.php:13 -msgid "NextGEN DEV Team" -msgstr "" - -#: ../admin/about.php:15 -msgid "This plugin is primarily developed, maintained, supported, documented by" -msgstr "" - -#: ../admin/about.php:15 -msgid "There are many other folks who have made contributions to this project :" -msgstr "" - -#: ../admin/about.php:20 -msgid "Contributors / Tribute to" -msgstr "" - -#: ../admin/about.php:22 -msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together." -msgstr "" - -#: ../admin/about.php:23 -msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)" -msgstr "" - -#: ../admin/about.php:25 -msgid "for their great documented code" -msgstr "" - -#: ../admin/about.php:26 -msgid "for jQuery, which is the best Web2.0 framework" -msgstr "" - -#: ../admin/about.php:27 -msgid "for the fantastic PHP Thumbnail Class" -msgstr "" - -#: ../admin/about.php:28 -msgid "for a lot of very useful plugins and ideas" -msgstr "" - -#: ../admin/about.php:29 -msgid "for Shutter Reloaded, a real lightweight image effect" -msgstr "" - -#: ../admin/about.php:30 -msgid "for the best Media Flash Scripts on earth" -msgstr "" - -#: ../admin/about.php:31 -msgid "for the Gallery Icon" -msgstr "" - -#: ../admin/about.php:32 -msgid "for the Watermark plugin" -msgstr "" - -#: ../admin/about.php:34 -msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail." -msgstr "" - -#: ../admin/about.php:38 -msgid "How to support ?" -msgstr "" - -#: ../admin/about.php:40 -msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory." -msgstr "" - -#: ../admin/about.php:42 -msgid "Send us bugfixes / code changes" -msgstr "" - -#: ../admin/about.php:42 -msgid "The most motivated support for this plugin are your ideas and brain work" -msgstr "" - -#: ../admin/about.php:43 -msgid "Translate the plugin" -msgstr "" - -#: ../admin/about.php:43 -msgid "To help people to work with this plugin, I would like to have it in all available languages" -msgstr "" - -#: ../admin/about.php:44 -msgid "Donate the work via paypal" -msgstr "" - -#: ../admin/about.php:57 -msgid "No doubt a very useful and easy motivation :-)" -msgstr "" - -#: ../admin/about.php:59 -msgid "Place a link to the plugin in your blog/webpage" -msgstr "" - -#: ../admin/about.php:59 -msgid "Yes, share and trackback is also a good support for this work " -msgstr "" - -#: ../admin/about.php:64 -msgid "Thanks!" -msgstr "" - -#: ../admin/about.php:66 -msgid "We would like to thank this people which support us in the work :" -msgstr "" - -#: ../admin/about.php:166 -msgid "and all donators..." -msgstr "" - -#: ../admin/addgallery.php:46 -#: ../admin/addgallery.php:57 -#: ../admin/addgallery.php:69 -#: ../admin/addgallery.php:80 -#: ../admin/album.php:96 -#: ../admin/album.php:124 -#: ../admin/album.php:142 -#: ../admin/edit-thumbnail.php:19 -#: ../admin/edit-thumbnail.php:22 -#: ../admin/manage.php:179 -msgid "Cheatin’ uh?" -msgstr "" - -#: ../admin/addgallery.php:62 -msgid "Upload failed!" -msgstr "" - -#: ../admin/addgallery.php:85 -msgid "Upload failed! " -msgstr "" - -#: ../admin/addgallery.php:90 -#: ../admin/functions.php:930 -#: ../admin/functions.php:1030 -msgid "No gallery selected !" -msgstr "" - -#: ../admin/addgallery.php:159 -msgid "Image Files" -msgstr "" - -#: ../admin/addgallery.php:180 -#: ../admin/addgallery.php:208 -msgid "remove" -msgstr "" - -#: ../admin/addgallery.php:181 -#: ../admin/addgallery.php:361 -msgid "Browse..." -msgstr "" - -#: ../admin/addgallery.php:182 -#: ../admin/addgallery.php:194 -#: ../admin/addgallery.php:411 -msgid "Upload images" -msgstr "" - -#: ../admin/addgallery.php:271 -#: ../admin/addgallery.php:377 -msgid "Upload Images" -msgstr "" - -#: ../admin/addgallery.php:274 -#: ../admin/addgallery.php:291 -#: ../admin/manage-galleries.php:112 -#: ../admin/manage-galleries.php:149 -msgid "Add new gallery" -msgstr "" - -#: ../admin/addgallery.php:277 -#: ../admin/addgallery.php:313 -msgid "Upload a Zip-File" -msgstr "" - -#: ../admin/addgallery.php:280 -#: ../admin/addgallery.php:355 -msgid "Import image folder" -msgstr "" - -#: ../admin/addgallery.php:296 -#: ../admin/manage-galleries.php:284 -msgid "New Gallery" -msgstr "" - -#: ../admin/addgallery.php:299 -#: ../admin/manage-galleries.php:286 -msgid "Create a new , empty gallery below the folder" -msgstr "" - -#: ../admin/addgallery.php:301 -#: ../admin/manage-galleries.php:288 -msgid "Allowed characters for file and folder names are" -msgstr "" - -#: ../admin/addgallery.php:305 -msgid "Add gallery" -msgstr "" - -#: ../admin/addgallery.php:318 -msgid "Select Zip-File" -msgstr "" - -#: ../admin/addgallery.php:320 -msgid "Upload a zip file with images" -msgstr "" - -#: ../admin/addgallery.php:324 -msgid "or enter a Zip-File URL" -msgstr "" - -#: ../admin/addgallery.php:326 -msgid "Import a zip file with images from a url" -msgstr "" - -#: ../admin/addgallery.php:330 -#: ../admin/addgallery.php:386 -msgid "in to" -msgstr "" - -#: ../admin/addgallery.php:332 -msgid "a new gallery" -msgstr "" - -#: ../admin/addgallery.php:343 -msgid "Note : The upload limit on your server is " -msgstr "" - -#: ../admin/addgallery.php:347 -msgid "Start upload" -msgstr "" - -#: ../admin/addgallery.php:360 -msgid "Import from Server path:" -msgstr "" - -#: ../admin/addgallery.php:363 -msgid "Note : Change the default path in the gallery settings" -msgstr "" - -#: ../admin/addgallery.php:365 -msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually" -msgstr "" - -#: ../admin/addgallery.php:368 -msgid "Import folder" -msgstr "" - -#: ../admin/addgallery.php:382 -msgid "Upload image" -msgstr "" - -#: ../admin/addgallery.php:388 -msgid "Choose gallery" -msgstr "" - -#: ../admin/addgallery.php:407 -msgid "The batch upload requires Adobe Flash 10, disable it if you have problems" -msgstr "" - -#: ../admin/addgallery.php:407 -msgid "Disable flash upload" -msgstr "" - -#: ../admin/addgallery.php:409 -msgid "Upload multiple files at once by ctrl/shift-selecting in dialog" -msgstr "" - -#: ../admin/addgallery.php:409 -msgid "Enable flash based upload" -msgstr "" - -#: ../admin/admin.php:31 -#: ../admin/admin.php:57 -#: ../admin/admin.php:287 -#: ../admin/admin.php:355 -#: ../admin/functions.php:178 -#: ../admin/manage-galleries.php:120 -#: ../admin/manage-galleries.php:372 -#: ../admin/manage-images.php:239 -msgid "Gallery" -msgid_plural "Galleries" -msgstr[0] "" -msgstr[1] "" - -#: ../admin/admin.php:33 -msgid "Add Gallery / Images" -msgstr "" - -#: ../admin/admin.php:34 -msgid "Manage Gallery" -msgstr "" - -#: ../admin/admin.php:35 -msgid "Album" -msgid_plural "Albums" -msgstr[0] "" -msgstr[1] "" - -#: ../admin/admin.php:36 -msgid "Tags" -msgstr "" - -#: ../admin/admin.php:37 -msgid "Options" -msgstr "" - -#: ../admin/admin.php:39 -msgid "Style" -msgstr "" - -#: ../admin/admin.php:41 -msgid "Roles" -msgstr "" - -#: ../admin/admin.php:42 -msgid "About this Gallery" -msgstr "" - -#: ../admin/admin.php:42 -msgid "About" -msgstr "" - -#: ../admin/admin.php:45 -msgid "NextGEN Gallery" -msgstr "" - -#: ../admin/admin.php:48 -#: ../admin/admin.php:59 -msgid "Reset / Uninstall" -msgstr "" - -#: ../admin/admin.php:58 -msgid "Network settings" -msgstr "" - -#: ../admin/admin.php:98 -#, php-format -msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a donation! If you still need some help, please post your questions here ." -msgstr "" - -#: ../admin/admin.php:101 -msgid "OK, hide this message now !" -msgstr "" - -#: ../admin/admin.php:186 -msgid "You do not have the correct permission" -msgstr "" - -#: ../admin/admin.php:187 -msgid "Unexpected Error" -msgstr "" - -#: ../admin/admin.php:188 -msgid "A failure occurred" -msgstr "" - -#: ../admin/admin.php:291 -msgid "Introduction" -msgstr "" - -#: ../admin/admin.php:294 -msgid "Setup" -msgstr "" - -#: ../admin/admin.php:297 -msgid "Translation by alex rabe" -msgstr "" - -#: ../admin/admin.php:300 -msgid "Roles / Capabilities" -msgstr "" - -#: ../admin/admin.php:303 -msgid "Styles" -msgstr "" - -#: ../admin/admin.php:304 -msgid "Templates" -msgstr "" - -#: ../admin/admin.php:307 -#: ../admin/admin.php:313 -msgid "Gallery management" -msgstr "" - -#: ../admin/admin.php:308 -msgid "Gallery example" -msgstr "" - -#: ../admin/admin.php:314 -#: ../admin/admin.php:324 -msgid "Gallery tags" -msgstr "" - -#: ../admin/admin.php:317 -msgid "Album management" -msgstr "" - -#: ../admin/admin.php:318 -msgid "Album example" -msgstr "" - -#: ../admin/admin.php:319 -#: ../admin/admin.php:325 -msgid "Album tags" -msgstr "" - -#: ../admin/admin.php:322 -msgid "Gallery tags" -msgstr "" - -#: ../admin/admin.php:323 -msgid "Related images" -msgstr "" - -#: ../admin/admin.php:328 -msgid "Image management" -msgstr "" - -#: ../admin/admin.php:329 -msgid "Custom fields" -msgstr "" - -#: ../admin/admin.php:334 -msgid "Get help with NextGEN Gallery" -msgstr "" - -#: ../admin/admin.php:338 -msgid "More Help & Info" -msgstr "" - -#: ../admin/admin.php:340 -msgid "Support Forums" -msgstr "" - -#: ../admin/admin.php:341 -msgid "FAQ" -msgstr "" - -#: ../admin/admin.php:342 -msgid "Feature request" -msgstr "" - -#: ../admin/admin.php:343 -msgid "Get your language pack" -msgstr "" - -#: ../admin/admin.php:344 -msgid "Contribute development" -msgstr "" - -#: ../admin/admin.php:345 -msgid "Download latest version" -msgstr "" - -#: ../admin/ajax.php:312 -msgid "You are not allowed to be here" -msgstr "" - -#: ../admin/ajax.php:406 -#, php-format -msgid "Could create image with %s x %s pixel" -msgstr "" - -#: ../admin/album.php:102 -#: ../admin/album.php:117 -#: ../admin/album.php:158 -msgid "Update Successfully" -msgstr "" - -#: ../admin/album.php:131 -msgid "Album deleted" -msgstr "" - -#: ../admin/album.php:269 -msgid "Edit Album" -msgstr "" - -#: ../admin/album.php:278 -msgid "Manage Albums" -msgstr "" - -#: ../admin/album.php:284 -#: ../admin/album.php:333 -msgid "Select album" -msgstr "" - -#: ../admin/album.php:286 -msgid "No album selected" -msgstr "" - -#: ../admin/album.php:297 -#: ../admin/edit-thumbnail.php:157 -msgid "Update" -msgstr "" - -#: ../admin/album.php:299 -msgid "Edit album" -msgstr "" - -#: ../admin/album.php:302 -#: ../admin/manage-galleries.php:139 -#: ../admin/manage-images.php:445 -msgid "Delete" -msgstr "" - -#: ../admin/album.php:306 -msgid "Add new album" -msgstr "" - -#: ../admin/album.php:308 -msgid "Add" -msgstr "" - -#: ../admin/album.php:319 -msgid "Show / hide used galleries" -msgstr "" - -#: ../admin/album.php:319 -msgid "[Show all]" -msgstr "" - -#: ../admin/album.php:320 -msgid "Maximize the widget content" -msgstr "" - -#: ../admin/album.php:320 -msgid "[Maximize]" -msgstr "" - -#: ../admin/album.php:321 -msgid "Minimize the widget content" -msgstr "" - -#: ../admin/album.php:321 -msgid "[Minimize]" -msgstr "" - -#: ../admin/album.php:323 -msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below" -msgstr "" - -#: ../admin/album.php:349 -msgid "Select gallery" -msgstr "" - -#: ../admin/album.php:378 -msgid "Album ID" -msgstr "" - -#: ../admin/album.php:391 -msgid "No album selected!" -msgstr "" - -#: ../admin/album.php:411 -msgid "Album name:" -msgstr "" - -#: ../admin/album.php:417 -msgid "Album description:" -msgstr "" - -#: ../admin/album.php:423 -msgid "Select a preview image:" -msgstr "" - -#: ../admin/album.php:426 -#: ../admin/album.php:429 -msgid "No picture" -msgstr "" - -#: ../admin/album.php:440 -#: ../admin/manage-images.php:257 -msgid "Page Link to" -msgstr "" - -#: ../admin/album.php:442 -#: ../admin/manage-images.php:260 -msgid "Not linked" -msgstr "" - -#: ../admin/album.php:455 -#: ../admin/manage-galleries.php:293 -#: ../admin/manage-galleries.php:322 -#: ../admin/manage-galleries.php:352 -#: ../admin/manage-images.php:539 -#: ../admin/manage-images.php:575 -#: ../admin/manage-images.php:604 -#: ../admin/manage-images.php:634 -msgid "OK" -msgstr "" - -#: ../admin/album.php:457 -#: ../admin/manage-galleries.php:295 -#: ../admin/manage-galleries.php:324 -#: ../admin/manage-galleries.php:354 -#: ../admin/manage-images.php:541 -#: ../admin/manage-images.php:577 -#: ../admin/manage-images.php:606 -#: ../admin/manage-images.php:636 -msgid "Cancel" -msgstr "" - -#: ../admin/album.php:541 -msgid "Name" -msgstr "" - -#: ../admin/album.php:542 -#: ../admin/manage-images.php:255 -msgid "Title" -msgstr "" - -#: ../admin/album.php:543 -msgid "Page" -msgstr "" - -#: ../admin/edit-thumbnail.php:106 -msgid "Select with the mouse the area for the new thumbnail" -msgstr "" - -#: ../admin/edit-thumbnail.php:120 -msgid "Thumbnail updated" -msgstr "" - -#: ../admin/edit-thumbnail.php:125 -msgid "Error updating thumbnail" -msgstr "" - -#: ../admin/edit-thumbnail.php:142 -msgid "Select the area for the thumbnail from the picture on the left." -msgstr "" - -#: ../admin/functions.php:39 -msgid "No valid gallery name!" -msgstr "" - -#: ../admin/functions.php:46 -#: ../admin/functions.php:55 -#: ../admin/functions.php:80 -#: ../admin/functions.php:149 -#: ../admin/functions.php:157 -msgid "Directory" -msgstr "" - -#: ../admin/functions.php:46 -msgid "didn't exist. Please create first the main gallery folder " -msgstr "" - -#: ../admin/functions.php:47 -#: ../admin/functions.php:56 -msgid "Check this link, if you didn't know how to set the permission :" -msgstr "" - -#: ../admin/functions.php:55 -#: ../admin/functions.php:80 -msgid "is not writeable !" -msgstr "" - -#: ../admin/functions.php:76 -#: ../admin/functions.php:85 -#: ../admin/functions.php:889 -msgid "Unable to create directory " -msgstr "" - -#: ../admin/functions.php:89 -msgid "The server setting Safe-Mode is on !" -msgstr "" - -#: ../admin/functions.php:90 -msgid "If you have problems, please create directory" -msgstr "" - -#: ../admin/functions.php:91 -msgid "and the thumbnails directory" -msgstr "" - -#: ../admin/functions.php:91 -msgid "with permission 777 manually !" -msgstr "" - -#: ../admin/functions.php:116 -#, php-format -msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.
    " -msgstr "" - -#: ../admin/functions.php:119 -msgid "Edit gallery" -msgstr "" - -#: ../admin/functions.php:149 -msgid "doesn`t exist!" -msgstr "" - -#: ../admin/functions.php:157 -msgid "contains no pictures" -msgstr "" - -#: ../admin/functions.php:175 -msgid "Database error. Could not add gallery!" -msgstr "" - -#: ../admin/functions.php:178 -msgid "successfully created!" -msgstr "" - -#: ../admin/functions.php:207 -#: ../admin/functions.php:1006 -#: ../admin/manage-galleries.php:74 -#: ../admin/manage-galleries.php:141 -#: ../admin/manage-images.php:202 -#: ../admin/manage-images.php:341 -#: ../admin/manage.php:216 -#: ../admin/manage.php:292 -msgid "Create new thumbnails" -msgstr "" - -#: ../admin/functions.php:210 -msgid " picture(s) successfully added" -msgstr "" - -#: ../admin/functions.php:260 -#: ../admin/functions.php:340 -#: ../admin/functions.php:395 -#: ../admin/functions.php:492 -#: ../admin/functions.php:546 -msgid "Object didn't contain correct data" -msgstr "" - -#: ../admin/functions.php:268 -msgid " is not writeable " -msgstr "" - -#: ../admin/functions.php:350 -#: ../admin/functions.php:398 -#: ../admin/functions.php:498 -#: ../admin/functions.php:549 -msgid " is not writeable" -msgstr "" - -#: ../admin/functions.php:552 -msgid "File do not exists" -msgstr "" - -#: ../admin/functions.php:556 -msgid "Couldn't restore original image" -msgstr "" - -#: ../admin/functions.php:669 -msgid "(Error : Couldn't not update data base)" -msgstr "" - -#: ../admin/functions.php:676 -msgid "(Error : Couldn't not update meta data)" -msgstr "" - -#: ../admin/functions.php:685 -msgid "(Error : Couldn't not find image)" -msgstr "" - -#: ../admin/functions.php:823 -msgid "No valid URL path " -msgstr "" - -#: ../admin/functions.php:839 -msgid "Import via cURL failed." -msgstr "" - -#: ../admin/functions.php:856 -msgid "Uploaded file was no or a faulty zip file ! The server recognized : " -msgstr "" - -#: ../admin/functions.php:873 -msgid "Could not get a valid foldername" -msgstr "" - -#: ../admin/functions.php:884 -#, php-format -msgid "Unable to create directory %s. Is its parent directory writable by the server?" -msgstr "" - -#: ../admin/functions.php:899 -msgid "Zip-File successfully unpacked" -msgstr "" - -#: ../admin/functions.php:938 -#: ../admin/functions.php:1055 -msgid "Failure in database, no gallery path set !" -msgstr "" - -#: ../admin/functions.php:962 -#: ../admin/functions.php:1049 -msgid "is no valid image file!" -msgstr "" - -#: ../admin/functions.php:976 -#: ../admin/functions.php:1175 -#: ../admin/functions.php:1252 -#, php-format -msgid "Unable to write to directory %s. Is this directory writable by the server?" -msgstr "" - -#: ../admin/functions.php:983 -#: ../admin/functions.php:1072 -msgid "Error, the file could not be moved to : " -msgstr "" - -#: ../admin/functions.php:988 -#: ../admin/functions.php:1076 -msgid "Error, the file permissions could not be set" -msgstr "" - -#: ../admin/functions.php:1011 -msgid " Image(s) successfully added" -msgstr "" - -#: ../admin/functions.php:1038 -msgid "Invalid upload. Error Code : " -msgstr "" - -#: ../admin/functions.php:1115 -#, php-format -msgid "SAFE MODE Restriction in effect! You need to create the folder %s manually" -msgstr "" - -#: ../admin/functions.php:1116 -#, php-format -msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory" -msgstr "" - -#: ../admin/functions.php:1169 -#: ../admin/functions.php:1246 -msgid "The destination gallery does not exist" -msgstr "" - -#: ../admin/functions.php:1200 -#, php-format -msgid "Failed to move image %1$s to %2$s" -msgstr "" - -#: ../admin/functions.php:1220 -#, php-format -msgid "Moved %1$s picture(s) to gallery : %2$s ." -msgstr "" - -#: ../admin/functions.php:1279 -#, php-format -msgid "Failed to copy image %1$s to %2$s" -msgstr "" - -#: ../admin/functions.php:1293 -#, php-format -msgid "Failed to copy database row for picture %s" -msgstr "" - -#: ../admin/functions.php:1305 -#, php-format -msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery." -msgstr "" - -#: ../admin/functions.php:1308 -#, php-format -msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" -msgstr "" - -#: ../admin/functions.php:1317 -#, php-format -msgid "Copied %1$s picture(s) to gallery: %2$s ." -msgstr "" - -#: ../admin/functions.php:1425 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ../admin/functions.php:1428 -msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" -msgstr "" - -#: ../admin/functions.php:1431 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ../admin/functions.php:1434 -msgid "No file was uploaded" -msgstr "" - -#: ../admin/functions.php:1437 -msgid "Missing a temporary folder" -msgstr "" - -#: ../admin/functions.php:1440 -msgid "Failed to write file to disk" -msgstr "" - -#: ../admin/functions.php:1443 -msgid "File upload stopped by extension" -msgstr "" - -#: ../admin/functions.php:1446 -msgid "Unknown upload error" -msgstr "" - -#: ../admin/install.php:23 -msgid "Sorry, NextGEN Gallery works only with a role called administrator" -msgstr "" - -#: ../admin/install.php:112 -msgid "NextGEN Gallery : Tables could not created, please check your database settings" -msgstr "" - -#: ../admin/install.php:170 -msgid "[Show as slideshow]" -msgstr "" - -#: ../admin/install.php:171 -msgid "[Show picture list]" -msgstr "" - -#: ../admin/manage-galleries.php:20 -#: ../admin/manage-images.php:55 -msgid "«" -msgstr "" - -#: ../admin/manage-galleries.php:21 -#: ../admin/manage-images.php:56 -msgid "»" -msgstr "" - -#: ../admin/manage-galleries.php:62 -#: ../admin/manage-images.php:170 -msgid "No images selected" -msgstr "" - -#: ../admin/manage-galleries.php:70 -#: ../admin/manage-galleries.php:142 -#: ../admin/manage-images.php:198 -#: ../admin/manage-images.php:342 -#: ../admin/manage.php:200 -#: ../admin/manage.php:278 -msgid "Resize images" -msgstr "" - -#: ../admin/manage-galleries.php:79 -#, php-format -msgid "" -"You are about to start the bulk edit for %s galleries \n" -" \n" -" 'Cancel' to stop, 'OK' to proceed." -msgstr "" - -#: ../admin/manage-galleries.php:123 -#: ../admin/manage-galleries.php:126 -#: ../admin/manage-images.php:225 -#: ../admin/manage-images.php:228 -msgid "Search Images" -msgstr "" - -#: ../admin/manage-galleries.php:138 -#: ../admin/manage-images.php:339 -msgid "Bulk actions" -msgstr "" - -#: ../admin/manage-galleries.php:140 -#: ../admin/manage-images.php:340 -#: ../admin/manage.php:133 -#: ../admin/manage.php:242 -msgid "Set watermark" -msgstr "" - -#: ../admin/manage-galleries.php:143 -#: ../admin/manage-images.php:345 -#: ../admin/manage.php:138 -#: ../admin/manage.php:262 -msgid "Import metadata" -msgstr "" - -#: ../admin/manage-galleries.php:144 -#: ../admin/manage-images.php:343 -#: ../admin/manage.php:128 -#: ../admin/manage.php:239 -msgid "Recover from backup" -msgstr "" - -#: ../admin/manage-galleries.php:146 -#: ../admin/manage-images.php:354 -msgid "Apply" -msgstr "" - -#: ../admin/manage-galleries.php:154 -#: ../admin/manage-galleries.php:266 -#: ../admin/manage-images.php:330 -#: ../admin/manage-images.php:514 -#, php-format -msgid "Displaying %s–%s of %s" -msgstr "" - -#: ../admin/manage-galleries.php:219 -msgid "Edit" -msgstr "" - -#: ../admin/manage-galleries.php:259 -#: ../admin/manage-images.php:505 -msgid "No entries found" -msgstr "" - -#: ../admin/manage-galleries.php:313 -#: ../admin/manage-images.php:595 -msgid "Resize Images to" -msgstr "" - -#: ../admin/manage-galleries.php:317 -#: ../admin/manage-images.php:599 -msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" -msgstr "" - -#: ../admin/manage-galleries.php:341 -#: ../admin/manage-images.php:623 -msgid "Width x height (in pixel)" -msgstr "" - -#: ../admin/manage-galleries.php:343 -#: ../admin/manage-images.php:625 -msgid "These values are maximum values " -msgstr "" - -#: ../admin/manage-galleries.php:346 -#: ../admin/manage-images.php:628 -msgid "Set fix dimension" -msgstr "" - -#: ../admin/manage-galleries.php:348 -#: ../admin/manage-images.php:630 -msgid "Ignore the aspect ratio, no portrait thumbnails" -msgstr "" - -#: ../admin/manage-galleries.php:371 -#: ../admin/manage-images.php:658 -msgid "ID" -msgstr "" - -#: ../admin/manage-galleries.php:373 -#: ../admin/manage-images.php:266 -#: ../admin/manage-images.php:663 -msgid "Description" -msgstr "" - -#: ../admin/manage-galleries.php:374 -#: ../admin/manage-images.php:287 -msgid "Author" -msgstr "" - -#: ../admin/manage-galleries.php:375 -msgid "Page ID" -msgstr "" - -#: ../admin/manage-galleries.php:376 -msgid "Image" -msgid_plural "Images" -msgstr[0] "" -msgstr[1] "" - -#: ../admin/manage-images.php:32 -msgid "Gallery not found." -msgstr "" - -#: ../admin/manage-images.php:38 -msgid "Sorry, you have no access here" -msgstr "" - -#: ../admin/manage-images.php:178 -msgid "Copy image to..." -msgstr "" - -#: ../admin/manage-images.php:182 -msgid "Move image to..." -msgstr "" - -#: ../admin/manage-images.php:186 -msgid "Add new tags" -msgstr "" - -#: ../admin/manage-images.php:190 -#: ../admin/manage-images.php:351 -msgid "Delete tags" -msgstr "" - -#: ../admin/manage-images.php:194 -msgid "Overwrite" -msgstr "" - -#: ../admin/manage-images.php:207 -#, php-format -msgid "" -"You are about to start the bulk edit for %s images \n" -" \n" -" 'Cancel' to stop, 'OK' to proceed." -msgstr "" - -#: ../admin/manage-images.php:222 -#, php-format -msgid "Search results for “%s”" -msgstr "" - -#: ../admin/manage-images.php:251 -msgid "Gallery settings" -msgstr "" - -#: ../admin/manage-images.php:251 -msgid "Click here for more settings" -msgstr "" - -#: ../admin/manage-images.php:268 -msgid "Preview image" -msgstr "" - -#: ../admin/manage-images.php:271 -msgid "No Picture" -msgstr "" - -#: ../admin/manage-images.php:285 -msgid "Path" -msgstr "" - -#: ../admin/manage-images.php:302 -msgid "Create new page" -msgstr "" - -#: ../admin/manage-images.php:305 -msgid "Main page (No parent)" -msgstr "" - -#: ../admin/manage-images.php:308 -msgid "Add page" -msgstr "" - -#: ../admin/manage-images.php:317 -msgid "Scan Folder for new images" -msgstr "" - -#: ../admin/manage-images.php:318 -#: ../admin/manage-images.php:360 -#: ../admin/manage-images.php:512 -msgid "Save Changes" -msgstr "" - -#: ../admin/manage-images.php:344 -msgid "Delete images" -msgstr "" - -#: ../admin/manage-images.php:346 -msgid "Rotate images clockwise" -msgstr "" - -#: ../admin/manage-images.php:347 -msgid "Rotate images counter-clockwise" -msgstr "" - -#: ../admin/manage-images.php:348 -msgid "Copy to..." -msgstr "" - -#: ../admin/manage-images.php:349 -msgid "Move to..." -msgstr "" - -#: ../admin/manage-images.php:350 -msgid "Add tags" -msgstr "" - -#: ../admin/manage-images.php:352 -msgid "Overwrite tags" -msgstr "" - -#: ../admin/manage-images.php:357 -msgid "Sort gallery" -msgstr "" - -#: ../admin/manage-images.php:431 -msgid "pixel" -msgstr "" - -#: ../admin/manage-images.php:437 -#, php-format -msgid "View \"%s\"" -msgstr "" - -#: ../admin/manage-images.php:437 -msgid "View" -msgstr "" - -#: ../admin/manage-images.php:438 -msgid "Show Meta data" -msgstr "" - -#: ../admin/manage-images.php:438 -msgid "Meta" -msgstr "" - -#: ../admin/manage-images.php:439 -msgid "Customize thumbnail" -msgstr "" - -#: ../admin/manage-images.php:439 -msgid "Edit thumb" -msgstr "" - -#: ../admin/manage-images.php:440 -msgid "Rotate" -msgstr "" - -#: ../admin/manage-images.php:442 -msgid "Publish this image" -msgstr "" - -#: ../admin/manage-images.php:442 -msgid "Publish" -msgstr "" - -#: ../admin/manage-images.php:444 -msgid "Recover" -msgstr "" - -#: ../admin/manage-images.php:444 -#, php-format -msgid "Recover \"%s\" ?" -msgstr "" - -#: ../admin/manage-images.php:445 -#, php-format -msgid "Delete \"%s\" ?" -msgstr "" - -#: ../admin/manage-images.php:535 -msgid "Enter the tags" -msgstr "" - -#: ../admin/manage-images.php:559 -msgid "Select the destination gallery:" -msgstr "" - -#: ../admin/manage-images.php:659 -msgid "Thumbnail" -msgstr "" - -#: ../admin/manage-images.php:661 -#: ../admin/manage-sort.php:77 -msgid "Filename" -msgstr "" - -#: ../admin/manage-images.php:663 -msgid "Alt & Title Text" -msgstr "" - -#: ../admin/manage-images.php:664 -msgid "Tags (comma separated list)" -msgstr "" - -#: ../admin/manage-images.php:666 -msgid "exclude" -msgstr "" - -#: ../admin/manage-sort.php:33 -msgid "Sort order changed" -msgstr "" - -#: ../admin/manage-sort.php:62 -msgid "Sort Gallery" -msgstr "" - -#: ../admin/manage-sort.php:66 -msgid "Update Sort Order" -msgstr "" - -#: ../admin/manage-sort.php:69 -msgid "Back to gallery" -msgstr "" - -#: ../admin/manage-sort.php:74 -msgid "Presort" -msgstr "" - -#: ../admin/manage-sort.php:75 -msgid "Unsorted" -msgstr "" - -#: ../admin/manage-sort.php:76 -msgid "Image ID" -msgstr "" - -#: ../admin/manage-sort.php:78 -msgid "Alt/Title text" -msgstr "" - -#: ../admin/manage-sort.php:79 -msgid "Date/Time" -msgstr "" - -#: ../admin/manage-sort.php:80 -msgid "Ascending" -msgstr "" - -#: ../admin/manage-sort.php:81 -msgid "Descending" -msgstr "" - -#: ../admin/manage.php:77 -msgid "Picture" -msgstr "" - -#: ../admin/manage.php:77 -msgid "deleted successfully" -msgstr "" - -#: ../admin/manage.php:92 -#: ../admin/manage.php:101 -msgid "Operation successful. Please clear your browser cache." -msgstr "" - -#: ../admin/manage.php:168 -msgid "Gallery deleted successfully " -msgstr "" - -#: ../admin/manage.php:233 -#: ../admin/manage.php:236 -msgid "Rotate images" -msgstr "" - -#: ../admin/manage.php:258 -msgid "Pictures deleted successfully " -msgstr "" - -#: ../admin/manage.php:354 -msgid "Tags changed" -msgstr "" - -#: ../admin/manage.php:390 -msgid "Update successful" -msgstr "" - -#: ../admin/manage.php:425 -msgid "New gallery page ID" -msgstr "" - -#: ../admin/manage.php:425 -msgid "created" -msgstr "" - -#: ../admin/manage.php:461 -msgid "Published a new post" -msgstr "" - -#: ../admin/media-upload.php:166 -msgid "No gallery" -msgstr "" - -#: ../admin/media-upload.php:178 -msgid "Select »" -msgstr "" - -#: ../admin/media-upload.php:209 -msgid "Show" -msgstr "" - -#: ../admin/media-upload.php:210 -msgid "Hide" -msgstr "" - -#: ../admin/media-upload.php:215 -msgid "Image ID:" -msgstr "" - -#: ../admin/media-upload.php:229 -#: ../admin/publish.php:55 -msgid "Alignment" -msgstr "" - -#: ../admin/media-upload.php:232 -#: ../admin/publish.php:57 -#: ../admin/settings.php:478 -msgid "None" -msgstr "" - -#: ../admin/media-upload.php:234 -#: ../admin/publish.php:59 -#: ../admin/tinymce/window.php:120 -msgid "Left" -msgstr "" - -#: ../admin/media-upload.php:236 -#: ../admin/publish.php:61 -#: ../admin/tinymce/window.php:121 -msgid "Center" -msgstr "" - -#: ../admin/media-upload.php:238 -#: ../admin/publish.php:63 -#: ../admin/tinymce/window.php:122 -msgid "Right" -msgstr "" - -#: ../admin/media-upload.php:242 -#: ../admin/settings.php:585 -msgid "Size" -msgstr "" - -#: ../admin/media-upload.php:248 -msgid "Full size" -msgstr "" - -#: ../admin/media-upload.php:250 -msgid "Singlepic" -msgstr "" - -#: ../admin/media-upload.php:263 -msgid "Insert into Post" -msgstr "" - -#: ../admin/media-upload.php:274 -msgid "Save all changes" -msgstr "" - -#: ../admin/overview.php:14 -msgid "NextGEN Gallery Overview" -msgstr "" - -#: ../admin/overview.php:86 -msgid "Welcome to NextGEN Gallery !" -msgstr "" - -#: ../admin/overview.php:87 -msgid "Do you like this Plugin?" -msgstr "" - -#: ../admin/overview.php:89 -msgid "Translation" -msgstr "" - -#: ../admin/overview.php:90 -msgid "Latest News" -msgstr "" - -#: ../admin/overview.php:91 -msgid "Recent donators" -msgstr "" - -#: ../admin/overview.php:93 -msgid "Plugin Check" -msgstr "" - -#: ../admin/overview.php:94 -msgid "Server Settings" -msgstr "" - -#: ../admin/overview.php:95 -msgid "Related plugins" -msgstr "" - -#: ../admin/overview.php:101 -#, php-format -msgid "This plugin is primarily developed, maintained, supported and documented by Alex Rabe with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!" -msgstr "" - -#: ../admin/overview.php:106 -msgid "Give it a good rating on WordPress.org." -msgstr "" - -#: ../admin/overview.php:111 -msgid "Donate the work via paypal." -msgstr "" - -#: ../admin/overview.php:116 -msgid "Send a gift to show your appreciation." -msgstr "" - -#: ../admin/overview.php:121 -msgid "Help translating it." -msgstr "" - -#: ../admin/overview.php:258 -msgid "Running..." -msgstr "" - -#: ../admin/overview.php:305 -msgid "Check plugin/theme conflict" -msgstr "" - -#: ../admin/overview.php:306 -#: ../admin/overview.php:312 -#: ../admin/overview.php:318 -msgid "Not tested" -msgstr "" - -#: ../admin/overview.php:307 -msgid "No conflict could be detected" -msgstr "" - -#: ../admin/overview.php:308 -msgid "Test failed, disable other plugins & switch to default theme" -msgstr "" - -#: ../admin/overview.php:311 -msgid "Test image function" -msgstr "" - -#: ../admin/overview.php:313 -msgid "The plugin could create images" -msgstr "" - -#: ../admin/overview.php:314 -msgid "Couldn't create image, check your memory limit" -msgstr "" - -#: ../admin/overview.php:317 -msgid "Check theme compatibility" -msgstr "" - -#: ../admin/overview.php:319 -msgid "Your theme should work fine with NextGEN Gallery" -msgstr "" - -#: ../admin/overview.php:320 -msgid "wp_head()/wp_footer() is missing, contact the theme author" -msgstr "" - -#: ../admin/overview.php:324 -msgid "Check plugin" -msgstr "" - -#: ../admin/overview.php:345 -msgid "Graphic Library" -msgstr "" - -#: ../admin/overview.php:361 -#: ../admin/overview.php:410 -#: ../admin/overview.php:597 -#: ../admin/overview.php:787 -msgid "Loading…" -msgstr "" - -#: ../admin/overview.php:361 -#: ../admin/overview.php:410 -#: ../admin/overview.php:597 -#: ../admin/overview.php:787 -msgid "This widget requires JavaScript." -msgstr "" - -#: ../admin/overview.php:374 -msgid "Thanks to all donators..." -msgstr "" - -#: ../admin/overview.php:396 -msgid "View all" -msgstr "" - -#: ../admin/overview.php:422 -#, php-format -msgid "Newsfeed could not be loaded. Check the front page to check for updates." -msgstr "" - -#: ../admin/overview.php:434 -msgid "Untitled" -msgstr "" - -#: ../admin/overview.php:484 -msgid "At a Glance" -msgstr "" - -#: ../admin/overview.php:510 -msgid "Upload pictures" -msgstr "" - -#: ../admin/overview.php:511 -msgid "Here you can control your images, galleries and albums." -msgstr "" - -#: ../admin/overview.php:541 -msgid "Storage Space" -msgstr "" - -#: ../admin/overview.php:545 -#, php-format -msgid "%2$sMB" -msgstr "" - -#: ../admin/overview.php:546 -msgid "Space Allowed" -msgstr "" - -#: ../admin/overview.php:553 -#, php-format -msgid "%2$sMB (%3$s%%)" -msgstr "" - -#: ../admin/overview.php:554 -msgid "Space Used" -msgstr "" - -#: ../admin/overview.php:583 -msgid "Translation file successful updated. Please reload page." -msgstr "" - -#: ../admin/overview.php:585 -msgid "Reload page" -msgstr "" - -#: ../admin/overview.php:590 -msgid "Translation file couldn't be updated" -msgstr "" - -#: ../admin/overview.php:627 -msgid "Download" -msgstr "" - -#: ../admin/overview.php:656 -msgid "No GD support" -msgstr "" - -#: ../admin/overview.php:668 -#: ../admin/overview.php:714 -#: ../admin/overview.php:717 -#: ../admin/overview.php:720 -msgid "Yes" -msgstr "" - -#: ../admin/overview.php:670 -#: ../admin/overview.php:715 -#: ../admin/overview.php:718 -#: ../admin/overview.php:721 -msgid "No" -msgstr "" - -#: ../admin/overview.php:688 -msgid "Not set" -msgstr "" - -#: ../admin/overview.php:690 -#: ../admin/overview.php:693 -msgid "On" -msgstr "" - -#: ../admin/overview.php:691 -#: ../admin/overview.php:694 -msgid "Off" -msgstr "" - -#: ../admin/overview.php:697 -#: ../admin/overview.php:700 -#: ../admin/overview.php:703 -#: ../admin/overview.php:706 -#: ../admin/overview.php:709 -#: ../admin/overview.php:712 -msgid "N/A" -msgstr "" - -#: ../admin/overview.php:711 -msgid " MByte" -msgstr "" - -#: ../admin/overview.php:724 -msgid "Operating System" -msgstr "" - -#: ../admin/overview.php:725 -msgid "Server" -msgstr "" - -#: ../admin/overview.php:726 -msgid "Memory usage" -msgstr "" - -#: ../admin/overview.php:727 -msgid "MYSQL Version" -msgstr "" - -#: ../admin/overview.php:728 -msgid "SQL Mode" -msgstr "" - -#: ../admin/overview.php:729 -msgid "PHP Version" -msgstr "" - -#: ../admin/overview.php:730 -msgid "PHP Safe Mode" -msgstr "" - -#: ../admin/overview.php:731 -msgid "PHP Allow URL fopen" -msgstr "" - -#: ../admin/overview.php:732 -msgid "PHP Memory Limit" -msgstr "" - -#: ../admin/overview.php:733 -msgid "PHP Max Upload Size" -msgstr "" - -#: ../admin/overview.php:734 -msgid "PHP Max Post Size" -msgstr "" - -#: ../admin/overview.php:735 -msgid "PCRE Backtracking Limit" -msgstr "" - -#: ../admin/overview.php:736 -msgid "PHP Max Script Execute Time" -msgstr "" - -#: ../admin/overview.php:737 -msgid "PHP Exif support" -msgstr "" - -#: ../admin/overview.php:738 -msgid "PHP IPTC support" -msgstr "" - -#: ../admin/overview.php:739 -msgid "PHP XML support" -msgstr "" - -#: ../admin/overview.php:751 -msgid "NextGEN Gallery contains some functions which are only available under PHP 5.2. You are using the old PHP 4 version, upgrade now! It's no longer supported by the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, running simultaneously. Ask your provider if they can do this." -msgstr "" - -#: ../admin/overview.php:843 -msgid "Install" -msgstr "" - -#: ../admin/publish.php:45 -msgid "Post title" -msgstr "" - -#: ../admin/publish.php:47 -msgid "Enter the post title " -msgstr "" - -#: ../admin/publish.php:52 -msgid "Size of the image" -msgstr "" - -#: ../admin/publish.php:70 -msgid "Draft" -msgstr "" - -#: ../admin/roles.php:22 -msgid "Updated capabilities" -msgstr "" - -#: ../admin/roles.php:28 -msgid "Roles / capabilities" -msgstr "" - -#: ../admin/roles.php:29 -msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress." -msgstr "" - -#: ../admin/roles.php:30 -msgid "For a more flexible user management you can use the" -msgstr "" - -#: ../admin/roles.php:35 -msgid "Main NextGEN Gallery overview" -msgstr "" - -#: ../admin/roles.php:39 -msgid "Use TinyMCE Button / Upload tab" -msgstr "" - -#: ../admin/roles.php:43 -msgid "Add gallery / Upload images" -msgstr "" - -#: ../admin/roles.php:47 -msgid "Manage gallery" -msgstr "" - -#: ../admin/roles.php:51 -msgid "Manage others gallery" -msgstr "" - -#: ../admin/roles.php:55 -msgid "Manage tags" -msgstr "" - -#: ../admin/roles.php:63 -msgid "Change style" -msgstr "" - -#: ../admin/roles.php:67 -msgid "Change options" -msgstr "" - -#: ../admin/roles.php:71 -msgid "Update capabilities" -msgstr "" - -#: ../admin/rotate.php:55 -msgid "Image rotated" -msgstr "" - -#: ../admin/rotate.php:56 -msgid "Error rotating thumbnail" -msgstr "" - -#: ../admin/rotate.php:81 -msgid "90° clockwise" -msgstr "" - -#: ../admin/rotate.php:82 -msgid "90° anticlockwise" -msgstr "" - -#: ../admin/rotate.php:83 -msgid "Flip vertically" -msgstr "" - -#: ../admin/rotate.php:84 -msgid "Flip horizontally" -msgstr "" - -#: ../admin/settings.php:92 -msgid "Cache cleared" -msgstr "" - -#: ../admin/settings.php:211 -#: ../admin/settings.php:230 -msgid "General Options" -msgstr "" - -#: ../admin/settings.php:212 -#: ../admin/settings.php:415 -msgid "Thumbnails" -msgstr "" - -#: ../admin/settings.php:213 -msgid "Images" -msgstr "" - -#: ../admin/settings.php:215 -#: ../admin/settings.php:467 -msgid "Effects" -msgstr "" - -#: ../admin/settings.php:216 -#: ../admin/settings.php:509 -#: ../admin/tinymce/window.php:110 -msgid "Watermark" -msgstr "" - -#: ../admin/settings.php:217 -#: ../admin/settings.php:416 -#: ../admin/settings.php:616 -#: ../admin/tinymce/window.php:63 -msgid "Slideshow" -msgstr "" - -#: ../admin/settings.php:236 -#: ../admin/wpmu.php:68 -msgid "Gallery path" -msgstr "" - -#: ../admin/settings.php:238 -msgid "This is the default path for all galleries" -msgstr "" - -#: ../admin/settings.php:241 -msgid "Delete image files" -msgstr "" - -#: ../admin/settings.php:243 -msgid "Delete files, when removing a gallery in the database" -msgstr "" - -#: ../admin/settings.php:246 -msgid "Activate permalinks" -msgstr "" - -#: ../admin/settings.php:248 -msgid "When you activate this option, you need to update your permalink structure one time." -msgstr "" - -#: ../admin/settings.php:251 -msgid "Create new URL friendly image slugs" -msgstr "" - -#: ../admin/settings.php:252 -#: ../admin/settings.php:369 -msgid "Proceed now" -msgstr "" - -#: ../admin/settings.php:253 -msgid "Currently not used, prepare database for upcoming version" -msgstr "" - -#: ../admin/settings.php:256 -msgid "Select graphic library" -msgstr "" - -#: ../admin/settings.php:257 -msgid "GD Library" -msgstr "" - -#: ../admin/settings.php:258 -msgid "ImageMagick (Experimental). Path to the library :" -msgstr "" - -#: ../admin/settings.php:263 -msgid "Activate Media RSS feed" -msgstr "" - -#: ../admin/settings.php:265 -msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" -msgstr "" - -#: ../admin/settings.php:268 -msgid "Activate PicLens/CoolIris support" -msgstr "" - -#: ../admin/settings.php:270 -msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme." -msgstr "" - -#: ../admin/settings.php:273 -msgid "Tags / Categories" -msgstr "" - -#: ../admin/settings.php:276 -msgid "Activate related images" -msgstr "" - -#: ../admin/settings.php:278 -msgid "This option will append related images to every post" -msgstr "" - -#: ../admin/settings.php:282 -msgid "Match with" -msgstr "" - -#: ../admin/settings.php:283 -msgid "Categories" -msgstr "" - -#: ../admin/settings.php:288 -msgid "Max. number of images" -msgstr "" - -#: ../admin/settings.php:290 -msgid "0 will show all images" -msgstr "" - -#: ../admin/settings.php:294 -#: ../admin/settings.php:325 -#: ../admin/settings.php:372 -#: ../admin/settings.php:457 -#: ../admin/settings.php:492 -#: ../admin/settings.php:753 -msgid "More settings" -msgstr "" - -#: ../admin/settings.php:304 -msgid "Thumbnail settings" -msgstr "" - -#: ../admin/settings.php:308 -msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ." -msgstr "" - -#: ../admin/settings.php:321 -msgid "Thumbnail quality" -msgstr "" - -#: ../admin/settings.php:335 -msgid "Image settings" -msgstr "" - -#: ../admin/settings.php:341 -msgid "Resize Images" -msgstr "" - -#: ../admin/settings.php:346 -msgid "Image quality" -msgstr "" - -#: ../admin/settings.php:350 -msgid "Backup original images" -msgstr "" - -#: ../admin/settings.php:352 -msgid "Creates a backup for inserted images" -msgstr "" - -#: ../admin/settings.php:355 -msgid "Automatically resize" -msgstr "" - -#: ../admin/settings.php:357 -msgid "Automatically resize images on upload." -msgstr "" - -#: ../admin/settings.php:360 -msgid "Single picture" -msgstr "" - -#: ../admin/settings.php:363 -msgid "Cache single pictures" -msgstr "" - -#: ../admin/settings.php:365 -msgid "Creates a file for each singlepic settings. Reduce the CPU load" -msgstr "" - -#: ../admin/settings.php:368 -msgid "Clear cache folder" -msgstr "" - -#: ../admin/settings.php:389 -msgid "Deactivate gallery page link" -msgstr "" - -#: ../admin/settings.php:391 -msgid "The album will not link to a gallery subpage. The gallery is shown on the same page." -msgstr "" - -#: ../admin/settings.php:395 -msgid "Number of images per page" -msgstr "" - -#: ../admin/settings.php:397 -msgid "0 will disable pagination, all images on one page" -msgstr "" - -#: ../admin/settings.php:401 -msgid "Number of columns" -msgstr "" - -#: ../admin/settings.php:403 -msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images" -msgstr "" - -#: ../admin/settings.php:407 -msgid "Integrate slideshow" -msgstr "" - -#: ../admin/settings.php:414 -msgid "Show first" -msgstr "" - -#: ../admin/settings.php:420 -msgid "Show ImageBrowser" -msgstr "" - -#: ../admin/settings.php:422 -msgid "The gallery will open the ImageBrowser instead the effect." -msgstr "" - -#: ../admin/settings.php:426 -msgid "Add hidden images" -msgstr "" - -#: ../admin/settings.php:428 -msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load" -msgstr "" - -#: ../admin/settings.php:432 -msgid "Enable AJAX pagination" -msgstr "" - -#: ../admin/settings.php:434 -msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect" -msgstr "" - -#: ../admin/settings.php:438 -msgid "Sort options" -msgstr "" - -#: ../admin/settings.php:441 -msgid "Sort thumbnails" -msgstr "" - -#: ../admin/settings.php:443 -msgid "Custom order" -msgstr "" - -#: ../admin/settings.php:445 -msgid "File name" -msgstr "" - -#: ../admin/settings.php:446 -msgid "Alt / Title text" -msgstr "" - -#: ../admin/settings.php:447 -msgid "Date / Time" -msgstr "" - -#: ../admin/settings.php:451 -msgid "Sort direction" -msgstr "" - -#: ../admin/settings.php:471 -msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme." -msgstr "" - -#: ../admin/settings.php:472 -msgid "With the placeholder" -msgstr "" - -#: ../admin/settings.php:472 -msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do." -msgstr "" - -#: ../admin/settings.php:475 -msgid "JavaScript Thumbnail effect" -msgstr "" - -#: ../admin/settings.php:479 -msgid "Thickbox" -msgstr "" - -#: ../admin/settings.php:480 -msgid "Lightbox" -msgstr "" - -#: ../admin/settings.php:481 -msgid "Highslide" -msgstr "" - -#: ../admin/settings.php:482 -msgid "Shutter" -msgstr "" - -#: ../admin/settings.php:483 -msgid "Custom" -msgstr "" - -#: ../admin/settings.php:488 -msgid "Link Code line" -msgstr "" - -#: ../admin/settings.php:510 -msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone." -msgstr "" - -#: ../admin/settings.php:515 -msgid "Preview" -msgstr "" - -#: ../admin/settings.php:517 -#: ../admin/settings.php:522 -msgid "Position" -msgstr "" - -#: ../admin/settings.php:542 -msgid "Offset" -msgstr "" - -#: ../admin/settings.php:558 -msgid "Use image as watermark" -msgstr "" - -#: ../admin/settings.php:561 -msgid "URL to file" -msgstr "" - -#: ../admin/settings.php:563 -msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" -msgstr "" - -#: ../admin/settings.php:566 -msgid "Use text as watermark" -msgstr "" - -#: ../admin/settings.php:569 -msgid "Font" -msgstr "" - -#: ../admin/settings.php:578 -msgid "This function will not work, cause you need the FreeType library" -msgstr "" - -#: ../admin/settings.php:580 -msgid "You can upload more fonts in the folder nggallery/fonts" -msgstr "" - -#: ../admin/settings.php:589 -msgid "Color" -msgstr "" - -#: ../admin/settings.php:591 -msgid "(hex w/o #)" -msgstr "" - -#: ../admin/settings.php:594 -msgid "Text" -msgstr "" - -#: ../admin/settings.php:598 -msgid "Opaque" -msgstr "" - -#: ../admin/settings.php:619 -msgid "Default size (W x H)" -msgstr "" - -#: ../admin/settings.php:624 -msgid "Duration time" -msgstr "" - -#: ../admin/settings.php:625 -msgid "sec." -msgstr "" - -#: ../admin/settings.php:628 -#: ../admin/settings.php:703 -msgid "Transition / Fade effect" -msgstr "" - -#: ../admin/settings.php:631 -#: ../admin/settings.php:706 -msgid "fade" -msgstr "" - -#: ../admin/settings.php:632 -msgid "blindX" -msgstr "" - -#: ../admin/settings.php:633 -msgid "cover" -msgstr "" - -#: ../admin/settings.php:634 -msgid "scrollUp" -msgstr "" - -#: ../admin/settings.php:635 -msgid "scrollDown" -msgstr "" - -#: ../admin/settings.php:636 -msgid "shuffle" -msgstr "" - -#: ../admin/settings.php:637 -msgid "toss" -msgstr "" - -#: ../admin/settings.php:638 -msgid "wipe" -msgstr "" - -#: ../admin/settings.php:640 -msgid "See here for more information about the effects :" -msgstr "" - -#: ../admin/settings.php:644 -msgid "Settings for the JW Image Rotator" -msgstr "" - -#: ../admin/settings.php:645 -msgid "The settings are only used in the JW Image Rotator Version" -msgstr "" - -#: ../admin/settings.php:646 -msgid "See more information for the Flash Player on the web page" -msgstr "" - -#: ../admin/settings.php:651 -msgid "The path to imagerotator.swf is not defined, the slideshow will not work." -msgstr "" - -#: ../admin/settings.php:652 -msgid "If you would like to use the JW Image Rotatator, please download the player here and upload it to your Upload folder (Default is wp-content/uploads)." -msgstr "" - -#: ../admin/settings.php:658 -msgid "Enable flash slideshow" -msgstr "" - -#: ../admin/settings.php:660 -msgid "Integrate the flash based slideshow for all flash supported devices" -msgstr "" - -#: ../admin/settings.php:663 -msgid "Path to the Imagerotator (URL)" -msgstr "" - -#: ../admin/settings.php:666 -msgid "Search now" -msgstr "" - -#: ../admin/settings.php:667 -msgid "Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder" -msgstr "" - -#: ../admin/settings.php:671 -msgid "Shuffle mode" -msgstr "" - -#: ../admin/settings.php:675 -msgid "Show next image on click" -msgstr "" - -#: ../admin/settings.php:679 -msgid "Show navigation bar" -msgstr "" - -#: ../admin/settings.php:683 -msgid "Show loading icon" -msgstr "" - -#: ../admin/settings.php:687 -msgid "Use watermark logo" -msgstr "" - -#: ../admin/settings.php:689 -msgid "You can change the logo at the watermark settings" -msgstr "" - -#: ../admin/settings.php:692 -msgid "Stretch image" -msgstr "" - -#: ../admin/settings.php:695 -msgid "true" -msgstr "" - -#: ../admin/settings.php:696 -msgid "false" -msgstr "" - -#: ../admin/settings.php:697 -msgid "fit" -msgstr "" - -#: ../admin/settings.php:698 -msgid "none" -msgstr "" - -#: ../admin/settings.php:707 -msgid "bgfade" -msgstr "" - -#: ../admin/settings.php:708 -msgid "slowfade" -msgstr "" - -#: ../admin/settings.php:709 -msgid "circles" -msgstr "" - -#: ../admin/settings.php:710 -msgid "bubbles" -msgstr "" - -#: ../admin/settings.php:711 -msgid "blocks" -msgstr "" - -#: ../admin/settings.php:712 -msgid "fluids" -msgstr "" - -#: ../admin/settings.php:713 -msgid "flash" -msgstr "" - -#: ../admin/settings.php:714 -msgid "lines" -msgstr "" - -#: ../admin/settings.php:715 -msgid "random" -msgstr "" - -#: ../admin/settings.php:720 -msgid "Use slow zooming effect" -msgstr "" - -#: ../admin/settings.php:724 -msgid "Background Color" -msgstr "" - -#: ../admin/settings.php:729 -msgid "Texts / Buttons Color" -msgstr "" - -#: ../admin/settings.php:734 -msgid "Rollover / Active Color" -msgstr "" - -#: ../admin/settings.php:739 -msgid "Screen Color" -msgstr "" - -#: ../admin/settings.php:744 -msgid "Background music (URL)" -msgstr "" - -#: ../admin/settings.php:748 -msgid "Try XHTML validation (with CDATA)" -msgstr "" - -#: ../admin/settings.php:750 -msgid "Important : Could causes problem at some browser. Please recheck your page." -msgstr "" - -#: ../admin/setup.php:15 -msgid "Reset all settings to default parameter" -msgstr "" - -#: ../admin/setup.php:26 -msgid "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !" -msgstr "" - -#: ../admin/setup.php:30 -msgid "Reset options" -msgstr "" - -#: ../admin/setup.php:33 -msgid "Reset all options/settings to the default installation." -msgstr "" - -#: ../admin/setup.php:34 -msgid "Reset settings" -msgstr "" - -#: ../admin/setup.php:34 -msgid "" -"Reset all options to default settings ?\\n" -"\\n" -"Choose [Cancel] to Stop, [OK] to proceed.\\n" -msgstr "" - -#: ../admin/setup.php:39 -msgid "Uninstall plugin tables" -msgstr "" - -#: ../admin/setup.php:44 -msgid "You don't like NextGEN Gallery ?" -msgstr "" - -#: ../admin/setup.php:45 -msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. " -msgstr "" - -#: ../admin/setup.php:47 -msgid "WARNING:" -msgstr "" - -#: ../admin/setup.php:48 -msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables" -msgstr "" - -#: ../admin/setup.php:48 -msgid "and" -msgstr "" - -#: ../admin/setup.php:50 -msgid "Uninstall plugin" -msgstr "" - -#: ../admin/setup.php:50 -msgid "" -"You are about to Uninstall this plugin from WordPress.\\n" -"This action is not reversible.\\n" -"\\n" -"Choose [Cancel] to Stop, [OK] to Uninstall.\\n" -msgstr "" - -#: ../admin/showmeta.php:29 -msgid "Meta Data" -msgstr "" - -#: ../admin/showmeta.php:34 -#: ../admin/showmeta.php:60 -#: ../admin/showmeta.php:85 -#: ../admin/showmeta.php:109 -msgid "Tag" -msgstr "" - -#: ../admin/showmeta.php:35 -#: ../admin/showmeta.php:61 -#: ../admin/showmeta.php:86 -#: ../admin/showmeta.php:110 -msgid "Value" -msgstr "" - -#: ../admin/showmeta.php:49 -msgid "No meta data saved" -msgstr "" - -#: ../admin/showmeta.php:55 -msgid "EXIF Data" -msgstr "" - -#: ../admin/showmeta.php:74 -msgid "No exif data" -msgstr "" - -#: ../admin/showmeta.php:81 -msgid "IPTC Data" -msgstr "" - -#: ../admin/showmeta.php:105 -msgid "XMP Data" -msgstr "" - -#: ../admin/style.php:11 -msgid "(From the theme folder)" -msgstr "" - -#: ../admin/style.php:43 -msgid "You do not have sufficient permissions to edit templates for this blog." -msgstr "" - -#: ../admin/style.php:52 -msgid "CSS file successfully updated" -msgstr "" - -#: ../admin/style.php:89 -msgid "Style Editor" -msgstr "" - -#: ../admin/style.php:93 -msgid "Activate and use style sheet:" -msgstr "" - -#: ../admin/style.php:113 -msgid "Activate" -msgstr "" - -#: ../admin/style.php:123 -#, php-format -msgid "Editing %s" -msgstr "" - -#: ../admin/style.php:125 -#, php-format -msgid "Browsing %s" -msgstr "" - -#: ../admin/style.php:135 -msgid "Version" -msgstr "" - -#: ../admin/style.php:138 -msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade" -msgstr "" - -#: ../admin/style.php:140 -msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used" -msgstr "" - -#: ../admin/style.php:142 -msgid "Tip No. 2: Use the color picker below to help you find the right color scheme for your gallery!" -msgstr "" - -#: ../admin/style.php:158 -msgid "Update File" -msgstr "" - -#: ../admin/style.php:161 -msgid "If this file were writable you could edit it." -msgstr "" - -#: ../admin/style.php:166 -msgid "Oops, no such file exists! Double check the name and try again, merci." -msgstr "" - -#: ../admin/tags.php:38 -msgid "Most popular" -msgstr "" - -#: ../admin/tags.php:39 -msgid "Least used" -msgstr "" - -#: ../admin/tags.php:40 -msgid "Alphabetical" -msgstr "" - -#: ../admin/tags.php:96 -msgid "Manage image tags" -msgstr "" - -#: ../admin/tags.php:108 -msgid "Existing Tags" -msgstr "" - -#: ../admin/tags.php:112 -msgid "Search tags" -msgstr "" - -#: ../admin/tags.php:116 -msgid "Go" -msgstr "" - -#: ../admin/tags.php:121 -msgid "Sort Order:" -msgstr "" - -#: ../admin/tags.php:156 -#: ../admin/tags.php:160 -#: ../admin/tags.php:173 -msgid "Previous tags" -msgstr "" - -#: ../admin/tags.php:169 -msgid "Next tags" -msgstr "" - -#: ../admin/tags.php:181 -msgid "Rename Tag" -msgstr "" - -#: ../admin/tags.php:189 -msgid "Enter the tag to rename and its new value. You can use this feature to merge tags too. Click \"Rename\" and all posts which use this tag will be updated." -msgstr "" - -#: ../admin/tags.php:190 -#: ../admin/tags.php:238 -msgid "You can specify multiple tags to rename by separating them with commas." -msgstr "" - -#: ../admin/tags.php:194 -msgid "Tag(s) to rename:" -msgstr "" - -#: ../admin/tags.php:198 -msgid "New tag name(s):" -msgstr "" - -#: ../admin/tags.php:201 -msgid "Rename" -msgstr "" - -#: ../admin/tags.php:207 -msgid "Delete Tag" -msgstr "" - -#: ../admin/tags.php:215 -msgid "Enter the name of the tag to delete. This tag will be removed from all posts." -msgstr "" - -#: ../admin/tags.php:216 -msgid "You can specify multiple tags to delete by separating them with commas" -msgstr "" - -#: ../admin/tags.php:220 -msgid "Tag(s) to delete:" -msgstr "" - -#: ../admin/tags.php:229 -msgid "Edit Tag Slug" -msgstr "" - -#: ../admin/tags.php:237 -msgid "Enter the tag name to edit and its new slug. Slug definition" -msgstr "" - -#: ../admin/tags.php:242 -msgid "Tag(s) to match:" -msgstr "" - -#: ../admin/tags.php:246 -msgid "Slug(s) to set:" -msgstr "" - -#: ../admin/upgrade.php:22 -msgid "Upgrade database structure..." -msgstr "" - -#: ../admin/upgrade.php:108 -#: ../admin/upgrade.php:122 -#: ../admin/upgrade.php:129 -#: ../admin/upgrade.php:140 -#: ../admin/upgrade.php:154 -msgid "finished" -msgstr "" - -#: ../admin/upgrade.php:120 -msgid "Update file structure..." -msgstr "" - -#: ../admin/upgrade.php:127 -msgid "Import date and time information..." -msgstr "" - -#: ../admin/upgrade.php:135 -msgid "Move imagerotator to new location..." -msgstr "" - -#: ../admin/upgrade.php:146 -msgid "Update settings..." -msgstr "" - -#: ../admin/upgrade.php:160 -msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..." -msgstr "" - -#: ../admin/upgrade.php:168 -msgid "Updated options." -msgstr "" - -#: ../admin/upgrade.php:175 -msgid "Create unique slug" -msgstr "" - -#: ../admin/upgrade.php:176 -msgid "One of the upcomming features are a reworked permalinks structure." -msgstr "" - -#: ../admin/upgrade.php:177 -msgid "Therefore it's needed to have a unique identifier for each image, gallery and album." -msgstr "" - -#: ../admin/upgrade.php:178 -msgid "Depend on the amount of database entries this will take a while, don't reload this page." -msgstr "" - -#: ../admin/upgrade.php:187 -msgid "Could not find NextGEN Gallery database tables, upgrade failed !" -msgstr "" - -#: ../admin/upgrade.php:250 -msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section." -msgstr "" - -#: ../admin/upgrade.php:252 -msgid "Rename failed" -msgstr "" - -#: ../admin/upgrade.php:348 -#: ../admin/upgrade.php:367 -msgid "Upgrade NextGEN Gallery" -msgstr "" - -#: ../admin/upgrade.php:349 -msgid "The script detect that you upgrade from a older version." -msgstr "" - -#: ../admin/upgrade.php:350 -msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue." -msgstr "" - -#: ../admin/upgrade.php:351 -msgid "If you would like to downgrade later, please make first a complete backup of your database and the images." -msgstr "" - -#: ../admin/upgrade.php:352 -msgid "The upgrade process may take a while, so please be patient." -msgstr "" - -#: ../admin/upgrade.php:353 -msgid "Start upgrade now" -msgstr "" - -#: ../admin/upgrade.php:369 -msgid "Upgrade finished..." -msgstr "" - -#: ../admin/upgrade.php:370 -msgid "Continue" -msgstr "" - -#: ../admin/upgrade.php:393 -#, php-format -msgid "Rebuild image structure : %s / %s images" -msgstr "" - -#: ../admin/upgrade.php:394 -#, php-format -msgid "Rebuild gallery structure : %s / %s galleries" -msgstr "" - -#: ../admin/upgrade.php:395 -#, php-format -msgid "Rebuild album structure : %s / %s albums" -msgstr "" - -#: ../admin/upgrade.php:452 -msgid "Done." -msgstr "" - -#: ../admin/wpmu.php:33 -msgid "Update successfully" -msgstr "" - -#: ../admin/wpmu.php:45 -#, php-format -msgid "Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).
    If you would like to support the further development, please consider a donation! If you still need some help, please post your questions here ." -msgstr "" - -#: ../admin/wpmu.php:62 -msgid "Network Options" -msgstr "" - -#: ../admin/wpmu.php:70 -msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better." -msgstr "" - -#: ../admin/wpmu.php:71 -#, php-format -msgid "The default setting should be %s" -msgstr "" - -#: ../admin/wpmu.php:75 -msgid "Enable upload quota check" -msgstr "" - -#: ../admin/wpmu.php:77 -msgid "Should work if the gallery is bellow the blog.dir" -msgstr "" - -#: ../admin/wpmu.php:81 -msgid "Enable zip upload option" -msgstr "" - -#: ../admin/wpmu.php:83 -msgid "Allow users to upload zip folders." -msgstr "" - -#: ../admin/wpmu.php:87 -msgid "Enable import function" -msgstr "" - -#: ../admin/wpmu.php:89 -msgid "Allow users to import images folders from the server." -msgstr "" - -#: ../admin/wpmu.php:93 -msgid "Enable style selection" -msgstr "" - -#: ../admin/wpmu.php:95 -msgid "Allow users to choose a style for the gallery." -msgstr "" - -#: ../admin/wpmu.php:99 -msgid "Enable roles/capabilities" -msgstr "" - -#: ../admin/wpmu.php:101 -msgid "Allow users to change the roles for other blog authors." -msgstr "" - -#: ../admin/wpmu.php:105 -msgid "Default style" -msgstr "" - -#: ../admin/wpmu.php:122 -msgid "Choose the default style for the galleries." -msgstr "" - -#: ../admin/tinymce/window.php:56 -msgid "Select or enter gallery" -msgstr "" - -#: ../admin/tinymce/window.php:61 -#: ../admin/tinymce/window.php:82 -msgid "Show as" -msgstr "" - -#: ../admin/tinymce/window.php:62 -msgid "Image list" -msgstr "" - -#: ../admin/tinymce/window.php:64 -msgid "Imagebrowser" -msgstr "" - -#: ../admin/tinymce/window.php:77 -msgid "Select or enter album" -msgstr "" - -#: ../admin/tinymce/window.php:83 -msgid "Extended version" -msgstr "" - -#: ../admin/tinymce/window.php:84 -msgid "Compact version" -msgstr "" - -#: ../admin/tinymce/window.php:97 -msgid "Select or enter picture" -msgstr "" - -#: ../admin/tinymce/window.php:102 -msgid "Width x Height" -msgstr "" - -#: ../admin/tinymce/window.php:106 -msgid "Effect" -msgstr "" - -#: ../admin/tinymce/window.php:109 -msgid "No effect" -msgstr "" - -#: ../admin/tinymce/window.php:111 -msgid "Web 2.0" -msgstr "" - -#: ../admin/tinymce/window.php:116 -msgid "Float" -msgstr "" - -#: ../admin/tinymce/window.php:119 -msgid "No float" -msgstr "" - -#: ../admin/tinymce/window.php:138 -msgid "Insert" -msgstr "" - -#: ../lib/core.php:379 -#, php-format -msgid "Note : Based on your server memory limit you should not upload larger images then %d x %d pixel" -msgstr "" - -#: ../lib/locale.php:120 -msgid "Invalid URL Provided." -msgstr "" - -#: ../lib/locale.php:124 -#: ../lib/locale.php:128 -msgid "Could not create Temporary file." -msgstr "" - -#: ../lib/meta.php:124 -msgid " mm" -msgstr "" - -#: ../lib/meta.php:130 -msgid " sec" -msgstr "" - -#: ../lib/meta.php:134 -msgid "Fired" -msgstr "" - -#: ../lib/meta.php:134 -msgid "Not fired" -msgstr "" - -#: ../lib/meta.php:426 -msgid "Aperture" -msgstr "" - -#: ../lib/meta.php:427 -#: ../lib/meta.php:452 -msgid "Credit" -msgstr "" - -#: ../lib/meta.php:428 -msgid "Camera" -msgstr "" - -#: ../lib/meta.php:429 -msgid "Caption" -msgstr "" - -#: ../lib/meta.php:431 -msgid "Copyright" -msgstr "" - -#: ../lib/meta.php:432 -msgid "Focal length" -msgstr "" - -#: ../lib/meta.php:433 -msgid "ISO" -msgstr "" - -#: ../lib/meta.php:434 -msgid "Shutter speed" -msgstr "" - -#: ../lib/meta.php:438 -msgid "Subject" -msgstr "" - -#: ../lib/meta.php:439 -msgid "Make" -msgstr "" - -#: ../lib/meta.php:440 -msgid "Edit Status" -msgstr "" - -#: ../lib/meta.php:441 -msgid "Category" -msgstr "" - -#: ../lib/meta.php:442 -msgid "Keywords" -msgstr "" - -#: ../lib/meta.php:443 -msgid "Date Created" -msgstr "" - -#: ../lib/meta.php:444 -msgid "Time Created" -msgstr "" - -#: ../lib/meta.php:445 -msgid "Author Position" -msgstr "" - -#: ../lib/meta.php:446 -msgid "City" -msgstr "" - -#: ../lib/meta.php:447 -msgid "Location" -msgstr "" - -#: ../lib/meta.php:448 -msgid "Province/State" -msgstr "" - -#: ../lib/meta.php:449 -msgid "Country code" -msgstr "" - -#: ../lib/meta.php:450 -msgid "Country" -msgstr "" - -#: ../lib/meta.php:451 -msgid "Headline" -msgstr "" - -#: ../lib/meta.php:453 -msgid "Source" -msgstr "" - -#: ../lib/meta.php:454 -msgid "Copyright Notice" -msgstr "" - -#: ../lib/meta.php:455 -msgid "Contact" -msgstr "" - -#: ../lib/meta.php:456 -msgid "Last modified" -msgstr "" - -#: ../lib/meta.php:457 -msgid "Program tool" -msgstr "" - -#: ../lib/meta.php:458 -msgid "Format" -msgstr "" - -#: ../lib/meta.php:459 -msgid "Image Width" -msgstr "" - -#: ../lib/meta.php:460 -msgid "Image Height" -msgstr "" - -#: ../lib/meta.php:461 -msgid "Flash" -msgstr "" - -#: ../lib/multisite.php:23 -msgid "Sorry, you have used your space allocation. Please delete some files to upload more files." -msgstr "" - -#: ../lib/ngg-db.php:330 -#: ../lib/ngg-db.php:331 -msgid "Album overview" -msgstr "" - -#: ../lib/shortcodes.php:298 -msgid "[Pictures not found]" -msgstr "" - -#: ../lib/tags.php:35 -msgid "No new tag specified!" -msgstr "" - -#: ../lib/tags.php:50 -msgid "No new/old valid tag specified!" -msgstr "" - -#: ../lib/tags.php:86 -msgid "No tag renamed." -msgstr "" - -#: ../lib/tags.php:88 -#, php-format -msgid "Renamed tag(s) «%1$s» to «%2$s»" -msgstr "" - -#: ../lib/tags.php:95 -msgid "No valid new tag." -msgstr "" - -#: ../lib/tags.php:112 -msgid "No objects (post/page) found for specified old tags." -msgstr "" - -#: ../lib/tags.php:141 -msgid "No tag merged." -msgstr "" - -#: ../lib/tags.php:143 -#, php-format -msgid "Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." -msgstr "" - -#: ../lib/tags.php:146 -msgid "Error. No enough tags for rename. Too for merge. Choose !" -msgstr "" - -#: ../lib/tags.php:163 -msgid "No tag specified!" -msgstr "" - -#: ../lib/tags.php:186 -msgid "No tag deleted." -msgstr "" - -#: ../lib/tags.php:188 -#, php-format -msgid "%1s tag(s) deleted." -msgstr "" - -#: ../lib/tags.php:202 -msgid "No new slug(s) specified!" -msgstr "" - -#: ../lib/tags.php:214 -msgid "Tags number and slugs number isn't the same!" -msgstr "" - -#: ../lib/tags.php:241 -msgid "No slug edited." -msgstr "" - -#: ../lib/tags.php:243 -#, php-format -msgid "%s slug(s) edited." -msgstr "" - -#: ../lib/xmlrpc.php:66 -#, php-format -msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s" -msgstr "" - -#: ../lib/xmlrpc.php:73 -msgid "Bad login/pass combination." -msgstr "" - -#: ../lib/xmlrpc.php:129 -msgid "You are not allowed to upload files to this site." -msgstr "" - -#: ../lib/xmlrpc.php:135 -#: ../lib/xmlrpc.php:680 -msgid "Could not find gallery " -msgstr "" - -#: ../lib/xmlrpc.php:140 -#: ../lib/xmlrpc.php:685 -msgid "You are not allowed to upload files to this gallery." -msgstr "" - -#: ../lib/xmlrpc.php:152 -msgid "This is no valid image file." -msgstr "" - -#: ../lib/xmlrpc.php:164 -msgid "Could not find image id " -msgstr "" - -#: ../lib/xmlrpc.php:171 -#, php-format -msgid "Failed to delete image %1$s " -msgstr "" - -#: ../lib/xmlrpc.php:180 -#, php-format -msgid "Could not write file %1$s (%2$s)" -msgstr "" - -#: ../lib/xmlrpc.php:247 -#: ../lib/xmlrpc.php:299 -msgid "Invalid image ID" -msgstr "" - -#: ../lib/xmlrpc.php:250 -#: ../lib/xmlrpc.php:302 -msgid "Sorry, you must be able to edit this image" -msgstr "" - -#: ../lib/xmlrpc.php:308 -msgid "Sorry, could not update the image" -msgstr "" - -#: ../lib/xmlrpc.php:344 -#: ../lib/xmlrpc.php:576 -#: ../lib/xmlrpc.php:642 -msgid "Sorry, you must be able to manage galleries" -msgstr "" - -#: ../lib/xmlrpc.php:350 -msgid "Sorry, could not create the gallery" -msgstr "" - -#: ../lib/xmlrpc.php:393 -#: ../lib/xmlrpc.php:573 -msgid "Invalid gallery ID" -msgstr "" - -#: ../lib/xmlrpc.php:396 -msgid "Sorry, you must be able to manage this gallery" -msgstr "" - -#: ../lib/xmlrpc.php:402 -msgid "Sorry, could not update the gallery" -msgstr "" - -#: ../lib/xmlrpc.php:442 -#: ../lib/xmlrpc.php:494 -#: ../lib/xmlrpc.php:536 -#: ../lib/xmlrpc.php:609 -msgid "Sorry, you must be able to manage albums" -msgstr "" - -#: ../lib/xmlrpc.php:448 -msgid "Sorry, could not create the album" -msgstr "" - -#: ../lib/xmlrpc.php:491 -#: ../lib/xmlrpc.php:533 -msgid "Invalid album ID" -msgstr "" - -#: ../lib/xmlrpc.php:500 -msgid "Sorry, could not update the album" -msgstr "" - -#: ../view/album-compact.php:32 -msgid "Photos" -msgstr "" - -#: ../view/gallery-caption.php:32 -#: ../view/gallery-fuchs.php:32 -#: ../view/gallery.php:32 -#: ../widgets/media-rss-widget.php:122 -msgid "[View with PicLens]" -msgstr "" - -#: ../view/imagebrowser-caption.php:26 -#: ../view/imagebrowser-exif.php:30 -#: ../view/imagebrowser-fuchs.php:26 -#: ../view/imagebrowser.php:26 -msgid "Back" -msgstr "" - -#: ../view/imagebrowser-caption.php:29 -#: ../view/imagebrowser-exif.php:33 -#: ../view/imagebrowser-fuchs.php:29 -#: ../view/imagebrowser.php:29 -msgid "Next" -msgstr "" - -#: ../view/imagebrowser-caption.php:31 -#: ../view/imagebrowser-exif.php:35 -#: ../view/imagebrowser-fuchs.php:31 -#: ../view/imagebrowser.php:31 -msgid "of" -msgstr "" - -#: ../view/imagebrowser-exif.php:38 -msgid "Meta data" -msgstr "" - -#: ../view/imagebrowser-exif.php:42 -msgid "Camera / Type" -msgstr "" - -#: ../view/imagebrowser-exif.php:50 -msgid "Focal Length" -msgstr "" - -#: ../widgets/media-rss-widget.php:19 -msgid "Widget that displays Media RSS links for NextGEN Gallery." -msgstr "" - -#: ../widgets/media-rss-widget.php:20 -msgid "NextGEN Media RSS" -msgstr "" - -#: ../widgets/media-rss-widget.php:68 -msgid "Media RSS" -msgstr "" - -#: ../widgets/media-rss-widget.php:69 -msgid "Link to the main image feed" -msgstr "" - -#: ../widgets/media-rss-widget.php:79 -#: ../widgets/widgets.php:201 -msgid "Title :" -msgstr "" - -#: ../widgets/media-rss-widget.php:87 -msgid "Show Media RSS icon" -msgstr "" - -#: ../widgets/media-rss-widget.php:93 -msgid "Show the Media RSS link" -msgstr "" - -#: ../widgets/media-rss-widget.php:98 -msgid "Text for Media RSS link:" -msgstr "" - -#: ../widgets/media-rss-widget.php:104 -msgid "Tooltip text for Media RSS link:" -msgstr "" - -#: ../widgets/widgets.php:22 -msgid "Show a NextGEN Gallery Slideshow" -msgstr "" - -#: ../widgets/widgets.php:23 -msgid "NextGEN Slideshow" -msgstr "" - -#: ../widgets/widgets.php:64 -msgid "Get the Flash Player to see the slideshow." -msgstr "" - -#: ../widgets/widgets.php:121 -msgid "Title:" -msgstr "" - -#: ../widgets/widgets.php:123 -msgid "Select Gallery:" -msgstr "" - -#: ../widgets/widgets.php:125 -msgid "All images" -msgstr "" - -#: ../widgets/widgets.php:137 -msgid "Height:" -msgstr "" - -#: ../widgets/widgets.php:138 -msgid "Width:" -msgstr "" - -#: ../widgets/widgets.php:160 -msgid "Add recent or random images from the galleries" -msgstr "" - -#: ../widgets/widgets.php:161 -msgid "NextGEN Widget" -msgstr "" - -#: ../widgets/widgets.php:207 -msgid "Show :" -msgstr "" - -#: ../widgets/widgets.php:213 -msgid "Original images" -msgstr "" - -#: ../widgets/widgets.php:222 -msgid "recent added " -msgstr "" - -#: ../widgets/widgets.php:228 -msgid "Enable IE8 Web Slices" -msgstr "" - -#: ../widgets/widgets.php:233 -msgid "Width x Height :" -msgstr "" - -#: ../widgets/widgets.php:239 -msgid "Select :" -msgstr "" - -#: ../widgets/widgets.php:241 -msgid "All galleries" -msgstr "" - -#: ../widgets/widgets.php:242 -msgid "Only which are not listed" -msgstr "" - -#: ../widgets/widgets.php:243 -msgid "Only which are listed" -msgstr "" - -#: ../widgets/widgets.php:249 -msgid "Gallery ID :" -msgstr "" - -#: ../widgets/widgets.php:251 -msgid "Gallery IDs, separated by commas." -msgstr "" - -#: ../xml/media-rss.php:50 -msgid "No galleries have been yet created." -msgstr "" - -#: ../xml/media-rss.php:69 -#, php-format -msgid "The gallery ID=%s does not exist." -msgstr "" - -#: ../xml/media-rss.php:100 -msgid "No album ID has been provided as parameter" -msgstr "" - -#: ../xml/media-rss.php:108 -#, php-format -msgid "The album ID=%s does not exist." -msgstr "" - -#: ../xml/media-rss.php:115 -msgid "Invalid MediaRSS command" -msgstr "" - diff --git a/src/wp-content/plugins/nextgen-gallery/lib/core.php b/src/wp-content/plugins/nextgen-gallery/lib/core.php deleted file mode 100644 index 4988f18..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lib/core.php +++ /dev/null @@ -1,524 +0,0 @@ -

    ' . $message . '

    ' . "\n"; - } - - /** - * Show a system messages - */ - function show_message($message) { - echo '

    ' . $message . '

    ' . "\n"; - } - - /** - * get the thumbnail url to the image - */ - function get_thumbnail_url($imageID, $picturepath = '', $fileName = ''){ - - // get the complete url to the thumbnail - global $wpdb; - - // safety first - $imageID = (int) $imageID; - - // get gallery values - if ( empty($fileName) ) { - list($fileName, $picturepath ) = $wpdb->get_row("SELECT p.filename, g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' ", ARRAY_N); - } - - if ( empty($picturepath) ) { - $picturepath = $wpdb->get_var("SELECT g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' "); - } - - // set gallery url - $folder_url = site_url() . '/' . $picturepath.nggGallery::get_thumbnail_folder($picturepath, FALSE); - $thumbnailURL = $folder_url . 'thumbs_' . $fileName; - - return $thumbnailURL; - } - - /** - * get the complete url to the image - */ - function get_image_url($imageID, $picturepath = '', $fileName = '') { - global $wpdb; - - // safety first - $imageID = (int) $imageID; - - // get gallery values - if (empty($fileName)) { - list($fileName, $picturepath ) = $wpdb->get_row("SELECT p.filename, g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' ", ARRAY_N); - } - - if (empty($picturepath)) { - $picturepath = $wpdb->get_var("SELECT g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' "); - } - - // set gallery url - $imageURL = site_url() . '/' . $picturepath . '/' . $fileName; - - return $imageURL; - } - - /** - * nggGallery::get_thumbnail_folder() - * - * @param mixed $gallerypath - * @param bool $include_Abspath - * @return string $foldername - */ - function create_thumbnail_folder($gallerypath, $include_Abspath = TRUE) { - if (!$include_Abspath) { - $gallerypath = WINABSPATH . $gallerypath; - } - - if (!file_exists($gallerypath)) { - return FALSE; - } - - if (is_dir($gallerypath . '/thumbs/')) { - return '/thumbs/'; - } - - if (is_admin()) { - if (!is_dir($gallerypath . '/thumbs/')) { - if ( !wp_mkdir_p($gallerypath . '/thumbs/') ) { - if (SAFE_MODE) { - nggAdmin::check_safemode($gallerypath . '/thumbs/'); - } else { - nggGallery::show_error(__('Unable to create directory ', 'nggallery') . $gallerypath . '/thumbs !'); - } - return FALSE; - } - return '/thumbs/'; - } - } - - return FALSE; - - } - - /** - * nggGallery::get_thumbnail_folder() - * - * @param mixed $gallerypath - * @param bool $include_Abspath - * @deprecated use create_thumbnail_folder() if needed; - * @return string $foldername - */ - function get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) { - return nggGallery::create_thumbnail_folder($gallerypath, $include_Abspath); - } - - /** - * nggGallery::get_thumbnail_prefix() - obsolete - * - * @param string $gallerypath - * @param bool $include_Abspath - * @deprecated prefix is now fixed to "thumbs_"; - * @return string "thumbs_"; - */ - function get_thumbnail_prefix($gallerypath, $include_Abspath = TRUE) { - return 'thumbs_'; - } - - /** - * nggGallery::get_option() - get the options and overwrite them with custom meta settings - * - * @param string $key - * @return array $options - */ - function get_option($key) { - // get first the options from the database - $options = get_option($key); - - // Get all key/value data for the current post. - $meta_array = get_post_custom(); - - // Ensure that this is a array - if ( !is_array($meta_array) ) - $meta_array = array($meta_array); - - // assign meta key to db setting key - $meta_tags = array( - 'string' => array( - 'ngg_gal_ShowOrder' => 'galShowOrder', - 'ngg_gal_Sort' => 'galSort', - 'ngg_gal_SortDirection' => 'galSortDir', - 'ngg_gal_ShowDescription' => 'galShowDesc', - 'ngg_ir_Audio' => 'irAudio', - 'ngg_ir_Overstretch' => 'irOverstretch', - 'ngg_ir_Transition' => 'irTransition', - 'ngg_ir_Backcolor' => 'irBackcolor', - 'ngg_ir_Frontcolor' => 'irFrontcolor', - 'ngg_ir_Lightcolor' => 'irLightcolor', - 'ngg_slideshowFX' => 'slideFx', - ), - - 'int' => array( - 'ngg_gal_Images' => 'galImages', - 'ngg_gal_Columns' => 'galColumns', - 'ngg_paged_Galleries' => 'galPagedGalleries', - 'ngg_ir_Width' => 'irWidth', - 'ngg_ir_Height' => 'irHeight', - 'ngg_ir_Rotatetime' => 'irRotatetime' - ), - - 'bool' => array( - 'ngg_gal_ShowSlide' => 'galShowSlide', - 'ngg_gal_ShowPiclense' => 'usePicLens', - 'ngg_gal_ImageBrowser' => 'galImgBrowser', - 'ngg_gal_HideImages' => 'galHiddenImg', - 'ngg_ir_Shuffle' => 'irShuffle', - 'ngg_ir_LinkFromDisplay' => 'irLinkfromdisplay', - 'ngg_ir_ShowNavigation' => 'irShownavigation', - 'ngg_ir_ShowWatermark' => 'irWatermark', - 'ngg_ir_Kenburns' => 'irKenburns' - ) - ); - - foreach ($meta_tags as $typ => $meta_keys){ - foreach ($meta_keys as $key => $db_value){ - // if the kex exist overwrite it with the custom field - if (array_key_exists($key, $meta_array)){ - switch ($typ) { - case 'string': - $options[$db_value] = (string) esc_attr($meta_array[$key][0]); - break; - case 'int': - $options[$db_value] = (int) $meta_array[$key][0]; - break; - case 'bool': - $options[$db_value] = (bool) $meta_array[$key][0]; - break; - } - } - } - } - - return $options; - } - - /** - * nggGallery::scale_image() - Scale down a image - * - * @param mixed $location (filename) - * @param int $maxw - max width - * @param int $maxh - max height - * @return array (width, heigth) - */ - function scale_image($location, $maxw = 0, $maxh = 0){ - $img = @getimagesize($location); - if ($img){ - $w = $img[0]; - $h = $img[1]; - - $dim = array('w','h'); - foreach($dim AS $val) { - $max = "max{$val}"; - if(${$val} > ${$max} && ${$max}){ - $alt = ($val == 'w') ? 'h' : 'w'; - $ratio = ${$alt} / ${$val}; - ${$val} = ${$max}; - ${$alt} = ${$val} * $ratio; - } - } - - return array( $w, $h ); - } - return false; - } - - /** - * Renders a section of user display code. The code is first checked for in the current theme display directory - * before defaulting to the plugin - * Call the function : nggGallery::render ('template_name', array ('var1' => $var1, 'var2' => $var2)); - * - * @autor John Godley - * @param string $template_name Name of the template file (without extension) - * @param string $vars Array of variable name=>value that is available to the display code (optional) - * @return void - **/ - function render($template_name, $vars = array ()) { - foreach ($vars AS $key => $val) { - $$key = $val; - } - - // hook into the render feature to allow other plugins to include templates - $custom_template = apply_filters( 'ngg_render_template', false, $template_name ); - - if ( ( $custom_template != false ) && file_exists ($custom_template) ) { - include ( $custom_template ); - } else if (file_exists (STYLESHEETPATH . "/nggallery/$template_name.php")) { - include (STYLESHEETPATH . "/nggallery/$template_name.php"); - } else if (file_exists (NGGALLERY_ABSPATH . "/view/$template_name.php")) { - include (NGGALLERY_ABSPATH . "/view/$template_name.php"); - } else { - echo "

    Rendering of template $template_name.php failed

    "; - } - } - - /** - * Captures an section of user display code. - * - * @autor John Godley - * @param string $template_name Name of the template file (without extension) - * @param string $vars Array of variable name=>value that is available to the display code (optional) - * @return void - **/ - function capture ($template_name, $vars = array ()) { - ob_start (); - nggGallery::render ($template_name, $vars); - $output = ob_get_contents (); - ob_end_clean (); - - return $output; - } - - /** - * nggGallery::graphic_library() - switch between GD and ImageMagick - * - * @return path to the selected library - */ - function graphic_library() { - - $ngg_options = get_option('ngg_options'); - - if ( $ngg_options['graphicLibrary'] == 'im') - return NGGALLERY_ABSPATH . '/lib/imagemagick.inc.php'; - else - return NGGALLERY_ABSPATH . '/lib/gd.thumbnail.inc.php'; - - } - - /** - * Look for the stylesheet in the theme folder - * - * @return string path to stylesheet - */ - function get_theme_css_file() { - - // allow other plugins to include a stylesheet - $stylesheet = apply_filters( 'ngg_load_stylesheet', false ); - - if ( ( $stylesheet != false ) && file_exists ($stylesheet) ) - return ( $stylesheet ); - elseif ( file_exists (STYLESHEETPATH . '/nggallery.css') ) - return get_stylesheet_directory_uri() . '/nggallery.css'; - else - return false; - } - - /** - * Support for i18n with polyglot or qtrans - * - * @param string $in - * @return string $in localized - */ - function i18n($in) { - - if ( function_exists( 'langswitch_filter_langs_with_message' ) ) - $in = langswitch_filter_langs_with_message($in); - - if ( function_exists( 'polyglot_filter' )) - $in = polyglot_filter($in); - - if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' )) - $in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($in); - - $in = apply_filters('localization', $in); - - return $in; - } - - /** - * Check the memory_limit and calculate a recommended memory size - * - * @since V1.2.0 - * @return string message about recommended image size - */ - function check_memory_limit() { - - if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) { - - // get memory limit - $memory_limit = ini_get('memory_limit'); - if ($memory_limit != '') - $memory_limit = substr($memory_limit, 0, -1) * 1024 * 1024; - - // calculate the free memory - $freeMemory = $memory_limit - memory_get_usage(); - - // build the test sizes - $sizes = array(); - $sizes[] = array ( 'width' => 800, 'height' => 600); - $sizes[] = array ( 'width' => 1024, 'height' => 768); - $sizes[] = array ( 'width' => 1280, 'height' => 960); // 1MP - $sizes[] = array ( 'width' => 1600, 'height' => 1200); // 2MP - $sizes[] = array ( 'width' => 2016, 'height' => 1512); // 3MP - $sizes[] = array ( 'width' => 2272, 'height' => 1704); // 4MP - $sizes[] = array ( 'width' => 2560, 'height' => 1920); // 5MP - - // test the classic sizes - foreach ($sizes as $size){ - // very, very rough estimation - if ($freeMemory < round( $size['width'] * $size['height'] * 5.09 )) { - $result = sprintf( __( 'Note : Based on your server memory limit you should not upload larger images then %d x %d pixel', 'nggallery' ), $size['width'], $size['height']); - return $result; - } - } - } - return; - } - - /** - * Slightly modfifed version of pathinfo(), clean up filename & rename jpeg to jpg - * - * @param string $name The name being checked. - * @return array containing information about file - */ - function fileinfo( $name ) { - - //Sanitizes a filename replacing whitespace with dashes - $name = sanitize_file_name($name); - - //get the parts of the name - $filepart = pathinfo ( strtolower($name) ); - - if ( empty($filepart) ) - return false; - - // required until PHP 5.2.0 - if ( empty($filepart['filename']) ) - $filepart['filename'] = substr($filepart['basename'],0 ,strlen($filepart['basename']) - (strlen($filepart['extension']) + 1) ); - - $filepart['filename'] = sanitize_title_with_dashes( $filepart['filename'] ); - - //extension jpeg will not be recognized by the slideshow, so we rename it - $filepart['extension'] = ($filepart['extension'] == 'jpeg') ? 'jpg' : $filepart['extension']; - - //combine the new file name - $filepart['basename'] = $filepart['filename'] . '.' . $filepart['extension']; - - return $filepart; - } - - /** - * Check for extended capabilites. Must previously registers with add_ngg_capabilites() - * - * @since 1.5.0 - * @param string $capability - * @return bool $result of capability check - */ - function current_user_can( $capability ) { - - global $_ngg_capabilites; - - if ( is_array($_ngg_capabilites) ) - if ( in_array($capability , $_ngg_capabilites) ) - return current_user_can( $capability ); - - return true; - } - - /** - * Check for extended capabilites and echo disabled="disabled" for input form - * - * @since 1.5.0 - * @param string $capability - * @return void - */ - function current_user_can_form( $capability ) { - - if ( !nggGallery::current_user_can( $capability )) - echo 'disabled="disabled"'; - } - - /** - * Register more capabilities for custom use and add it to the administrator - * - * @since 1.5.0 - * @param string $capability - * @param bool $register the new capability automatic to the admin role - * @return void - */ - function add_capabilites( $capability , $register = true ) { - global $_ngg_capabilites; - - if ( !is_array($_ngg_capabilites) ) - $_ngg_capabilites = array(); - - $_ngg_capabilites[] = $capability; - - if ( $register ) { - $role = get_role('administrator'); - if ( !empty($role) ) - $role->add_cap( $capability ); - } - - } - - /** - * Check for mobile user agent - * - * @since 1.6.0 - * @author Part taken from WPtouch plugin (http://www.bravenewcode.com) - * @return bool $result of check - */ - function detect_mobile_phone() { - - $useragents = array(); - - // Check if WPtouch is running - if ( function_exists('bnc_wptouch_get_user_agents') ) - $useragents = bnc_wptouch_get_user_agents(); - else { - $useragents = array( - "iPhone", // Apple iPhone - "iPod", // Apple iPod touch - "Android", // 1.5+ Android - "dream", // Pre 1.5 Android - "CUPCAKE", // 1.5+ Android - "blackberry9500", // Storm - "blackberry9530", // Storm - "blackberry9520", // Storm v2 - "blackberry9550", // Storm v2 - "blackberry9800", // Torch - "webOS", // Palm Pre Experimental - "incognito", // Other iPhone browser - "webmate" // Other iPhone browser - ); - - asort( $useragents ); - } - - // Godfather Steve says no to flash - if ( is_array($useragents) ) - $useragents[] = "iPad"; // Apple iPad; - - // WPtouch User Agent Filter - $useragents = apply_filters( 'wptouch_user_agents', $useragents ); - - foreach ( $useragents as $useragent ) { - if ( preg_match( "#$useragent#i", $_SERVER['HTTP_USER_AGENT'] ) ) - return true; - } - - return false; - } -} - -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php b/src/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php deleted file mode 100644 index 7a2599d..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lib/gd.thumbnail.inc.php +++ /dev/null @@ -1,950 +0,0 @@ -errmsg = ''; - $this->error = false; - $this->currentDimensions = array(); - $this->newDimensions = array(); - $this->fileName = $fileName; - $this->percent = 100; - $this->maxWidth = 0; - $this->maxHeight = 0; - $this->watermarkImgPath = ''; - $this->watermarkText = ''; - - //check to see if file exists - if(!file_exists($this->fileName)) { - $this->errmsg = 'File not found'; - $this->error = true; - } - //check to see if file is readable - elseif(!is_readable($this->fileName)) { - $this->errmsg = 'File is not readable'; - $this->error = true; - } - - //if there are no errors, determine the file format - if($this->error == false) { - $data = @getimagesize($this->fileName); - if (isset($data) && is_array($data)) { - $extensions = array('1' => 'GIF', '2' => 'JPG', '3' => 'PNG'); - $extension = array_key_exists($data[2], $extensions) ? $extensions[$data[2]] : ''; - if($extension) { - $this->format = $extension; - } else { - $this->errmsg = 'Unknown file format'; - $this->error = true; - } - } else { - $this->errmsg = 'File is not an image'; - $this->error = true; - } - } - - // increase memory-limit if possible, GD needs this for large images - // @ini_set('memory_limit', '128M'); - - if($this->error == false) { - // Check memory consumption if file exists - $this->checkMemoryForImage($this->fileName); - } - - //initialize resources if no errors - if($this->error == false) { - - switch($this->format) { - case 'GIF': - $this->oldImage = ImageCreateFromGif($this->fileName); - break; - case 'JPG': - $this->oldImage = ImageCreateFromJpeg($this->fileName); - break; - case 'PNG': - $this->oldImage = ImageCreateFromPng($this->fileName); - break; - } - if (!$this->oldImage) { - $this->errmsg = 'Create Image failed. Check memory limit'; - $this->error = true; - } else { - $size = GetImageSize($this->fileName); - $this->currentDimensions = array('width'=>$size[0],'height'=>$size[1]); - $this->newImage = $this->oldImage; - } - } - - - if($this->error == true) { - if(!$no_ErrorImage) - $this->showErrorImage(); - return; - } - } - - /** - * Calculate the memory limit - * - */ - function checkMemoryForImage( $filename ){ - - if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) { - $imageInfo = getimagesize($filename); - switch($this->format) { - case 'GIF': - // measured factor 1 is better - $CHANNEL = 1; - break; - case 'JPG': - $CHANNEL = $imageInfo['channels']; - break; - case 'PNG': - // didn't get the channel for png - $CHANNEL = 3; - break; - } - $MB = 1048576; // number of bytes in 1M - $K64 = 65536; // number of bytes in 64K - $TWEAKFACTOR = 1.68; // Or whatever works for you - $memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1] - * $imageInfo['bits'] - * $CHANNEL / 8 - + $K64 - ) * $TWEAKFACTOR - ); - $memoryNeeded = memory_get_usage() + $memoryNeeded; - // get memory limit - $memory_limit = ini_get('memory_limit'); - if ($memory_limit != '') { - $memory_limit = substr($memory_limit, 0, -1) * 1024 * 1024; - } - - if ($memoryNeeded > $memory_limit) { - $memoryNeeded = round ($memoryNeeded / 1024 / 1024, 2); - $this->errmsg = 'Exceed Memory limit. Require : '.$memoryNeeded. " MByte" ; - $this->error = true; - } - } - return; - } - - /** - * Must be called to free up allocated memory after all manipulations are done - * - */ - function destruct() { - if(is_resource($this->newImage)) @ImageDestroy($this->newImage); - if(is_resource($this->oldImage)) @ImageDestroy($this->oldImage); - if(is_resource($this->workingImage)) @ImageDestroy($this->workingImage); - } - - /** - * Returns the current width of the image - * - * @return int - */ - function getCurrentWidth() { - return $this->currentDimensions['width']; - } - - /** - * Returns the current height of the image - * - * @return int - */ - function getCurrentHeight() { - return $this->currentDimensions['height']; - } - - /** - * Calculates new image width - * - * @param int $width - * @param int $height - * @return array - */ - function calcWidth($width,$height) { - $newWp = (100 * $this->maxWidth) / $width; - $newHeight = ($height * $newWp) / 100; - return array('newWidth'=>intval($this->maxWidth),'newHeight'=>intval($newHeight)); - } - - /** - * Calculates new image height - * - * @param int $width - * @param int $height - * @return array - */ - function calcHeight($width,$height) { - $newHp = (100 * $this->maxHeight) / $height; - $newWidth = ($width * $newHp) / 100; - return array('newWidth'=>intval($newWidth),'newHeight'=>intval($this->maxHeight)); - } - - /** - * Calculates new image size based on percentage - * - * @param int $width - * @param int $height - * @return array - */ - function calcPercent($width,$height) { - $newWidth = ($width * $this->percent) / 100; - $newHeight = ($height * $this->percent) / 100; - return array('newWidth'=>intval($newWidth),'newHeight'=>intval($newHeight)); - } - - /** - * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight - * - * @param int $width - * @param int $height - */ - function calcImageSize($width,$height) { - $newSize = array('newWidth'=>$width,'newHeight'=>$height); - - if($this->maxWidth > 0) { - - $newSize = $this->calcWidth($width,$height); - - if($this->maxHeight > 0 && $newSize['newHeight'] > $this->maxHeight) { - $newSize = $this->calcHeight($newSize['newWidth'],$newSize['newHeight']); - } - - //$this->newDimensions = $newSize; - } - - if($this->maxHeight > 0) { - $newSize = $this->calcHeight($width,$height); - - if($this->maxWidth > 0 && $newSize['newWidth'] > $this->maxWidth) { - $newSize = $this->calcWidth($newSize['newWidth'],$newSize['newHeight']); - } - - //$this->newDimensions = $newSize; - } - - $this->newDimensions = $newSize; - } - - /** - * Calculates new image size based percentage - * - * @param int $width - * @param int $height - */ - function calcImageSizePercent($width,$height) { - if($this->percent > 0) { - $this->newDimensions = $this->calcPercent($width,$height); - } - } - - /** - * Displays error image - * - */ - function showErrorImage() { - header('Content-type: image/png'); - $errImg = ImageCreate(220,25); - $bgColor = imagecolorallocate($errImg,0,0,0); - $fgColor1 = imagecolorallocate($errImg,255,255,255); - $fgColor2 = imagecolorallocate($errImg,255,0,0); - imagestring($errImg,3,6,6,'Error:',$fgColor2); - imagestring($errImg,3,55,6,$this->errmsg,$fgColor1); - imagepng($errImg); - imagedestroy($errImg); - } - - /** - * Resizes image to fixed Width x Height - * - * @param int $Width - * @param int $Height - * @param int $resampleMode - */ - function resizeFix($Width = 0, $Height = 0, $resampleMode = 3) { - $this->newWidth = $Width; - $this->newHeight = $Height; - - if(function_exists("ImageCreateTrueColor")) { - $this->workingImage = ImageCreateTrueColor($this->newWidth,$this->newHeight); - } - else { - $this->workingImage = ImageCreate($this->newWidth,$this->newHeight); - } - -// ImageCopyResampled( - $this->fastimagecopyresampled( - $this->workingImage, - $this->oldImage, - 0, - 0, - 0, - 0, - $this->newWidth, - $this->newHeight, - $this->currentDimensions['width'], - $this->currentDimensions['height'], - $resampleMode - ); - - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - $this->currentDimensions['width'] = $this->newWidth; - $this->currentDimensions['height'] = $this->newHeight; - } - - - /** - * Resizes image to maxWidth x maxHeight - * - * @param int $maxWidth - * @param int $maxHeight - * @param int $resampleMode - */ - function resize($maxWidth = 0, $maxHeight = 0, $resampleMode = 3) { - $this->maxWidth = $maxWidth; - $this->maxHeight = $maxHeight; - - $this->calcImageSize($this->currentDimensions['width'],$this->currentDimensions['height']); - - if(function_exists("ImageCreateTrueColor")) { - $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); - } - else { - $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); - } - -// ImageCopyResampled( - $this->fastimagecopyresampled( - $this->workingImage, - $this->oldImage, - 0, - 0, - 0, - 0, - $this->newDimensions['newWidth'], - $this->newDimensions['newHeight'], - $this->currentDimensions['width'], - $this->currentDimensions['height'], - $resampleMode - ); - - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - $this->currentDimensions['width'] = $this->newDimensions['newWidth']; - $this->currentDimensions['height'] = $this->newDimensions['newHeight']; - } - - /** - * Resizes the image by $percent percent - * - * @param int $percent - */ - function resizePercent($percent = 0) { - $this->percent = $percent; - - $this->calcImageSizePercent($this->currentDimensions['width'],$this->currentDimensions['height']); - - if(function_exists("ImageCreateTrueColor")) { - $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); - } - else { - $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); - } - - ImageCopyResampled( - $this->workingImage, - $this->oldImage, - 0, - 0, - 0, - 0, - $this->newDimensions['newWidth'], - $this->newDimensions['newHeight'], - $this->currentDimensions['width'], - $this->currentDimensions['height'] - ); - - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - $this->currentDimensions['width'] = $this->newDimensions['newWidth']; - $this->currentDimensions['height'] = $this->newDimensions['newHeight']; - } - - /** - * Crops the image from calculated center in a square of $cropSize pixels - * - * @param int $cropSize - * @param int $resampleMode - */ - function cropFromCenter($cropSize, $resampleMode = 3) { - if($cropSize > $this->currentDimensions['width']) $cropSize = $this->currentDimensions['width']; - if($cropSize > $this->currentDimensions['height']) $cropSize = $this->currentDimensions['height']; - - $cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2); - $cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2); - - if(function_exists("ImageCreateTrueColor")) { - $this->workingImage = ImageCreateTrueColor($cropSize,$cropSize); - } - else { - $this->workingImage = ImageCreate($cropSize,$cropSize); - } - -// imagecopyresampled( - $this->fastimagecopyresampled( - $this->workingImage, - $this->oldImage, - 0, - 0, - $cropX, - $cropY, - $cropSize, - $cropSize, - $cropSize, - $cropSize, - $resampleMode - ); - - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - $this->currentDimensions['width'] = $cropSize; - $this->currentDimensions['height'] = $cropSize; - } - - /** - * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner. - * - * @param int $startX - * @param int $startY - * @param int $width - * @param int $height - */ - function crop($startX, $startY, $width, $height) { - //make sure the cropped area is not greater than the size of the image - if($width > $this->currentDimensions['width']) $width = $this->currentDimensions['width']; - if($height > $this->currentDimensions['height']) $height = $this->currentDimensions['height']; - //make sure not starting outside the image - if(($startX + $width) > $this->currentDimensions['width']) $startX = ($this->currentDimensions['width'] - $width); - if(($startY + $height) > $this->currentDimensions['height']) $startY = ($this->currentDimensions['height'] - $height); - if($startX < 0) $startX = 0; - if($startY < 0) $startY = 0; - - if(function_exists("ImageCreateTrueColor")) { - $this->workingImage = ImageCreateTrueColor($width,$height); - } - else { - $this->workingImage = ImageCreate($width,$height); - } - - imagecopyresampled( - $this->workingImage, - $this->oldImage, - 0, - 0, - $startX, - $startY, - $width, - $height, - $width, - $height - ); - - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - $this->currentDimensions['width'] = $width; - $this->currentDimensions['height'] = $height; - } - - /** - * Outputs the image to the screen, or saves to $name if supplied. Quality of JPEG images can be controlled with the $quality variable - * - * @param int $quality - * @param string $name - */ - function show($quality=100,$name = '') { - switch($this->format) { - case 'GIF': - if($name != '') { - @ImageGif($this->newImage,$name) or $this->error = true; - } - else { - header('Content-type: image/gif'); - ImageGif($this->newImage); - } - break; - case 'JPG': - if($name != '') { - @ImageJpeg($this->newImage,$name,$quality) or $this->error = true; - } - else { - header('Content-type: image/jpeg'); - ImageJpeg($this->newImage,'',$quality); - } - break; - case 'PNG': - if($name != '') { - @ImagePng($this->newImage,$name) or $this->error = true; - } - else { - header('Content-type: image/png'); - ImagePng($this->newImage); - } - break; - } - } - - /** - * Saves image as $name (can include file path), with quality of # percent if file is a jpeg - * - * @param string $name - * @param int $quality - * @return bool errorstate - */ - function save($name,$quality=100) { - $this->show($quality,$name); - if ($this->error == true) { - $this->errmsg = 'Create Image failed. Check safe mode settings'; - return false; - } - - if( function_exists('do_action') ) - do_action('ngg_ajax_image_save', $name); - - return true; - } - - /** - * Creates Apple-style reflection under image, optionally adding a border to main image - * - * @param int $percent - * @param int $reflection - * @param int $white - * @param bool $border - * @param string $borderColor - */ - function createReflection($percent,$reflection,$white,$border = true,$borderColor = '#a4a4a4') { - $width = $this->currentDimensions['width']; - $height = $this->currentDimensions['height']; - - $reflectionHeight = intval($height * ($reflection / 100)); - $newHeight = $height + $reflectionHeight; - $reflectedPart = $height * ($percent / 100); - - $this->workingImage = ImageCreateTrueColor($width,$newHeight); - - ImageAlphaBlending($this->workingImage,true); - - $colorToPaint = ImageColorAllocateAlpha($this->workingImage,255,255,255,0); - ImageFilledRectangle($this->workingImage,0,0,$width,$newHeight,$colorToPaint); - - imagecopyresampled( - $this->workingImage, - $this->newImage, - 0, - 0, - 0, - $reflectedPart, - $width, - $reflectionHeight, - $width, - ($height - $reflectedPart)); - $this->imageFlipVertical(); - - imagecopy($this->workingImage,$this->newImage,0,0,0,0,$width,$height); - - imagealphablending($this->workingImage,true); - - for($i=0;$i<$reflectionHeight;$i++) { - $colorToPaint = imagecolorallocatealpha($this->workingImage,255,255,255,($i/$reflectionHeight*-1+1)*$white); - imagefilledrectangle($this->workingImage,0,$height+$i,$width,$height+$i,$colorToPaint); - } - - if($border == true) { - $rgb = $this->hex2rgb($borderColor,false); - $colorToPaint = imagecolorallocate($this->workingImage,$rgb[0],$rgb[1],$rgb[2]); - imageline($this->workingImage,0,0,$width,0,$colorToPaint); //top line - imageline($this->workingImage,0,$height,$width,$height,$colorToPaint); //bottom line - imageline($this->workingImage,0,0,0,$height,$colorToPaint); //left line - imageline($this->workingImage,$width-1,0,$width-1,$height,$colorToPaint); //right line - } - - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - $this->currentDimensions['width'] = $width; - $this->currentDimensions['height'] = $newHeight; - } - - /** - * Flip an image. - * - * @param bool $horz flip the image in horizontal mode - * @param bool $vert flip the image in vertical mode - */ - function flipImage( $horz = false, $vert = false ) { - - $sx = $vert ? ($this->currentDimensions['width'] - 1) : 0; - $sy = $horz ? ($this->currentDimensions['height'] - 1) : 0; - $sw = $vert ? -$this->currentDimensions['width'] : $this->currentDimensions['width']; - $sh = $horz ? -$this->currentDimensions['height'] : $this->currentDimensions['height']; - - $this->workingImage = imagecreatetruecolor( $this->currentDimensions['width'], $this->currentDimensions['height'] ); - - imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $sx, $sy, $this->currentDimensions['width'], $this->currentDimensions['height'], $sw, $sh) ; - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - - return true; - } - - /** - * Rotate an image clockwise or counter clockwise - * - * @param string $direction could be CW or CCW - */ - function rotateImage( $dir = 'CW' ) { - - $angle = ($dir == 'CW') ? 90 : -90; - - if ( function_exists('imagerotate') ) { - $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0); // imagerotate() rotates CCW - $this->currentDimensions['width'] = imagesx($this->workingImage); - $this->currentDimensions['height'] = imagesy($this->workingImage); - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - return true; - } - - $this->workingImage = imagecreatetruecolor( $this->currentDimensions['height'], $this->currentDimensions['width'] ); - - imagealphablending($this->workingImage, false); - imagesavealpha($this->workingImage, true); - - switch ($angle) { - - case 90 : - for( $x = 0; $x < $this->currentDimensions['width']; $x++ ) { - for( $y = 0; $y < $this->currentDimensions['height']; $y++ ) { - if ( !imagecopy($this->workingImage, $this->oldImage, $this->currentDimensions['height'] - $y - 1, $x, $x, $y, 1, 1) ) - return false; - } - } - break; - - case -90 : - for( $x = 0; $x < $this->currentDimensions['width']; $x++ ) { - for( $y = 0; $y < $this->currentDimensions['height']; $y++ ) { - if ( !imagecopy($this->workingImage, $this->oldImage, $y, $this->currentDimensions['width'] - $x - 1, $x, $y, 1, 1) ) - return false; - } - } - break; - - default : - return false; - } - - $this->currentDimensions['width'] = imagesx($this->workingImage); - $this->currentDimensions['height'] = imagesy($this->workingImage); - $this->oldImage = $this->workingImage; - $this->newImage = $this->workingImage; - - return true; - - } - - /** - * Inverts working image, used by reflection function - * - * @access private - */ - function imageFlipVertical() { - $x_i = imagesx($this->workingImage); - $y_i = imagesy($this->workingImage); - - for($x = 0; $x < $x_i; $x++) { - for($y = 0; $y < $y_i; $y++) { - imagecopy($this->workingImage,$this->workingImage,$x,$y_i - $y - 1, $x, $y, 1, 1); - } - } - } - - /** - * Converts hexidecimal color value to rgb values and returns as array/string - * - * @param string $hex - * @param bool $asString - * @return array|string - */ - function hex2rgb($hex, $asString = false) { - // strip off any leading # - if (0 === strpos($hex, '#')) { - $hex = substr($hex, 1); - } else if (0 === strpos($hex, '&H')) { - $hex = substr($hex, 2); - } - - // break into hex 3-tuple - $cutpoint = ceil(strlen($hex) / 2)-1; - $rgb = explode(':', wordwrap($hex, $cutpoint, ':', $cutpoint), 3); - - // convert each tuple to decimal - $rgb[0] = (isset($rgb[0]) ? hexdec($rgb[0]) : 0); - $rgb[1] = (isset($rgb[1]) ? hexdec($rgb[1]) : 0); - $rgb[2] = (isset($rgb[2]) ? hexdec($rgb[2]) : 0); - - return ($asString ? "{$rgb[0]} {$rgb[1]} {$rgb[2]}" : $rgb); - } - - /** - * Based on the Watermark function by Marek Malcherek - * http://www.malcherek.de - * - * @param string $color - * @param string $wmFont - * @param int $wmSize - * @param int $wmOpaque - */ - function watermarkCreateText($color = '000000',$wmFont, $wmSize = 10, $wmOpaque = 90 ){ - // set font path - $wmFontPath = NGGALLERY_ABSPATH."fonts/".$wmFont; - if ( !is_readable($wmFontPath)) - return; - - // This function requires both the GD library and the FreeType library. - if ( !function_exists('ImageTTFBBox') ) - return; - - $TextSize = @ImageTTFBBox($wmSize, 0, $wmFontPath, $this->watermarkText) or die; - $TextWidth = abs($TextSize[2]) + abs($TextSize[0]); - $TextHeight = abs($TextSize[7]) + abs($TextSize[1]); - // Create Image for Text - $this->workingImage = ImageCreateTrueColor($TextWidth, $TextHeight); - ImageSaveAlpha($this->workingImage, true); - ImageAlphaBlending($this->workingImage, false); - $bgText = imagecolorallocatealpha($this->workingImage, 255, 255, 255, 127); - imagefill($this->workingImage, 0, 0, $bgText); - $wmTransp = 127 -( $wmOpaque * 1.27 ); - $rgb = $this->hex2rgb($color,false); - $TextColor = imagecolorallocatealpha($this->workingImage, $rgb[0], $rgb[1], $rgb[2], $wmTransp); - - // Create Text on image - imagettftext($this->workingImage, $wmSize, 0, 0, abs($TextSize[5]), $TextColor, $wmFontPath, $this->watermarkText); - $this->watermarkImgPath = $this->workingImage; - - return; - } - - /** - * Modfied Watermark function by Steve Peart - * http://parasitehosting.com/ - * - * @param string $relPOS - * @param int $xPOS - * @param int $yPOS - */ - function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) { - - // if it's a resource ID take it as watermark text image - if(is_resource($this->watermarkImgPath)) { - $this->workingImage = $this->watermarkImgPath; - } else { - // Would you really want to use anything other than a png? - $this->workingImage = @imagecreatefrompng($this->watermarkImgPath); - // if it's not a valid file die... - if (empty($this->workingImage) or (!$this->workingImage)) - return; - } - - imagealphablending($this->workingImage, false); - imagesavealpha($this->workingImage, true); - $sourcefile_width=imageSX($this->oldImage); - $sourcefile_height=imageSY($this->oldImage); - $watermarkfile_width=imageSX($this->workingImage); - $watermarkfile_height=imageSY($this->workingImage); - switch(substr($relPOS, 0, 3)){ - case 'top': $dest_y = 0 + $yPOS; break; - case 'mid': $dest_y = ($sourcefile_height / 2) - ($watermarkfile_height / 2); break; - case 'bot': $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS; break; - default : $dest_y = 0; break; - } - switch(substr($relPOS, 3)){ - case 'Left' : $dest_x = 0 + $xPOS; break; - case 'Center': $dest_x = ($sourcefile_width / 2) - ($watermarkfile_width / 2); break; - case 'Right': $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS; break; - default : $dest_x = 0; break; - } - - // debug - // $this->errmsg = 'X '.$dest_x.' Y '.$dest_y; - // $this->showErrorImage(); - - // if a gif, we have to upsample it to a truecolor image - if($this->format == 'GIF') { - $tempimage = imagecreatetruecolor($sourcefile_width,$sourcefile_height); - imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0,$sourcefile_width, $sourcefile_height); - $this->newImage = $tempimage; - } - - imagecopy($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0,$watermarkfile_width, $watermarkfile_height); - } - - /** - * Fast imagecopyresampled by tim@leethost.com - * - */ - function fastimagecopyresampled (&$dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h, $quality = 3) { - // Plug-and-Play fastimagecopyresampled function replaces much slower imagecopyresampled. - // Just include this function and change all "imagecopyresampled" references to "fastimagecopyresampled". - // Typically from 30 to 60 times faster when reducing high resolution images down to thumbnail size using the default quality setting. - // Author: Tim Eckel - Date: 12/17/04 - Project: FreeRingers.net - Freely distributable. - // - // Optional "quality" parameter (defaults is 3). Fractional values are allowed, for example 1.5. - // 1 = Up to 600 times faster. Poor results, just uses imagecopyresized but removes black edges. - // 2 = Up to 95 times faster. Images may appear too sharp, some people may prefer it. - // 3 = Up to 60 times faster. Will give high quality smooth results very close to imagecopyresampled. - // 4 = Up to 25 times faster. Almost identical to imagecopyresampled for most images. - // 5 = No speedup. Just uses imagecopyresampled, highest quality but no advantage over imagecopyresampled. - - if (empty($src_image) || empty($dst_image)) { return false; } - - if ($quality <= 1) { - $temp = imagecreatetruecolor ($dst_w + 1, $dst_h + 1); - imagecopyresized ($temp, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w + 1, $dst_h + 1, $src_w, $src_h); - imagecopyresized ($dst_image, $temp, 0, 0, 0, 0, $dst_w, $dst_h, $dst_w, $dst_h); - imagedestroy ($temp); - } elseif ($quality < 5 && (($dst_w * $quality) < $src_w || ($dst_h * $quality) < $src_h)) { - $tmp_w = $dst_w * $quality; - $tmp_h = $dst_h * $quality; - // on whatever reason PHP 4.4.8 stopped here. - $temp = imagecreatetruecolor ($tmp_w + 1, $tmp_h + 1); - imagecopyresized ($temp, $src_image, $dst_x * $quality, $dst_y * $quality, $src_x, $src_y, $tmp_w + 1, $tmp_h + 1, $src_w, $src_h); - imagecopyresampled ($dst_image, $temp, 0, 0, 0, 0, $dst_w, $dst_h, $tmp_w, $tmp_h); - imagedestroy ($temp); - } else { - imagecopyresampled ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h); - } - return true; - } -} -?> diff --git a/src/wp-content/plugins/nextgen-gallery/lib/image.php b/src/wp-content/plugins/nextgen-gallery/lib/image.php deleted file mode 100644 index 99c07ce..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lib/image.php +++ /dev/null @@ -1,214 +0,0 @@ - $value) - $this->$key = $value ; - - // Finish initialisation - $this->name = $gallery->name; - $this->path = $gallery->path; - $this->title = stripslashes($gallery->title); - $this->pageid = $gallery->pageid; - $this->previewpic = $gallery->previewpic; - - // set urls and paths - $this->imageURL = site_url() . '/' . $this->path . '/' . $this->filename; - $this->thumbURL = site_url() . '/' . $this->path . '/thumbs/thumbs_' . $this->filename; - $this->imagePath = WINABSPATH.$this->path . '/' . $this->filename; - $this->thumbPath = WINABSPATH.$this->path . '/thumbs/thumbs_' . $this->filename; - $this->meta_data = unserialize($this->meta_data); - $this->imageHTML = $this->get_href_link(); - $this->thumbHTML = $this->get_href_thumb_link(); - - do_action_ref_array('ngg_get_image', array(&$this)); - wp_cache_add($this->pid, $this, 'ngg_image'); - - // Get tags only if necessary - unset($this->tags); - } - - /** - * Get the thumbnail code (to add effects on thumbnail click) - * - * Applies the filter 'ngg_get_thumbcode' - */ - function get_thumbcode($galleryname = '') { - // read the option setting - $ngg_options = get_option('ngg_options'); - - // get the effect code - if ($ngg_options['thumbEffect'] != "none") - $this->thumbcode = stripslashes($ngg_options['thumbCode']); - - // for highslide to a different approach - if ($ngg_options['thumbEffect'] == "highslide") - $this->thumbcode = str_replace("%GALLERY_NAME%", "'".$galleryname."'", $this->thumbcode); - else - $this->thumbcode = str_replace("%GALLERY_NAME%", $galleryname, $this->thumbcode); - - return apply_filters('ngg_get_thumbcode', $this->thumbcode, $this); - } - - function get_href_link() { - // create the a href link from the picture - $this->href = "\n".'get_thumbcode($this->name).'>'."\n\t"; - $this->href .= ''.$this->alttext.''."\n".''."\n"; - - return $this->href; - } - - function get_href_thumb_link() { - // create the a href link with the thumbanil - $this->href = "\n".'get_thumbcode($this->name).'>'."\n\t"; - $this->href .= ''.$this->alttext.''."\n".''."\n"; - - return $this->href; - } - - /** - * This function creates a cache for all singlepics to reduce the CPU load - * - * @param int $width - * @param int $height - * @param string $mode could be watermark | web20 | crop - * @return the url for the image or false if failed - */ - function cached_singlepic_file($width = '', $height = '', $mode = '' ) { - - $ngg_options = get_option('ngg_options'); - - include_once( nggGallery::graphic_library() ); - - // cache filename should be unique - $cachename = $this->pid . '_' . $mode . '_'. $width . 'x' . $height . '_' . $this->filename; - $cachefolder = WINABSPATH .$ngg_options['gallerypath'] . 'cache/'; - $cached_url = site_url() . '/' . $ngg_options['gallerypath'] . 'cache/' . $cachename; - $cached_file = $cachefolder . $cachename; - - // check first for the file - if ( file_exists($cached_file) ) - return $cached_url; - - // create folder if needed - if ( !file_exists($cachefolder) ) - if ( !wp_mkdir_p($cachefolder) ) - return false; - - $thumb = new ngg_Thumbnail($this->imagePath, TRUE); - // echo $thumb->errmsg; - - if (!$thumb->error) { - if ($mode == 'crop') { - // calculates the new dimentions for a downsampled image - list ( $ratio_w, $ratio_h ) = wp_constrain_dimensions($thumb->currentDimensions['width'], $thumb->currentDimensions['height'], $width, $height); - // check ratio to decide which side should be resized - ( $ratio_h < $height || $ratio_w == $width ) ? $thumb->resize(0, $height) : $thumb->resize($width, 0); - // get the best start postion to crop from the middle - $ypos = ($thumb->currentDimensions['height'] - $height) / 2; - $thumb->crop(0, $ypos, $width, $height); - } else - $thumb->resize($width , $height); - - if ($mode == 'watermark') { - if ($ngg_options['wmType'] == 'image') { - $thumb->watermarkImgPath = $ngg_options['wmPath']; - $thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']); - } - if ($ngg_options['wmType'] == 'text') { - $thumb->watermarkText = $ngg_options['wmText']; - $thumb->watermarkCreateText($ngg_options['wmColor'], $ngg_options['wmFont'], $ngg_options['wmSize'], $ngg_options['wmOpaque']); - $thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']); - } - } - - if ($mode == 'web20') { - $thumb->createReflection(40,40,50,false,'#a4a4a4'); - } - - // save the new cache picture - $thumb->save($cached_file,$ngg_options['imgQuality']); - } - $thumb->destruct(); - - // check again for the file - if (file_exists($cached_file)) - return $cached_url; - - return false; - } - - /** - * Get the tags associated to this image - */ - function get_tags() { - if ( !isset($this->tags) ) - $this->tags = wp_get_object_terms($this->pid, 'ngg_tag', 'fields=all'); - - return $this->tags; - } - - /** - * Get the permalink to the image - * TODO Get a permalink to a page presenting the image - */ - function get_permalink() { - if ($this->permalink == '') - $this->permalink = $this->imageURL; - - return $this->permalink; - } -} -endif; -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/lib/imagemagick.inc.php b/src/wp-content/plugins/nextgen-gallery/lib/imagemagick.inc.php deleted file mode 100644 index ea88d3e..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lib/imagemagick.inc.php +++ /dev/null @@ -1,598 +0,0 @@ -errmsg = ''; - $this->error = false; - $this->currentDimensions = array(); - $this->newDimensions = array(); - $this->fileName = $fileName; - $this->imageMeta = array(); - $this->percent = 100; - $this->maxWidth = 0; - $this->maxHeight = 0; - $this->watermarkImgPath = ''; - $this->watermarkText = ''; - $this->imageMagickExec = ''; - $this->imageMagickComp = ''; - $this->imageMagickBefore = ''; - - //make sure ImageMagick is installed - $this->checkVersion(); - - //check to see if file exists - if(!file_exists($this->fileName)) { - $this->errmsg = 'File not found'; - $this->error = true; - } - //check to see if file is readable - elseif(!is_readable($this->fileName)) { - $this->errmsg = 'File is not readable'; - $this->error = true; - } - - if($this->error == false) { - $size = GetImageSize($this->fileName); - $this->currentDimensions = array('width'=>$size[0],'height'=>$size[1]); - } - - if($this->error == true) { - // for SinglePic send the error message out - if(!$no_ErrorImage) - echo $this->errmsg; - return; - } - } - - function checkVersion() { - - // very often exec()or passthru() is disabled. No chance for Imagick - if ( ini_get('disable_functions') ) { - $not_allowed = ini_get('disable_functions'); - if ( stristr($not_allowed, 'exec') || stristr($not_allowed, 'passthru') ) { - $this->errmsg = 'exec() or passthru() is not allowed. Could not execute Imagick'; - $this->error = true; - return false; - } - } - - // get the path to imageMagick - $ngg_options = get_option('ngg_options'); - $this->imageMagickDir = trim( $ngg_options['imageMagickDir']); - $this->imageMagickDir = str_replace( "\\", "/", $this->imageMagickDir ); - - // Try to get the ImageMagick version - $magickv = $this->execute('convert', '-version'); - - if ( empty($magickv) ) { - $this->errmsg = 'Could not execute ImageMagick. Check path '; - $this->error = true; - return false; - } - - // We need as least version 6 or higher - $helper = preg_match('/Version: ImageMagick ([0-9])/', $magickv[0], $magickversion); - if ( !$magickversion[0] > '5' ) { - $this->errmsg = 'Require ImageMagick Version 6 or higher'; - $this->error = true; - return false; - } - - return true; - } - - - /** - * Execute ImageMagick/GraphicsMagick commands - * - * @param string $cmd an ImageMagick command (eg. "convert") - * @param string $args the arguments which should be passed - * @param bool passthru(optional) output the result to the webserver instead - * @return void | if passthru return the image - */ - function execute( $cmd, $args, $passthru = false) { - - // in error case we do not continue - if($this->error == true) - return; - - //if path is not empty - if ($this->imageMagickDir != '') { - // the path must have a slash at the end - if ( $this->imageMagickDir{strlen($this->imageMagickDir)-1} != '/') - $this->imageMagickDir .= '/'; - } - - //$args = escapeshellarg($args); - //var_dump( escapeshellcmd ( "{$this->imageMagickDir}/{$cmd} {$args}" ) ); return; - //$this->errmsg = escapeshellcmd( "{$this->imageMagickDir}{$cmd} {$args}" ); - - if ( !$passthru ) { - exec( "{$this->imageMagickDir}{$cmd} {$args}", $result ); - //var_dump( "{$this->imageMagickDir}/{$cmd} {$args}" ); - return $result; - - } - //var_dump( escapeshellcmd ( "{$this->imageMagickDir}/{$cmd} {$args}" ) ); return; - - // for single pic we need the direct output - header('Content-type: image/jpeg'); - $this->errmsg = "{$this->imageMagickDir}{$cmd} {$args}"; - passthru( "{$this->imageMagickDir}{$cmd} {$args}" ); - } - - - /** - * Must be called to free up allocated memory after all manipulations are done - */ - function destruct() { - //not needed for ImageMagick - return; - } - - /** - * Returns the current width of the image - * @return int - */ - function getCurrentWidth() { - return $this->currentDimensions['width']; - } - - /** - * Returns the current height of the image - * @return int - */ - function getCurrentHeight() { - return $this->currentDimensions['height']; - } - - /** - * Calculates new image width - * @param int $width - * @param int $height - * @return array - */ - function calcWidth($width, $height) { - $newWp = (100 * $this->maxWidth) / $width; - $newHeight = ($height * $newWp) / 100; - return array('newWidth'=>intval($this->maxWidth), 'newHeight'=>intval($newHeight)); - } - - /** - * Calculates new image height - * @param int $width - * @param int $height - * @return array - */ - function calcHeight($width, $height) { - $newHp = (100 * $this->maxHeight) / $height; - $newWidth = ($width * $newHp) / 100; - return array('newWidth'=>intval($newWidth), 'newHeight'=>intval($this->maxHeight)); - } - - /** - * Calculates new image size based on percentage - * @param int $width - * @param int $height - * @return array - */ - function calcPercent($width, $height) { - $newWidth = ($width * $this->percent) / 100; - $newHeight = ($height * $this->percent) / 100; - return array('newWidth'=>intval($newWidth), 'newHeight'=>intval($newHeight)); - } - - /** - * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight - * @param int $width - * @param int $height - */ - function calcImageSize($width,$height) { - $newSize = array('newWidth'=>$width,'newHeight'=>$height); - - if($this->maxWidth > 0) { - - $newSize = $this->calcWidth($width,$height); - - if($this->maxHeight > 0 && $newSize['newHeight'] > $this->maxHeight) { - $newSize = $this->calcHeight($newSize['newWidth'],$newSize['newHeight']); - } - - //$this->newDimensions = $newSize; - } - - if($this->maxHeight > 0) { - $newSize = $this->calcHeight($width,$height); - - if($this->maxWidth > 0 && $newSize['newWidth'] > $this->maxWidth) { - $newSize = $this->calcWidth($newSize['newWidth'],$newSize['newHeight']); - } - - //$this->newDimensions = $newSize; - } - - $this->newDimensions = $newSize; - } - - /** - * Calculates new image size based percentage - * @param int $width - * @param int $height - */ - function calcImageSizePercent($width,$height) { - if($this->percent > 0) { - $this->newDimensions = $this->calcPercent($width,$height); - } - } - - /** - * Resizes image to maxWidth x maxHeight - * - * @param int $maxWidth - * @param int $maxHeight - */ - - function resize($maxWidth = 0, $maxHeight = 0, $resampleMode = 3) { - $this->maxWidth = $maxWidth; - $this->maxHeight = $maxHeight; - - $this->calcImageSize($this->currentDimensions['width'],$this->currentDimensions['height']); - - //string to resize the picture to $this->newDimensions['newWidth'],$this->newDimensions['newHeight'] - //should result in: -thumbnail $this->newDimensions['newWidth']x$this->newDimensions['newHeight'] - if($maxWidth=='0') - $this->imageMagickExec .= " -resize x".$maxHeight; - elseif($maxHeight=='0') - $this->imageMagickExec .= " -resize ".$maxWidth."x"; - elseif($maxHeight!='0' && $maxWidth!='0') - $this->imageMagickExec .= " -resize ".$maxWidth."x".$maxHeight; - - // next calculations should be done with the 'new' dimensions - $this->currentDimensions['width'] = $this->newDimensions['newWidth']; - $this->currentDimensions['height'] = $this->newDimensions['newHeight']; - - } - - /** - * Flip an image. - * - * @param bool $horz flip the image in horizontal mode - * @param bool $vert flip the image in vertical mode - */ - function flipImage( $horz = false, $vert = false ) { - - //TODO: need to be added - - } - - /** - * Rotates image either 90 degrees clockwise or counter-clockwise - * - * @param string $direction - */ - function rotateImage($dir = 'CW') { - - $angle = ($dir == 'CW') ? 90 : -90; - - $this->imageMagickExec .= " -rotate $angle "; - - $newWidth = $this->currentDimensions['height']; - $newHeight = $this->currentDimensions['width']; - $this->currentDimensions['width'] = $newWidth; - $this->currentDimensions['height'] = $newHeight; - } - - /** - * Crops the image from calculated center in a square of $cropSize pixels - * - * @param int $cropSize - */ - function cropFromCenter($cropSize, $resampleMode = 3) { - if($cropSize > $this->currentDimensions['width']) $cropSize = $this->currentDimensions['width']; - if($cropSize > $this->currentDimensions['height']) $cropSize = $this->currentDimensions['height']; - - //$cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2); - //$cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2); - - //string to crop the picture to $cropSize,$cropSize (from center) - //result: -gravity Center -crop $cropSizex$cropSize+0+0 - $this->imageMagickExec .= ' -gravity Center -crop ' . $cropSize . 'x' . $cropSize . '+0+0'; - - // next calculations should be done with the 'new' dimensions - $this->currentDimensions['width'] = $cropSize; - $this->currentDimensions['height'] = $cropSize; - } - - /** - * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner. - * - * @param int $startX - * @param int $startY - * @param int $width - * @param int $height - */ - function crop($startX,$startY,$width,$height) { - //make sure the cropped area is not greater than the size of the image - if($width > $this->currentDimensions['width']) $width = $this->currentDimensions['width']; - if($height > $this->currentDimensions['height']) $height = $this->currentDimensions['height']; - //make sure not starting outside the image - if(($startX + $width) > $this->currentDimensions['width']) $startX = ($this->currentDimensions['width'] - $width); - if(($startY + $height) > $this->currentDimensions['height']) $startY = ($this->currentDimensions['height'] - $height); - if($startX < 0) $startX = 0; - if($startY < 0) $startY = 0; - - //string to crop the picture to $width,$height (from $startX,$startY) - //result: -crop $widthx$height+$startX+$startY - $this->imageMagickExec .= ' -crop ' . $width . 'x' . $height . '+' . $startX .'+' . $startY; - - $this->currentDimensions['width'] = $width; - $this->currentDimensions['height'] = $height; - } - - /** - * Creates Apple-style reflection under image, optionally adding a border to main image - * - * @param int $percent - * @param int $reflection - * @param int $white - * @param bool $border - * @param string $borderColor - */ - function createReflection($percent, $reflection, $white, $border = true, $borderColor = '#a4a4a4') { - - $width = $this->currentDimensions['width']; - $height = $this->currentDimensions['height']; - - $reflectionHeight = intval($height * ($reflection / 100)); - $newHeight = $height + $reflectionHeight; - //$reflectedPart = $height * ((100-$percent) / 100); - $reflectedsize = intval($height * ((100 - (100 - $percent) + $reflection) / 100)); - - $this->imageMagickBefore = "-size $width" . "x" ."$newHeight xc:white "; - - if($border == true) { - $this->imageMagickBefore .= " \( "; - $this->imageMagickExec = " -bordercolor '$borderColor' -border 1 \) "; - } - - $this->imageMagickExec .= " -geometry +0+0 -composite "; - $gradientWhite = 100-$white; - $this->imageMagickExec .= " \( '$this->fileName' -flip -resize $width"."x"."$reflectedsize\! \( -size $width"."x"."$reflectionHeight gradient: -fill black -colorize $gradientWhite \) +matte -compose copy_opacity -composite \) -geometry +0+$height -composite "; - - $this->currentDimensions['width'] = $width; - $this->currentDimensions['height'] = $newHeight; - } - - /** - * @param string $color - * @param string $wmFont - * @param int $wmSize - * @param int $wmOpaque - */ - function watermarkCreateText($color = '000000', $wmFont, $wmSize = 10, $wmOpaque = 90 ){ - //create a watermark.png image with the requested text. - - // set font path - $wmFontPath = NGGALLERY_ABSPATH . 'fonts/' . $wmFont; - if ( !is_readable($wmFontPath) ) - return; - - /* - $exec = "convert -size 800x500 xc:grey30 -font $wmFontPath -pointsize $wmSize -gravity center -draw \"fill '#$color$wmOpaque' text 0,0 '$this->watermarkText'\" stamp_fgnd.png"; - $make_magick = system($exec); - $exec = "convert -size 800x500 xc:black -font $wmFontPath -pointsize $wmSize -gravity center -draw \"fill white text 1,1 '$this->watermarkText' text 0,0 '$this->watermarkText' fill black text -1,-1 '$this->watermarkText'\" +matte stamp_mask.png"; - $make_magick = system($exec); - $exec = "composite -compose CopyOpacity stamp_mask.png stamp_fgnd.png watermark.png";*/ - - //convert the opacity between FF or 00; 100->0 and 0->FF (256) - $opacity = dechex( round( (100-$wmOpaque) * 256/100 ) ); - if ($opacity == "0") {$opacity = "00";} - - $cmd = "-size 800x500 xc:none -fill '#{$color}{$opacity}' -font {$wmFontPath} -pointsize {$wmSize} -gravity center -annotate 0 '{$this->watermarkText}' watermark_text.png"; - $this->execute('convert', $cmd); - - $cmd = "-trim +repage watermark_text.png"; - $this->execute('mogrify', $cmd); - - $this->watermarkImgPath = NGGALLERY_ABSPATH . 'watermark_text.png'; - - return; - } - - /** - * - * @param string $relPOS - * @param int $xPOS - * @param int $yPOS - */ - function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) { - - // if it's not a valid file die... - /*if ( !is_readable($this->watermarkImgPath)) - { - echo $this->watermarkImgPath; - return; - } */ - - $size = GetImageSize($this->watermarkImgPath); - $watermarkDimensions = array('width'=>$size[0],'height'=>$size[1]); - - $sourcefile_width=$this->currentDimensions['width']; - $sourcefile_height=$this->currentDimensions['height']; - - $watermarkfile_width=$watermarkDimensions['width']; - $watermarkfile_height=$watermarkDimensions['height']; - - switch( substr($relPOS, 0, 3) ){ - case 'top': $dest_y = 0 + $yPOS; break; - case 'mid': $dest_y = ($sourcefile_height / 2) - ($watermarkfile_height / 2); break; - case 'bot': $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS; break; - default : $dest_y = 0; break; - } - switch( substr($relPOS, 3) ){ - case 'Left' : $dest_x = 0 + $xPOS; break; - case 'Center': $dest_x = ($sourcefile_width / 2) - ($watermarkfile_width / 2); break; - case 'Right': $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS; break; - default : $dest_x = 0; break; - } - if ($dest_y<0) { - $dest_y = $dest_y; - } else { - $dest_y = '+' . $dest_y; - } - if ($dest_x<0) { - $dest_x = $dest_x; - } else { - $dest_x = '+' . $dest_x; - } - - $this->imageMagickComp .= "'$this->watermarkImgPath' -geometry $dest_x$dest_y -composite"; - //" -dissolve 80% -geometry +$dest_x+$dest_y $this->watermarkImgPath"; - } - - /** - * Saves image as $name (can include file path), with quality of # percent if file is a jpeg - * - * @param string $name - * @param int $quality - * @return bool errorstate - */ - function save( $name, $quality = 85 ) { - $this->show($quality,$name); - if ($this->error == true) { - //$this->errmsg = 'Create Image failed. Check safe mode settings'; - return false; - } - - if( function_exists('do_action') ) - do_action('ngg_ajax_image_save', $name); - - return true; - } - - /** - * Outputs the image to the screen, or saves to $name if supplied. Quality of JPEG images can be controlled with the $quality variable - * - * @param int $quality - * @param string $name - */ - function show( $quality = 85, $name = '') { - //save the image if we get a filename - if( $name != '' ) { - $args = "{$this->imageMagickBefore} "; - $args .= escapeshellarg("$this->fileName"); - $args .= " $this->imageMagickExec $this->imageMagickComp -quality '$quality' "; - $args .= escapeshellarg("$name"); - //$args = "{$this->imageMagickBefore} '$this->fileName' $this->imageMagickExec $this->imageMagickComp -quality $quality '$name'"; - $this->execute('convert', $args); - //$this->error = true; - } else { - //return a raw image stream - $args = "{$this->imageMagickBefore} '$this->fileName' $this->imageMagickExec $this->imageMagickComp -quality $quality JPG:-"; - $this->execute('convert', $args, true); - $this->error = true; - } - } -} -?> diff --git a/src/wp-content/plugins/nextgen-gallery/lib/locale.php b/src/wp-content/plugins/nextgen-gallery/lib/locale.php deleted file mode 100644 index 7ac2a7b..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lib/locale.php +++ /dev/null @@ -1,152 +0,0 @@ -__construct(); - } - - /** - * Init the Database Abstraction layer for NextGEN Gallery - * - */ - function __construct() { - $this->plugin_locale_path = NGGALLERY_ABSPATH . 'lang/'; - $this->locale = get_locale(); - - $this->mo_file = trailingslashit($this->plugin_locale_path) . $this->domain . '-' . $this->locale . '.mo'; - $this->mo_url = trailingslashit($this->remote_locale_url) . $this->domain . '-' . $this->locale . '.mo'; - } - - /** - * This functions checks if a translation is at wp.org available - * Please note, if a language file is already loaded it exits as well - * - * @return string result of check ( default | installed | not_exist | available ) - */ - function check() { - - // we do not need to check for translation if you use english - if ( ($this->locale == 'en_US') ) - return 'default'; - - $this->response = wp_remote_get($this->mo_url, array('timeout' => 300)); - - // if a language file exist, do not load it again - if ( is_readable( $this->mo_file ) ) - return 'installed'; - - // if no translation file exists exit the check - if ( is_wp_error($this->response) || $this->response['response']['code'] != '200' ) - return 'not_exist'; - - return 'available'; - } - - /** - * Downloads a locale to the plugin folder using the WordPress HTTP Class. - * - * @author taken from WP core - * @return mixed WP_Error on failure, true on success. - */ - function download_locale() { - - $url = $this->mo_url; - - if ( ! $url ) - return new WP_Error('http_no_url', __('Invalid URL Provided.')); - - $filename = $this->mo_file; - if ( ! $filename ) - return new WP_Error('http_no_file', __('Could not create Temporary file.')); - - $handle = @fopen($filename, 'wb'); - if ( ! $handle ) - return new WP_Error('http_no_file', __('Could not create Temporary file.')); - - $response = wp_remote_get($url, array('timeout' => 300)); - - if ( is_wp_error($response) ) { - fclose($handle); - unlink($filename); - return $response; - } - - if ( $response['response']['code'] != '200' ){ - fclose($handle); - unlink($filename); - return new WP_Error('http_404', trim($response['response']['message'])); - } - - fwrite($handle, $response['body']); - fclose($handle); - - return true; - } - -} -endif; -?> \ No newline at end of file diff --git a/src/wp-content/plugins/nextgen-gallery/lib/media-rss.php b/src/wp-content/plugins/nextgen-gallery/lib/media-rss.php deleted file mode 100644 index 954ac1e..0000000 --- a/src/wp-content/plugins/nextgen-gallery/lib/media-rss.php +++ /dev/null @@ -1,248 +0,0 @@ -\n"; - } - - /** - * Add the javascript required to enable PicLens/CoolIris support - */ - function add_piclens_javascript() { - echo "\n" . ''; - if (is_ssl()) - echo "\n" . ''; - else - echo "\n" . ''; - echo "\n" . ''; - } - - /** - * Get the URL of the general media RSS - */ - function get_mrss_url() { - return NGGALLERY_URLPATH . 'xml/media-rss.php'; - } - - /** - * Get the URL of a gallery media RSS - */ - function get_gallery_mrss_url($gid, $prev_next = false) { - return nggMediaRss::get_mrss_url() . '?' . ('gid=' . $gid . ($prev_next ? '&prev_next=true' : '') . '&mode=gallery'); - } - - /** - * Get the URL of an album media RSS - */ - function get_album_mrss_url($aid) { - return nggMediaRss::get_mrss_url() . '?' . ('aid=' . $aid . '&mode=album'); - } - - /** - * Get the URL of the media RSS for last pictures - */ - function get_last_pictures_mrss_url($page = 0, $show = 30) { - return nggMediaRss::get_mrss_url() . '?' . ('show=' . $show . '&page=' . $page . '&mode=last_pictures'); - } - - /** - * Get the XML node corresponding to the last pictures registered - * - * @param page The current page (defaults to 0) - * @param show The number of pictures to include in one field (default 30) - */ - function get_last_pictures_mrss($page = 0, $show = 30) { - $images = nggdb::find_last_images($page, $show); - - $title = stripslashes(get_option('blogname')); - $description = stripslashes(get_option('blogdescription')); - $link = site_url(); - $prev_link = ($page > 0) ? nggMediaRss::get_last_pictures_mrss_url($page-1, $show) : ''; - $next_link = count($images)!=0 ? nggMediaRss::get_last_pictures_mrss_url($page+1, $show) : ''; - - return nggMediaRss::get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images); - } - - /** - * Get the XML node corresponding to a gallery - * - * @param $gallery (object) The gallery to include in RSS - * @param $prev_gallery (object) The previous gallery to link in RSS (null if none) - * @param $next_gallery (object) The next gallery to link in RSS (null if none) - */ - function get_gallery_mrss($gallery, $prev_gallery = null, $next_gallery = null) { - - $ngg_options = nggGallery::get_option('ngg_options'); - //Set sort order value, if not used (upgrade issue) - $ngg_options['galSort'] = ($ngg_options['galSort']) ? $ngg_options['galSort'] : 'pid'; - $ngg_options['galSortDir'] = ($ngg_options['galSortDir'] == 'DESC') ? 'DESC' : 'ASC'; - - $title = stripslashes(nggGallery::i18n($gallery->title)); - $description = stripslashes(nggGallery::i18n($gallery->galdesc)); - $link = nggMediaRss::get_permalink($gallery->pageid); - $prev_link = ( $prev_gallery != null) ? nggMediaRss::get_gallery_mrss_url($prev_gallery->gid, true) : ''; - $next_link = ( $next_gallery != null) ? nggMediaRss::get_gallery_mrss_url($next_gallery->gid, true) : ''; - $images = nggdb::get_gallery($gallery->gid, $ngg_options['galSort'], $ngg_options['galSortDir']); - - return nggMediaRss::get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images); - } - - /** - * Get the XML node corresponding to an album - * - * @param $album The album to include in RSS - */ - function get_album_mrss($album) { - - $title = stripslashes(nggGallery::i18n($album->name)); - $description = ''; - $link = nggMediaRss::get_permalink(0); - $prev_link = ''; - $next_link = ''; - $images = nggdb::find_images_in_album($album->id); - - return nggMediaRss::get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images); - } - - /** - * Get the XML node - */ - function get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images) { - - if ($prev_link != '' || $next_link != '') - $out = "\n" ; - else - $out = "\n"; - - $out .= "\t\n"; - - $out .= nggMediaRss::get_generator_mrss_node(); - $out .= nggMediaRss::get_title_mrss_node($title); - $out .= nggMediaRss::get_description_mrss_node($description); - $out .= nggMediaRss::get_link_mrss_node($link); - - if ($prev_link != '' || $next_link != '') - $out .= nggMediaRss::get_self_node(nggMediaRss::get_mrss_url()); - if ($prev_link!='') { - $out .= nggMediaRss::get_previous_link_mrss_node($prev_link); - } - if ($next_link!='') { - $out .= nggMediaRss::get_next_link_mrss_node($next_link); - } - - foreach ($images as $image) { - $out .= nggMediaRss::get_image_mrss_node($image); - } - - $out .= "\t\n"; - $out .= "\n"; - - return $out; - } - - /** - * Get the XML node - */ - function get_generator_mrss_node($indent = "\t\t") { - return $indent . "\n"; - } - - /** - * Get the XML node - */ - function get_title_mrss_node($title, $indent = "\t\t") { - return $indent . "<title>" . $title . "\n"; - } - - /** - * Get the XML node - */ - function get_description_mrss_node($description, $indent = "\t\t") { - return $indent . "" . $description . "\n"; - } - - /** - * Get the XML node - */ - function get_link_mrss_node($link, $indent = "\t\t") { - return $indent . "\n"; - } - - /** - * Get the XML node - */ - function get_self_node($link, $indent = "\t\t") { - return $indent . "\n"; - } - - /** - * Get the XML node - */ - function get_previous_link_mrss_node($link, $indent = "\t\t") { - return $indent . "\n"; - } - - /** - * Get the XML node - */ - function get_next_link_mrss_node($link, $indent = "\t\t") { - return $indent . "