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
-
-
-
-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 @@
-
-
-
-
-
-
- '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 = "";
- // Wrap the link to the fullsize image around
- $html = "$html";
-
- if ($image['size'] == "full")
- $html = "";
-
- 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'];
-
-?>
-
-
-
-
-
-
-
-
\ 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 '
- ' . sprintf(__('Newsfeed could not be loaded. Check the front page to check for updates.', 'nggallery'), 'http://alexrabe.de/') . '';
- return;
- }
-
- echo '
';
-}
-
-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');
-
-?>
-
";
- }
-
- $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.'
'; }
-
- ?>
-
-
-
-
-
-
- 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 .= ''."\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 .= ''."\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 . "\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 . "\n";
- }
-
- /**
- * Get the XML node corresponding to one single image
- *
- * @param $image The image object
- */
- function get_image_mrss_node($image, $indent = "\t\t" ) {
- $ngg_options = nggGallery::get_option('ngg_options');
-
- $tags = $image->get_tags();
- $tag_names = '';
- foreach ($tags as $tag) {
- $tag_names .= ($tag_names=='' ? $tag->name : ', ' . $tag->name);
- }
-
- $title = html_entity_decode(stripslashes($image->alttext));
- $desc = html_entity_decode(stripslashes($image->description));
-
- $thumbwidth = $ngg_options['thumbwidth'];
- $thumbheight = ($ngg_options['thumbfix'] ? $ngg_options['thumbheight'] : $thumbwidth);
-
- $out = $indent . "\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\tget_permalink() . "]]>\n";
- $out .= $indent . "\timage-id:" . $image->pid . "\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\t\n";
- $out .= $indent . "\n";
-
- return $out;
- }
-
- function get_permalink($page_id) {
- if ($page_id == 0)
- $permalink = site_url();
- else
- $permalink = get_permalink($page_id);
-
- return $permalink;
- }
-
-}
-
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/meta.php b/src/wp-content/plugins/nextgen-gallery/lib/meta.php
deleted file mode 100644
index 93a5c56..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/meta.php
+++ /dev/null
@@ -1,540 +0,0 @@
-image = nggdb::find_image( $pic_id );
-
- $this->image = apply_filters( 'ngg_find_image_meta', $this->image );
-
- if ( !file_exists( $this->image->imagePath ) )
- return false;
-
- $this->size = @getimagesize ( $this->image->imagePath , $metadata );
-
- if ($this->size && is_array($metadata)) {
-
- // get exif - data
- if ( is_callable('exif_read_data'))
- $this->exif_data = @exif_read_data($this->image->imagePath , 0, true );
-
- // stop here if we didn't need other meta data
- if ($onlyEXIF)
- return true;
-
- // get the iptc data - should be in APP13
- if ( is_callable('iptcparse'))
- $this->iptc_data = @iptcparse($metadata["APP13"]);
-
- // get the xmp data in a XML format
- if ( is_callable('xml_parser_create'))
- $this->xmp_data = $this->extract_XMP($this->image->imagePath );
-
- return true;
- }
-
- return false;
- }
-
- /**
- * return the saved meta data from the database
- *
- * @since 1.4.0
- * @param string $object (optional)
- * @return array|mixed return either the complete array or the single object
- */
- function get_saved_meta($object = false) {
-
- $meta = $this->image->meta_data;
-
- //check if we already import the meta data to the database
- if (!is_array($meta) || ($meta['saved'] != true))
- return false;
-
- // return one element if requested
- if ($object)
- return $meta[$object];
-
- //removed saved parameter we don't need that to show
- unset($meta['saved']);
-
- // and remove empty tags
- foreach ($meta as $key => $value) {
- if ( empty($value) )
- unset($meta[$key]);
- }
-
- return $meta;
- }
-
- /**
- * nggMeta::get_EXIF()
- * See also http://trac.wordpress.org/changeset/6313
- *
- * @return structured EXIF data
- */
- function get_EXIF($object = false) {
-
- if ( !$this->exif_data )
- return false;
-
- if (!is_array($this->exif_array)){
-
- $meta= array();
-
- if ( isset($this->exif_data['EXIF']) ) {
- $exif = $this->exif_data['EXIF'];
-
- if (!empty($exif['FNumber']))
- $meta['aperture'] = 'F ' . round( $this->exif_frac2dec( $exif['FNumber'] ), 2 );
- if (!empty($exif['Model']))
- $meta['camera'] = trim( $exif['Model'] );
- if (!empty($exif['DateTimeDigitized']))
- $meta['created_timestamp'] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $this->exif_date2ts($exif['DateTimeDigitized']));
- if (!empty($exif['FocalLength']))
- $meta['focal_length'] = $this->exif_frac2dec( $exif['FocalLength'] ) . __(' mm','nggallery');
- if (!empty($exif['ISOSpeedRatings']))
- $meta['iso'] = $exif['ISOSpeedRatings'];
- if (!empty($exif['ExposureTime'])) {
- $meta['shutter_speed'] = $this->exif_frac2dec ($exif['ExposureTime']);
- $meta['shutter_speed'] =($meta['shutter_speed'] > 0.0 and $meta['shutter_speed'] < 1.0) ? ( '1/' . round( 1 / $meta['shutter_speed'], -1) ) : ($meta['shutter_speed']);
- $meta['shutter_speed'] .= __(' sec','nggallery');
- }
- //Bit 0 indicates the flash firing status
- if (!empty($exif['Flash']))
- $meta['flash'] = ( $exif['Flash'] & 1 ) ? __('Fired', 'nggallery') : __('Not fired',' nggallery');
- }
-
- // additional information
- if ( isset($this->exif_data['IFD0']) ) {
- $exif = $this->exif_data['IFD0'];
-
- if (!empty($exif['Model']))
- $meta['camera'] = $exif['Model'];
- if (!empty($exif['Make']))
- $meta['make'] = $exif['Make'];
- if (!empty($exif['ImageDescription']))
- $meta['title'] = utf8_encode($exif['ImageDescription']);
- if (!empty($exif['Orientation']))
- $meta['Orientation'] = $exif['Orientation'];
- }
-
- // this is done by Windows
- if ( isset($this->exif_data['WINXP']) ) {
- $exif = $this->exif_data['WINXP'];
-
- if (!empty($exif['Title']) && empty($meta['title']))
- $meta['title'] = utf8_encode($exif['Title']);
- if (!empty($exif['Author']))
- $meta['author'] = utf8_encode($exif['Author']);
- if (!empty($exif['Keywords']))
- $meta['tags'] = utf8_encode($exif['Keywords']);
- if (!empty($exif['Subject']))
- $meta['subject'] = utf8_encode($exif['Subject']);
- if (!empty($exif['Comments']))
- $meta['caption'] = utf8_encode($exif['Comments']);
- }
-
- $this->exif_array = $meta;
- }
-
- // return one element if requested
- if ( $object == true ) {
- $value = isset($this->exif_array[$object]) ? $this->exif_array[$object] : false;
- return $value;
- }
-
- return $this->exif_array;
-
- }
-
- // convert a fraction string to a decimal
- function exif_frac2dec($str) {
- @list( $n, $d ) = explode( '/', $str );
- if ( !empty($d) )
- return $n / $d;
- return $str;
- }
-
- // convert the exif date format to a unix timestamp
- function exif_date2ts($str) {
- // seriously, who formats a date like 'YYYY:MM:DD hh:mm:ss'?
- @list( $date, $time ) = explode( ' ', trim($str) );
- @list( $y, $m, $d ) = explode( ':', $date );
-
- return strtotime( "{$y}-{$m}-{$d} {$time}" );
- }
-
- /**
- * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
- *
- * @param mixed $output_tag
- * @return IPTC-tags
- */
- function get_IPTC($object = false) {
-
- if (!$this->iptc_data)
- return false;
-
- if (!is_array($this->iptc_array)){
-
- // --------- Set up Array Functions --------- //
- $iptcTags = array (
- "2#005" => 'title',
- "2#007" => 'status',
- "2#012" => 'subject',
- "2#015" => 'category',
- "2#025" => 'keywords',
- "2#055" => 'created_date',
- "2#060" => 'created_time',
- "2#080" => 'author',
- "2#085" => 'position',
- "2#090" => 'city',
- "2#092" => 'location',
- "2#095" => 'state',
- "2#100" => 'country_code',
- "2#101" => 'country',
- "2#105" => 'headline',
- "2#110" => 'credit',
- "2#115" => 'source',
- "2#116" => 'copyright',
- "2#118" => 'contact',
- "2#120" => 'caption'
- );
-
- // var_dump($this->iptc_data);
- $meta = array();
- foreach ($iptcTags as $key => $value) {
- if ($this->iptc_data[$key])
- $meta[$value] = trim(utf8_encode(implode(", ", $this->iptc_data[$key])));
-
- }
- $this->iptc_array = $meta;
- }
-
- // return one element if requested
- if ($object)
- return $this->iptc_array[$object];
-
- return $this->iptc_array;
- }
-
- /**
- * nggMeta::extract_XMP()
- * get XMP DATA
- * code by Pekka Saarinen http://photography-on-the.net
- *
- * @param mixed $filename
- * @return XML data
- */
- function extract_XMP( $filename ) {
-
- //TODO:Require a lot of memory, could be better
- ob_start();
- @readfile($filename);
- $source = ob_get_contents();
- ob_end_clean();
-
- $start = strpos( $source, "" );
- if ((!$start === false) && (!$end === false)) {
- $lenght = $end - $start;
- $xmp_data = substr($source, $start, $lenght+12 );
- unset($source);
- return $xmp_data;
- }
-
- unset($source);
- return false;
- }
-
- /**
- * nggMeta::get_XMP()
- *
- * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
- * @author Alf Marius Foss Olsen & Alex Rabe
- * @return XML Array or object
- *
- */
- function get_XMP($object = false) {
-
- if(!$this->xmp_data)
- return false;
-
- if (!is_array($this->xmp_array)){
-
- $parser = xml_parser_create();
- xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); // Dont mess with my cAsE sEtTings
- xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); // Dont bother with empty info
- xml_parse_into_struct($parser, $this->xmp_data, $values);
- xml_parser_free($parser);
-
- $xmlarray = array(); // The XML array
- $this->xmp_array = array(); // The returned array
- $stack = array(); // tmp array used for stacking
- $list_array = array(); // tmp array for list elements
- $list_element = false; // rdf:li indicator
-
- foreach($values as $val) {
-
- if($val['type'] == "open") {
- array_push($stack, $val['tag']);
-
- } elseif($val['type'] == "close") {
- // reset the compared stack
- if ($list_element == false)
- array_pop($stack);
- // reset the rdf:li indicator & array
- $list_element = false;
- $list_array = array();
-
- } elseif($val['type'] == "complete") {
- if ($val['tag'] == "rdf:li") {
- // first go one element back
- if ($list_element == false)
- array_pop($stack);
- $list_element = true;
- // do not parse empty tags
- if ( empty($val['value']) ) continue;
- // save it in our temp array
- $list_array[] = $val['value'];
- // in the case it's a list element we seralize it
- $value = implode(",", $list_array);
- $this->setArrayValue($xmlarray, $stack, $value);
- } else {
- array_push($stack, $val['tag']);
- // do not parse empty tags
- if ( !empty($val['value']) )
- $this->setArrayValue($xmlarray, $stack, $val['value']);
- array_pop($stack);
- }
- }
-
- } // foreach
-
- // don't parse a empty array
- if( empty($xmlarray) || empty($xmlarray['x:xmpmeta']) )
- return false;
-
- // cut off the useless tags
- $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description'];
-
- // --------- Some values from the XMP format--------- //
- $xmpTags = array (
- 'xap:CreateDate' => 'created_timestamp',
- 'xap:ModifyDate' => 'last_modfied',
- 'xap:CreatorTool' => 'tool',
- 'dc:format' => 'format',
- 'dc:title' => 'title',
- 'dc:creator' => 'author',
- 'dc:subject' => 'keywords',
- 'dc:description' => 'caption',
- 'photoshop:AuthorsPosition' => 'position',
- 'photoshop:City' => 'city',
- 'photoshop:Country' => 'country'
- );
-
- foreach ($xmpTags as $key => $value) {
- // if the kex exist
- if ( isset($xmlarray[$key]) ) {
- switch ($key) {
- case 'xap:CreateDate':
- case 'xap:ModifyDate':
- $this->xmp_array[$value] = date_i18n(get_option('date_format').' '.get_option('time_format'), strtotime($xmlarray[$key]));
- break;
- default :
- $this->xmp_array[$value] = $xmlarray[$key];
- }
- }
- }
-
- }
-
- // return one element if requested
- if ($object)
- return $this->xmp_array[$object];
-
- return $this->xmp_array;
- }
-
- function setArrayValue(&$array, $stack, $value) {
- if ($stack) {
- $key = array_shift($stack);
- $this->setArrayValue($array[$key], $stack, $value);
- return $array;
- } else {
- $array = $value;
- }
- }
-
- /**
- * nggMeta::get_META() - return a meta value form the available list
- *
- * @param string $object
- * @return mixed $value
- */
- function get_META($object = false) {
-
- // defined order first look into database, then XMP, IPTC and EXIF.
- if ($value = $this->get_saved_meta($object))
- return $value;
- if ($value = $this->get_XMP($object))
- return $value;
- if ($value = $this->get_IPTC($object))
- return $value;
- if ($value = $this->get_EXIF($object))
- return $value;
-
- // nothing found ?
- return false;
- }
-
- /**
- * nggMeta::i8n_name() - localize the tag name
- *
- * @param mixed $key
- * @return translated $key
- */
- function i8n_name($key) {
-
- $tagnames = array(
- 'aperture' => __('Aperture','nggallery'),
- 'credit' => __('Credit','nggallery'),
- 'camera' => __('Camera','nggallery'),
- 'caption' => __('Caption','nggallery'),
- 'created_timestamp' => __('Date/Time','nggallery'),
- 'copyright' => __('Copyright','nggallery'),
- 'focal_length' => __('Focal length','nggallery'),
- 'iso' => __('ISO','nggallery'),
- 'shutter_speed' => __('Shutter speed','nggallery'),
- 'title' => __('Title','nggallery'),
- 'author' => __('Author','nggallery'),
- 'tags' => __('Tags','nggallery'),
- 'subject' => __('Subject','nggallery'),
- 'make' => __('Make','nggallery'),
- 'status' => __('Edit Status','nggallery'),
- 'category' => __('Category','nggallery'),
- 'keywords' => __('Keywords','nggallery'),
- 'created_date' => __('Date Created','nggallery'),
- 'created_time' => __('Time Created','nggallery'),
- 'position' => __('Author Position','nggallery'),
- 'city' => __('City','nggallery'),
- 'location' => __('Location','nggallery'),
- 'state' => __('Province/State','nggallery'),
- 'country_code' => __('Country code','nggallery'),
- 'country' => __('Country','nggallery'),
- 'headline' => __('Headline','nggallery'),
- 'credit' => __('Credit','nggallery'),
- 'source' => __('Source','nggallery'),
- 'copyright' => __('Copyright Notice','nggallery'),
- 'contact' => __('Contact','nggallery'),
- 'last_modfied' => __('Last modified','nggallery'),
- 'tool' => __('Program tool','nggallery'),
- 'format' => __('Format','nggallery'),
- 'width' => __('Image Width','nggallery'),
- 'height' => __('Image Height','nggallery'),
- 'flash' => __('Flash','nggallery')
- );
-
- if ( isset($tagnames[$key]) )
- $key = $tagnames[$key];
-
- return($key);
-
- }
-
- function get_date_time() {
-
- // get exif - data
- if ( $this->exif_data ) {
- $date_time = $this->exif_data['EXIF']['DateTimeDigitized'];
- // if we didn't get the correct exif value we take filetime
- if ($date_time == null)
- $date_time = $this->exif_data['FILE']['FileDateTime'];
- else
- $date_time = $this->exif_date2ts($date_time);
- } else {
- // if no other date available, get the filetime
- $date_time = @filectime($this->image->imagePath );
- }
-
- // Return the MySQL format
- $date_time = date( 'Y-m-d H:i:s', $date_time );
-
- return $date_time;
- }
-
- /**
- * This function return the most common metadata, via a filter we can add more
- * Reason : GD manipulation removes that options
- *
- * @since V1.4.0
- * @return void
- */
- function get_common_meta() {
- global $wpdb;
-
- $meta = array(
- 'aperture' => 0,
- 'credit' => '',
- 'camera' => '',
- 'caption' => '',
- 'created_timestamp' => 0,
- 'copyright' => '',
- 'focal_length' => 0,
- 'iso' => 0,
- 'shutter_speed' => 0,
- 'flash' => 0,
- 'title' => '',
- 'keywords' => ''
- );
-
- $meta = apply_filters( 'ngg_read_image_metadata', $meta );
-
- // meta should be still an array
- if ( !is_array($meta) )
- return false;
-
- foreach ($meta as $key => $value) {
- $meta[$key] = $this->get_META($key);
- }
-
- //let's add now the size of the image
- $meta['width'] = $this->size[0];
- $meta['height'] = $this->size[1];
-
- return $meta;
- }
-
-}
-
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/multisite.php b/src/wp-content/plugins/nextgen-gallery/lib/multisite.php
deleted file mode 100644
index 35bc581..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/multisite.php
+++ /dev/null
@@ -1,57 +0,0 @@
-__construct();
- }
-
- /**
- * Main constructor - Does nothing.
- * Call create_navigation() method when you need a navigation.
- *
- */
- function __construct() {
- return;
- }
-
- /**
- * nggNavigation::create_navigation()
- *
- * @param mixed $page
- * @param integer $totalElement
- * @param integer $maxElement
- * @return string pagination content
- */
- function create_navigation($page, $totalElement, $maxElement = 0) {
- global $nggRewrite;
-
- if ($maxElement > 0) {
- $total = $totalElement;
-
- // create navigation
- if ( $total > $maxElement ) {
- $total_pages = ceil( $total / $maxElement );
- $r = '';
- if ( 1 < $page ) {
- $args['nggpage'] = ( 1 == $page - 1 ) ? FALSE : $page - 1;
- $previous = $args['nggpage'];
- if (FALSE == $args['nggpage']) {
- $previous = 1;
- }
- $this->prev = $nggRewrite->get_permalink ( $args );
- $r .= '◄';
- }
-
- $total_pages = ceil( $total / $maxElement );
-
- if ( $total_pages > 1 ) {
- for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) {
- if ( $page == $page_num ) {
- $r .= '' . $page_num . '';
- } else {
- $p = false;
- if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) {
- $args['nggpage'] = ( 1 == $page_num ) ? FALSE : $page_num;
- $r .= '' . ( $page_num ) . '';
- $in = true;
- } elseif ( $in == true ) {
- $r .= '...';
- $in = false;
- }
- }
- }
- }
-
- if ( ( $page ) * $maxElement < $total || -1 == $total ) {
- $args['nggpage'] = $page + 1;
- $this->next = $nggRewrite->get_permalink ( $args );
- $r .= '►';
- }
-
- $this->output = "
$r
";
- } else {
- $this->output = ""."\n";
- }
- }
-
- return $this->output;
- }
-}
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/ngg-db.php b/src/wp-content/plugins/nextgen-gallery/lib/ngg-db.php
deleted file mode 100644
index 0b4b0b0..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/ngg-db.php
+++ /dev/null
@@ -1,1100 +0,0 @@
-__construct();
- }
-
- /**
- * Init the Database Abstraction layer for NextGEN Gallery
- *
- */
- function __construct() {
- global $wpdb;
-
- $this->galleries = array();
- $this->images = array();
- $this->albums = array();
- $this->paged = array();
-
- register_shutdown_function(array(&$this, '__destruct'));
-
- }
-
- /**
- * PHP5 style destructor and will run when database object is destroyed.
- *
- * @return bool Always true
- */
- function __destruct() {
- return true;
- }
-
- /**
- * Get all the album and unserialize the content
- *
- * @since 1.3.0
- * @param string $order_by
- * @param string $order_dir
- * @param int $limit number of albums, 0 shows all albums
- * @param int $start the start index for paged albums
- * @return array $album
- */
- function find_all_album( $order_by = 'id', $order_dir = 'ASC', $limit = 0, $start = 0) {
- global $wpdb;
-
- $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
- $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : '';
- $this->albums = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY {$order_by} {$order_dir} {$limit_by}" , OBJECT_K );
-
- if ( !$this->albums )
- return array();
-
- foreach ($this->albums as $key => $value) {
- $this->albums[$key]->galleries = empty ($this->albums[$key]->sortorder) ? array() : (array) unserialize($this->albums[$key]->sortorder) ;
- $this->albums[$key]->name = stripslashes( $this->albums[$key]->name );
- $this->albums[$key]->albumdesc = stripslashes( $this->albums[$key]->albumdesc );
- wp_cache_add($key, $this->albums[$key], 'ngg_album');
- }
-
- return $this->albums;
- }
-
- /**
- * Get all the galleries
- *
- * @param string $order_by
- * @param string $order_dir
- * @param bool $counter (optional) Select true when you need to count the images
- * @param int $limit number of paged galleries, 0 shows all galleries
- * @param int $start the start index for paged galleries
- * @param bool $exclude
- * @return array $galleries
- */
- function find_all_galleries($order_by = 'gid', $order_dir = 'ASC', $counter = false, $limit = 0, $start = 0, $exclude = true) {
- global $wpdb;
-
- // Check for the exclude setting
- $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : '';
- $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
- $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : '';
- $this->galleries = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->nggallery ORDER BY {$order_by} {$order_dir} {$limit_by}", OBJECT_K );
-
- // Count the number of galleries and calculate the pagination
- if ($limit > 0) {
- $this->paged['total_objects'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) );
- $this->paged['objects_per_page'] = max ( count( $this->galleries ), $limit );
- $this->paged['max_objects_per_page'] = ( $limit > 0 ) ? ceil( $this->paged['total_objects'] / intval($limit)) : 1;
- }
-
- if ( !$this->galleries )
- return array();
-
- // get the galleries information
- foreach ($this->galleries as $key => $value) {
- $galleriesID[] = $key;
- // init the counter values
- $this->galleries[$key]->counter = 0;
- $this->galleries[$key]->title = stripslashes($this->galleries[$key]->title);
- $this->galleries[$key]->galdesc = stripslashes($this->galleries[$key]->galdesc);
- wp_cache_add($key, $this->galleries[$key], 'ngg_gallery');
- }
-
- // if we didn't need to count the images then stop here
- if ( !$counter )
- return $this->galleries;
-
- // get the counter values
- $picturesCounter = $wpdb->get_results('SELECT galleryid, COUNT(*) as counter FROM '.$wpdb->nggpictures.' WHERE galleryid IN (\''.implode('\',\'', $galleriesID).'\') ' . $exclude_clause . ' GROUP BY galleryid', OBJECT_K);
-
- if ( !$picturesCounter )
- return $this->galleries;
-
- // add the counter to the gallery objekt
- foreach ($picturesCounter as $key => $value) {
- $this->galleries[$value->galleryid]->counter = $value->counter;
- wp_cache_add($value->galleryid, $this->galleries[$value->galleryid], 'ngg_gallery');
- }
-
- return $this->galleries;
- }
-
- /**
- * Get a gallery given its ID
- *
- * @param int|string $id or $name
- * @return A nggGallery object (null if not found)
- */
- function find_gallery( $id ) {
- global $wpdb;
-
- if( is_numeric($id) ) {
-
- if ( $gallery = wp_cache_get($id, 'ngg_gallery') )
- return $gallery;
-
- $gallery = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggallery WHERE gid = %d", $id ) );
-
- } else
- $gallery = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggallery WHERE name = %s", $id ) );
-
- // Build the object from the query result
- if ($gallery) {
- // it was a bad idea to use a object, stripslashes_deep() could not used here, learn from it
- $gallery->title = stripslashes($gallery->title);
- $gallery->galdesc = stripslashes($gallery->galdesc);
-
- $gallery->abspath = WINABSPATH . $gallery->path;
- //TODO:Possible failure , $id could be a number or name
- wp_cache_add($id, $gallery, 'ngg_gallery');
-
- return $gallery;
- } else
- return false;
- }
-
- /**
- * This function return all information about the gallery and the images inside
- *
- * @param int|string $id or $name
- * @param string $order_by
- * @param string $order_dir (ASC |DESC)
- * @param bool $exclude
- * @param int $limit number of paged galleries, 0 shows all galleries
- * @param int $start the start index for paged galleries
- * @param bool $json remove the key for associative array in json request
- * @return An array containing the nggImage objects representing the images in the gallery.
- */
- function get_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true, $limit = 0, $start = 0, $json = false) {
-
- global $wpdb;
-
- // init the gallery as empty array
- $gallery = array();
- $i = 0;
-
- // Check for the exclude setting
- $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : '';
-
- // Say no to any other value
- $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
- $order_by = ( empty($order_by) ) ? 'sortorder' : $order_by;
-
- // Should we limit this query ?
- $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : '';
-
- // Query database
- if( is_numeric($id) )
- $result = $wpdb->get_results( $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = %d {$exclude_clause} ORDER BY tt.{$order_by} {$order_dir} {$limit_by}", $id ), OBJECT_K );
- else
- $result = $wpdb->get_results( $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.name = %s {$exclude_clause} ORDER BY tt.{$order_by} {$order_dir} {$limit_by}", $id ), OBJECT_K );
-
- // Count the number of images and calculate the pagination
- if ($limit > 0) {
- $this->paged['total_objects'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) );
- $this->paged['objects_per_page'] = max ( count( $result ), $limit );
- $this->paged['max_objects_per_page'] = ( $limit > 0 ) ? ceil( $this->paged['total_objects'] / intval($limit)) : 1;
- }
-
- // Build the object
- if ($result) {
-
- // Now added all image data
- foreach ($result as $key => $value) {
- // due to a browser bug we need to remove the key for associative array for json request
- // (see http://code.google.com/p/chromium/issues/detail?id=883)
- if ($json) $key = $i++;
- $gallery[$key] = new nggImage( $value );
- }
- }
-
- // Could not add to cache, the structure is different to find_gallery() cache_add, need rework
- //wp_cache_add($id, $gallery, 'ngg_gallery');
-
- return $gallery;
- }
-
- /**
- * This function return all information about the gallery and the images inside
- *
- * @param int|string $id or $name
- * @param string $orderby
- * @param string $order (ASC |DESC)
- * @param bool $exclude
- * @return An array containing the nggImage objects representing the images in the gallery.
- */
- function get_ids_from_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true) {
-
- global $wpdb;
-
- // Check for the exclude setting
- $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : '';
-
- // Say no to any other value
- $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
- $order_by = ( empty($order_by) ) ? 'sortorder' : $order_by;
-
- // Query database
- if( is_numeric($id) )
- $result = $wpdb->get_col( $wpdb->prepare( "SELECT tt.pid FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = %d $exclude_clause ORDER BY tt.{$order_by} $order_dir", $id ) );
- else
- $result = $wpdb->get_col( $wpdb->prepare( "SELECT tt.pid FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.name = %s $exclude_clause ORDER BY tt.{$order_by} $order_dir", $id ) );
-
- return $result;
- }
-
- /**
- * Delete a gallery AND all the pictures associated to this gallery!
- *
- * @id The gallery ID
- */
- function delete_gallery( $id ) {
- global $wpdb;
-
- $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggpictures WHERE galleryid = %d", $id) );
- $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggallery WHERE gid = %d", $id) );
-
- wp_cache_delete($id, 'ngg_gallery');
-
- //TODO:Remove all tag relationship
- return true;
- }
-
- /**
- * Get an album given its ID
- *
- * @id The album ID or name
- * @return A nggGallery object (false if not found)
- */
- function find_album( $id ) {
- global $wpdb;
-
- if ( $album = wp_cache_get($id, 'ngg_album') )
- return $album;
-
- // Query database
- if ( is_numeric($id) && $id != 0 ) {
- $album = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggalbum WHERE id = %d", $id) );
- } elseif ( $id == 'all' || (is_numeric($id) && $id == 0) ) {
- // init the object and fill it
- $album = new stdClass();
- $album->id = 'all';
- $album->name = __('Album overview','nggallery');
- $album->albumdesc = __('Album overview','nggallery');
- $album->previewpic = 0;
- $album->sortorder = serialize( $wpdb->get_col("SELECT gid FROM $wpdb->nggallery") );
- } else {
- $album = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggalbum WHERE name = '%s'", $id) );
- }
-
- // Unserialize the galleries inside the album
- if ( $album ) {
- if ( !empty( $album->sortorder ) )
- $album->gallery_ids = unserialize( $album->sortorder );
-
- // it was a bad idea to use a object, stripslashes_deep() could not used here, learn from it
- $album->albumdesc = stripslashes($album->albumdesc);
- $album->name = stripslashes($album->name);
-
- wp_cache_add($id, $album, 'ngg_album');
- return $album;
- }
-
- return false;
- }
-
- /**
- * Delete an album
- *
- * @id The album ID
- */
- function delete_album( $id ) {
- global $wpdb;
-
- $result = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggalbum WHERE id = %d", $id) );
- wp_cache_delete($id, 'ngg_album');
-
- return $result;
- }
-
- /**
- * Insert an image in the database
- *
- * @return the ID of the inserted image
- */
- function insert_image($gid, $filename, $alttext, $desc, $exclude) {
- global $wpdb;
-
- $result = $wpdb->query(
- "INSERT INTO $wpdb->nggpictures (galleryid, filename, description, alttext, exclude) VALUES "
- . "('$gid', '$filename', '$desc', '$alttext', '$exclude');");
- $pid = (int) $wpdb->insert_id;
- wp_cache_delete($gid, 'ngg_gallery');
-
- return $pid;
- }
-
- /**
- * nggdb::update_image() - Update an image in the database
- *
- * @param int $pid id of the image
- * @param (optional) string|int $galleryid
- * @param (optional) string $filename
- * @param (optional) string $description
- * @param (optional) string $alttext
- * @param (optional) int $exclude (0 or 1)
- * @param (optional) int $sortorder
- * @return bool result of update query
- */
- function update_image($pid, $galleryid = false, $filename = false, $description = false, $alttext = false, $exclude = false, $sortorder = false) {
-
- global $wpdb;
-
- $sql = array();
- $pid = (int) $pid;
-
- // slug must be unique, we use the alttext for that
- $slug = nggdb::get_unique_slug( sanitize_title( $alttext ), 'image' );
-
- $update = array(
- 'image_slug' => $slug,
- 'galleryid' => $galleryid,
- 'filename' => $filename,
- 'description' => $description,
- 'alttext' => $alttext,
- 'exclude' => $exclude,
- 'sortorder' => $sortorder);
-
- // create the sql parameter "name = value"
- foreach ($update as $key => $value)
- if ($value)
- $sql[] = $key . " = '" . $value . "'";
-
- // create the final string
- $sql = implode(', ', $sql);
-
- if ( !empty($sql) && $pid != 0)
- $result = $wpdb->query( "UPDATE $wpdb->nggpictures SET $sql WHERE pid = $pid" );
-
- wp_cache_delete($pid, 'ngg_image');
-
- return $result;
- }
-
- /**
- * nggdb::update_gallery() - Update an gallery in the database
- *
- * @since V1.7.0
- * @param int $id id of the gallery
- * @param (optional) string $title or name of the gallery
- * @param (optional) string $path
- * @param (optional) string $description
- * @param (optional) int $pageid
- * @param (optional) int $previewpic
- * @param (optional) int $author
- * @return bool result of update query
- */
- function update_gallery($id, $name = false, $path = false, $title = false, $description = false, $pageid = false, $previewpic = false, $author = false) {
-
- global $wpdb;
-
- $sql = array();
- $id = (int) $id;
-
- // slug must be unique, we use the title for that
- $slug = nggdb::get_unique_slug( sanitize_title( $title ), 'gallery' );
-
- $update = array(
- 'name' => $name,
- 'slug' => $slug,
- 'path' => $path,
- 'title' => $title,
- 'galdesc' => $description,
- 'pageid' => $pageid,
- 'previewpic' => $previewpic,
- 'author' => $author);
-
- // create the sql parameter "name = value"
- foreach ($update as $key => $value)
- if ($value)
- $sql[] = $key . " = '" . $value . "'";
-
- // create the final string
- $sql = implode(', ', $sql);
-
- if ( !empty($sql) && $id != 0)
- $result = $wpdb->query( "UPDATE $wpdb->nggallery SET $sql WHERE gid = $id" );
-
- wp_cache_delete($id, 'ngg_gallery');
-
- return $result;
- }
-
- /**
- * nggdb::update_album() - Update an album in the database
- *
- * @since V1.7.0
- * @param int $ id id of the album
- * @param (optional) string $title
- * @param (optional) int $previewpic
- * @param (optional) string $description
- * @param (optional) serialized array $sortorder
- * @param (optional) int $pageid
- * @return bool result of update query
- */
- function update_album($id, $name = false, $previewpic = false, $description = false, $sortorder = false, $pageid = false ) {
-
- global $wpdb;
-
- $sql = array();
- $id = (int) $id;
-
- // slug must be unique, we use the title for that
- $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' );
-
- $update = array(
- 'name' => $name,
- 'slug' => $slug,
- 'previewpic' => $previewpic,
- 'albumdesc' => $description,
- 'sortorder' => $sortorder,
- 'pageid' => $pageid);
-
- // create the sql parameter "name = value"
- foreach ($update as $key => $value)
- if ($value)
- $sql[] = $key . " = '" . $value . "'";
-
- // create the final string
- $sql = implode(', ', $sql);
-
- if ( !empty($sql) && $id != 0)
- $result = $wpdb->query( "UPDATE $wpdb->nggalbum SET $sql WHERE id = $id" );
-
- wp_cache_delete($id, 'ngg_album');
-
- return $result;
- }
-
- /**
- * Get an image given its ID
- *
- * @param int $id The image ID
- * @return object A nggImage object representing the image (false if not found)
- */
- function find_image( $id ) {
- global $wpdb;
-
- if ( $image = wp_cache_get($id, 'ngg_image') )
- return $image;
-
- $result = $wpdb->get_row( $wpdb->prepare( "SELECT tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.pid = %d ", $id ) );
-
- // Build the object from the query result
- if ($result) {
- $image = new nggImage($result);
- return $image;
- }
-
- return false;
- }
-
- /**
- * Get images given a list of IDs
- *
- * @param $pids array of picture_ids
- * @return An array of nggImage objects representing the images
- */
- function find_images_in_list( $pids, $exclude = false, $order = 'ASC' ) {
- global $wpdb;
-
- $result = array();
-
- // Check for the exclude setting
- $exclude_clause = ($exclude) ? ' AND t.exclude <> 1 ' : '';
-
- // Check for the exclude setting
- $order_clause = ($order == 'RAND') ? 'ORDER BY rand() ' : ' ORDER BY t.pid ASC' ;
-
- if ( is_array($pids) ) {
- $id_list = "'" . implode("', '", $pids) . "'";
-
- // Save Query database
- $images = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpictures AS t INNER JOIN $wpdb->nggallery AS tt ON t.galleryid = tt.gid WHERE t.pid IN ($id_list) $exclude_clause $order_clause", OBJECT_K);
-
- // Build the image objects from the query result
- if ($images) {
- foreach ($images as $key => $image)
- $result[$key] = new nggImage( $image );
- }
- }
- return $result;
- }
-
- /**
- * Add an image to the database
- *
- * @since V1.4.0
- * @param int $pid id of the gallery
- * @param (optional) string|int $galleryid
- * @param (optional) string $filename
- * @param (optional) string $description
- * @param (optional) string $alttext
- * @param (optional) array $meta data
- * @param (optional) int $post_id (required for sync with WP media lib)
- * @param (optional) string $imagedate
- * @param (optional) int $exclude (0 or 1)
- * @param (optional) int $sortorder
- * @return bool result of the ID of the inserted image
- */
- function add_image( $id = false, $filename = false, $description = '', $alttext = '', $meta_data = false, $post_id = 0, $imagedate = '0000-00-00 00:00:00', $exclude = 0, $sortorder = 0 ) {
- global $wpdb;
-
- if ( is_array($meta_data) )
- $meta_data = serialize($meta_data);
-
- // slug must be unique, we use the alttext for that
- $slug = nggdb::get_unique_slug( sanitize_title( $alttext ), 'image' );
-
- // Add the image
- if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggpictures (image_slug, galleryid, filename, description, alttext, meta_data, post_id, imagedate, exclude, sortorder)
- VALUES (%s, %d, %s, %s, %s, %s, %d, %s, %d, %d)", $slug, $id, $filename, $description, $alttext, $meta_data, $post_id, $imagedate, $exclude, $sortorder ) ) ) {
- return false;
- }
-
- $imageID = (int) $wpdb->insert_id;
-
- // Remove from cache the galley, needs to be rebuild now
- wp_cache_delete( $id, 'ngg_gallery');
-
- //and give me the new id
- return $imageID;
- }
-
- /**
- * Add an album to the database
- *
- * @since V1.7.0
- * @param (optional) string $title
- * @param (optional) int $previewpic
- * @param (optional) string $description
- * @param (optional) serialized array $sortorder
- * @param (optional) int $pageid
- * @return bool result of the ID of the inserted album
- */
- function add_album( $name = false, $previewpic = 0, $description = '', $sortorder = 0, $pageid = 0 ) {
- global $wpdb;
-
- // name must be unique, we use the title for that
- $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' );
-
- // Add the album
- if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggalbum (name, slug, previewpic, albumdesc, sortorder, pageid)
- VALUES (%s, %s, %d, %s, %s, %d)", $name, $slug, $previewpic, $description, $sortorder, $pageid ) ) ) {
- return false;
- }
-
- $albumID = (int) $wpdb->insert_id;
-
- //and give me the new id
- return $albumID;
- }
-
- /**
- * Add an gallery to the database
- *
- * @since V1.7.0
- * @param (optional) string $title or name of the gallery
- * @param (optional) string $path
- * @param (optional) string $description
- * @param (optional) int $pageid
- * @param (optional) int $previewpic
- * @param (optional) int $author
- * @return bool result of the ID of the inserted gallery
- */
- function add_gallery( $title = '', $path = '', $description = '', $pageid = 0, $previewpic = 0, $author = 0 ) {
- global $wpdb;
-
- // slug must be unique, we use the title for that
- $slug = nggdb::get_unique_slug( sanitize_title( $title ), 'gallery' );
-
- // Note : The field 'name' is deprecated, it's currently kept only for compat reason with older shortcodes, we copy the slug into this field
- if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, slug, path, title, galdesc, pageid, previewpic, author)
- VALUES (%s, %s, %s, %s, %s, %d, %d, %d)", $slug, $slug, $path, $title, $description, $pageid, $previewpic, $author ) ) ) {
- return false;
- }
-
- $galleryID = (int) $wpdb->insert_id;
-
- //and give me the new id
- return $galleryID;
- }
-
- /**
- * Delete an image entry from the database
- * @param integer $id is the Image ID
- */
- function delete_image( $id ) {
- global $wpdb;
-
- // Delete the image
- $result = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggpictures WHERE pid = %d", $id) );
-
- // Delete tag references
- wp_delete_object_term_relationships( $id, 'ngg_tag');
-
- // Remove from cache
- wp_cache_delete( $id, 'ngg_image');
-
- return $result;
- }
-
- /**
- * Get the last images registered in the database with a maximum number of $limit results
- *
- * @param integer $page start offset as page number (0,1,2,3,4...)
- * @param integer $limit the number of result
- * @param bool $exclude do not show exluded images
- * @param int $galleryId Only look for images with this gallery id, or in all galleries if id is 0
- * @param string $orderby is one of "id" (default, order by pid), "date" (order by exif date), sort (order by user sort order)
- * @return
- */
- function find_last_images($page = 0, $limit = 30, $exclude = true, $galleryId = 0, $orderby = "id") {
- global $wpdb;
-
- // Check for the exclude setting
- $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : '';
-
- // a limit of 0 makes no sense
- $limit = ($limit == 0) ? 30 : $limit;
- // calculate the offset based on the pagr number
- $offset = (int) $page * $limit;
-
- $galleryId = (int) $galleryId;
- $gallery_clause = ($galleryId === 0) ? '' : ' AND galleryid = ' . $galleryId . ' ';
-
- // default order by pid
- $order = 'pid DESC';
- switch ($orderby) {
- case 'date':
- $order = 'imagedate DESC';
- break;
- case 'sort':
- $order = 'sortorder ASC';
- break;
- }
-
- $result = array();
- $gallery_cache = array();
-
- // Query database
- $images = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE 1=1 $exclude_clause $gallery_clause ORDER BY $order LIMIT $offset, $limit");
-
- // Build the object from the query result
- if ($images) {
- foreach ($images as $key => $image) {
-
- // cache a gallery , so we didn't need to lookup twice
- if (!array_key_exists($image->galleryid, $gallery_cache))
- $gallery_cache[$image->galleryid] = nggdb::find_gallery($image->galleryid);
-
- // Join gallery information with picture information
- foreach ($gallery_cache[$image->galleryid] as $index => $value)
- $image->$index = $value;
-
- // Now get the complete image data
- $result[$key] = new nggImage( $image );
- }
- }
-
- return $result;
- }
-
- /**
- * nggdb::get_random_images() - Get an random image from one ore more gally
- *
- * @param integer $number of images
- * @param integer $galleryID optional a Gallery
- * @return A nggImage object representing the image (null if not found)
- */
- function get_random_images($number = 1, $galleryID = 0) {
- global $wpdb;
-
- $number = (int) $number;
- $galleryID = (int) $galleryID;
- $images = array();
-
- // Query database
- if ($galleryID == 0)
- $result = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 ORDER by rand() limit $number");
- else
- $result = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = $galleryID AND tt.exclude != 1 ORDER by rand() limit {$number}");
-
- // Return the object from the query result
- if ($result) {
- foreach ($result as $image) {
- $images[] = new nggImage( $image );
- }
- return $images;
- }
-
- return null;
- }
-
- /**
- * Get all the images from a given album
- *
- * @param object|int $album The album object or the id
- * @param string $order_by
- * @param string $order_dir
- * @param bool $exclude
- * @return An array containing the nggImage objects representing the images in the album.
- */
- function find_images_in_album($album, $order_by = 'galleryid', $order_dir = 'ASC', $exclude = true) {
- global $wpdb;
-
- if ( !is_object($album) )
- $album = nggdb::find_album( $album );
-
- // Get gallery list
- $gallery_list = implode(',', $album->gallery_ids);
- // Check for the exclude setting
- $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : '';
-
- // Say no to any other value
- $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC';
- $order_by = ( empty($order_by) ) ? 'galleryid' : $order_by;
-
- $result = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.galleryid IN ($gallery_list) $exclude_clause ORDER BY tt.$order_by $order_dir");
- // Return the object from the query result
- if ($result) {
- foreach ($result as $image) {
- $images[] = new nggImage( $image );
- }
- return $images;
- }
-
- return null;
- }
-
- /**
- * search for images and return the result
- *
- * @since 1.3.0
- * @param string $request
- * @param int $limit number of results, 0 shows all results
- * @return Array Result of the request
- */
- function search_for_images( $request, $limit = 0 ) {
- global $wpdb;
-
- // If a search pattern is specified, load the posts that match
- if ( !empty($request) ) {
- // added slashes screw with quote grouping when done early, so done later
- $request = stripslashes($request);
-
- // split the words it a array if seperated by a space or comma
- preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
- $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
-
- $n = '%';
- $searchand = '';
- $search = '';
-
- foreach( (array) $search_terms as $term) {
- $term = addslashes_gpc($term);
- $search .= "{$searchand}((tt.description LIKE '{$n}{$term}{$n}') OR (tt.alttext LIKE '{$n}{$term}{$n}') OR (tt.filename LIKE '{$n}{$term}{$n}'))";
- $searchand = ' AND ';
- }
-
- $term = $wpdb->escape($request);
- if (count($search_terms) > 1 && $search_terms[0] != $request )
- $search .= " OR (tt.description LIKE '{$n}{$term}{$n}') OR (tt.alttext LIKE '{$n}{$term}{$n}') OR (tt.filename LIKE '{$n}{$term}{$n}')";
-
- if ( !empty($search) )
- $search = " AND ({$search}) ";
-
- $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
- } else
- return false;
-
- // build the final query
- $query = "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE 1=1 $search ORDER BY tt.pid ASC $limit";
- $result = $wpdb->get_results($query);
-
- // Return the object from the query result
- if ($result) {
- foreach ($result as $image) {
- $images[] = new nggImage( $image );
- }
- return $images;
- }
-
- return null;
- }
-
- /**
- * search for galleries and return the result
- *
- * @since 1.7.0
- * @param string $request
- * @param int $limit number of results, 0 shows all results
- * @return Array Result of the request
- */
- function search_for_galleries( $request, $limit = 0 ) {
- global $wpdb;
-
- // If a search pattern is specified, load the posts that match
- if ( !empty($request) ) {
- // added slashes screw with quote grouping when done early, so done later
- $request = stripslashes($request);
-
- // split the words it a array if seperated by a space or comma
- preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
- $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
-
- $n = '%';
- $searchand = '';
- $search = '';
-
- foreach( (array) $search_terms as $term) {
- $term = addslashes_gpc($term);
- $search .= "{$searchand}((title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}') )";
- $searchand = ' AND ';
- }
-
- $term = $wpdb->escape($request);
- if (count($search_terms) > 1 && $search_terms[0] != $request )
- $search .= " OR (title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}')";
-
- if ( !empty($search) )
- $search = " AND ({$search}) ";
-
- $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
- } else
- return false;
-
- // build the final query
- $query = "SELECT * FROM $wpdb->nggallery WHERE 1=1 $search ORDER BY title ASC $limit";
- $result = $wpdb->get_results($query);
-
- return $result;
- }
-
- /**
- * search for albums and return the result
- *
- * @since 1.7.0
- * @param string $request
- * @param int $limit number of results, 0 shows all results
- * @return Array Result of the request
- */
- function search_for_albums( $request, $limit = 0 ) {
- global $wpdb;
-
- // If a search pattern is specified, load the posts that match
- if ( !empty($request) ) {
- // added slashes screw with quote grouping when done early, so done later
- $request = stripslashes($request);
-
- // split the words it a array if seperated by a space or comma
- preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches);
- $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
-
- $n = '%';
- $searchand = '';
- $search = '';
-
- foreach( (array) $search_terms as $term) {
- $term = addslashes_gpc($term);
- $search .= "{$searchand}(name LIKE '{$n}{$term}{$n}')";
- $searchand = ' AND ';
- }
-
- $term = $wpdb->escape($request);
- if (count($search_terms) > 1 && $search_terms[0] != $request )
- $search .= " OR (name LIKE '{$n}{$term}{$n}')";
-
- if ( !empty($search) )
- $search = " AND ({$search}) ";
-
- $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
- } else
- return false;
-
- // build the final query
- $query = "SELECT * FROM $wpdb->nggalbum WHERE 1=1 $search ORDER BY name ASC $limit";
- $result = $wpdb->get_results($query);
-
- return $result;
- }
-
- /**
- * search for a filename
- *
- * @since 1.4.0
- * @param string $filename
- * @param int (optional) $galleryID
- * @return Array Result of the request
- */
- function search_for_file( $filename, $galleryID = false ) {
- global $wpdb;
-
- // If a search pattern is specified, load the posts that match
- if ( !empty($filename) ) {
- // added slashes screw with quote grouping when done early, so done later
- $term = $wpdb->escape($filename);
-
- $where_clause = '';
- if ( is_numeric($galleryID) ) {
- $id = (int) $galleryID;
- $where_clause = " AND tt.galleryid = {$id}";
- }
- }
-
- // build the final query
- $query = "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.filename = '{$term}' {$where_clause} ORDER BY tt.pid ASC ";
- $result = $wpdb->get_row($query);
-
- // Return the object from the query result
- if ($result) {
- $image = new nggImage( $result );
- return $image;
- }
-
- return null;
- }
-
-
- /**
- * Update or add meta data for an image
- *
- * @since 1.4.0
- * @param int $id The image ID
- * @param array $values An array with existing or new values
- * @return bool result of query
- */
- function update_image_meta( $id, $new_values ) {
- global $wpdb;
-
- // Query database for existing values
- // Use cache object
- $old_values = $wpdb->get_var( $wpdb->prepare( "SELECT meta_data FROM $wpdb->nggpictures WHERE pid = %d ", $id ) );
- $old_values = unserialize( $old_values );
-
- $meta = array_merge( (array)$old_values, (array)$new_values );
-
- $result = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->nggpictures SET meta_data = %s WHERE pid = %d", serialize($meta), $id) );
-
- wp_cache_delete($id, 'ngg_image');
-
- return $result;
- }
-
- /**
- * Computes a unique slug for the gallery,album or image, when given the desired slug.
- *
- * @since 1.7.0
- * @author taken from WP Core includes/post.php
- * @param string $slug the desired slug (post_name)
- * @param string $type ('image', 'album' or 'gallery')
- * @return string unique slug for the object, based on $slug (with a -1, -2, etc. suffix)
- */
- function get_unique_slug( $slug, $type ) {
-
- global $wpdb;
-
- switch ($type) {
- case 'image':
- $check_sql = "SELECT image_slug FROM $wpdb->nggpictures WHERE image_slug = %s LIMIT 1";
- break;
- case 'album':
- $check_sql = "SELECT slug FROM $wpdb->nggalbum WHERE slug = %s LIMIT 1";
- break;
- case 'gallery':
- $check_sql = "SELECT slug FROM $wpdb->nggallery WHERE slug = %s LIMIT 1";
- break;
- default:
- return false;
- }
-
- //if you didn't give us a nem we take the type
- $slug = empty($slug) ? $type: $slug;
-
- // Slugs must be unique across all objects.
- $slug_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug ) );
-
- if ( $slug_check ) {
- $suffix = 2;
- do {
- $alt_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
- $slug_check = $wpdb->get_var( $wpdb->prepare($check_sql, $alt_name ) );
- $suffix++;
- } while ( $slug_check );
- $slug = $alt_name;
- }
-
- return $slug;
- }
-
-}
-endif;
-
-if ( ! isset($GLOBALS['nggdb']) ) {
- /**
- * Initate the NextGEN Gallery Database Object, for later cache reasons
- * @global object $nggdb Creates a new nggdb object
- * @since 1.1.0
- */
- unset($GLOBALS['nggdb']);
- $GLOBALS['nggdb'] = new nggdb() ;
-}
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/post-thumbnail.php b/src/wp-content/plugins/nextgen-gallery/lib/post-thumbnail.php
deleted file mode 100644
index 2203771..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/post-thumbnail.php
+++ /dev/null
@@ -1,215 +0,0 @@
-__construct();
- }
-
- /**
- * Main constructor - Add filter and action hooks
- *
- */
- function __construct() {
-
- add_filter( 'admin_post_thumbnail_html', array( &$this, 'admin_post_thumbnail') );
- add_action( 'wp_ajax_ngg_set_post_thumbnail', array( &$this, 'ajax_set_post_thumbnail') );
- // Adding filter for the new post_thumbnail
- add_filter( 'post_thumbnail_html', array( &$this, 'ngg_post_thumbnail'), 10, 5 );
- return;
- }
-
- /**
- * Filter for the post meta box. look for a NGG image if the ID is "ngg-"
- *
- * @param string $content
- * @return string html output
- */
- function admin_post_thumbnail( $content ) {
- global $post;
-
- if ( !is_object($post) )
- return $content;
-
- $thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );
-
- // in the case it's a ngg image it return ngg-
- if ( strpos($thumbnail_id, 'ngg-') === false)
- return $content;
-
- // cut off the 'ngg-'
- $thumbnail_id = substr( $thumbnail_id, 4);
-
- return $this->_wp_post_thumbnail_html( $thumbnail_id );
- }
-
- /**
- * Filter for the post content
- *
- * @param string $html
- * @param int $post_id
- * @param int $post_thumbnail_id
- * @param string|array $size Optional. Image size. Defaults to 'thumbnail'.
- * @param string|array $attr Optional. Query string or array of attributes.
- * @return string html output
- */
- function ngg_post_thumbnail( $html, $post_id, $post_thumbnail_id, $size = 'post-thumbnail', $attr = '' ) {
-
- global $post, $_wp_additional_image_sizes;
-
- // in the case it's a ngg image it return ngg-
- if ( strpos($post_thumbnail_id, 'ngg-') === false)
- return $html;
-
- // cut off the 'ngg-'
- $post_thumbnail_id = substr( $post_thumbnail_id, 4);
-
- // get the options
- $ngg_options = nggGallery::get_option('ngg_options');
-
- // get the image data
- $image = nggdb::find_image($post_thumbnail_id);
-
- if (!$image)
- return $html;
-
- $img_src = false;
-
- $class = 'wp-post-image ngg-image-' . $image->pid . ' ';
-
- // look up for the post thumbnial size and use them if defined
- if ($size == 'post-thumbnail') {
- if ( is_array($_wp_additional_image_sizes) && isset($_wp_additional_image_sizes['post-thumbnail']) ) {
- $size = array();
- $size[0] = $_wp_additional_image_sizes['post-thumbnail']['width'];
- $size[1] = $_wp_additional_image_sizes['post-thumbnail']['height'];
- $size[2] = 'crop';
- }
- }
-
- if ( is_array($size) )
- $class .= isset($attr['class']) ? esc_attr($attr['class']) : '';
-
- // render a new image or show the thumbnail if we didn't get size parameters
- if ( is_array($size) ) {
-
- $width = absint( $size[0] );
- $height = absint( $size[1] );
- $mode = isset($size[2]) ? $size[2] : '';
-
- // check fo cached picture
- if ( ($ngg_options['imgCacheSinglePic']) && ($post->post_status == 'publish') )
- $img_src = $image->cached_singlepic_file( $width, $height, $mode );
-
- // if we didn't use a cached image then we take the on-the-fly mode
- if ($img_src == false)
- $img_src = home_url() . '/' . 'index.php?callback=image&pid=' . $image->pid . '&width=' . $width . '&height=' . $height . '&mode=crop';
-
- } else {
- $img_src = $image->thumbURL;
- }
-
- $html = '';
-
- return $html;
- }
-
- /**
- * nggPostThumbnail::ajax_set_post_thumbnail()
- *
- * @return void
- */
- function ajax_set_post_thumbnail() {
-
- global $post_ID;
-
- // check for correct capability
- if ( !is_user_logged_in() )
- die( '-1' );
-
- // get the post id as global variable, otherwise the ajax_nonce failed later
- $post_ID = intval( $_POST['post_id'] );
-
- if ( !current_user_can( 'edit_post', $post_ID ) )
- die( '-1' );
-
- $thumbnail_id = intval( $_POST['thumbnail_id'] );
-
- // delete the image
- if ( $thumbnail_id == '-1' ) {
- delete_post_meta( $post_ID, '_thumbnail_id' );
- die( $this->_wp_post_thumbnail_html() );
- }
-
- // for NGG we look for the image id
- if ( $thumbnail_id && nggdb::find_image($thumbnail_id) ) {
- // to know that we have a NGG image we add "ngg-" before the id
- update_post_meta( $post_ID, '_thumbnail_id', 'ngg-' . $thumbnail_id );
- die( $this->_wp_post_thumbnail_html( $thumbnail_id ) );
- }
- die( '0' );
- }
-
- /**
- * Output HTML for the post thumbnail meta-box.
- *
- * @see wp-admin\includes\post.php
- * @param int $thumbnail_id ID of the image used for thumbnail
- * @return string html output
- */
- function _wp_post_thumbnail_html( $thumbnail_id = NULL ) {
-
- global $_wp_additional_image_sizes, $post_ID;
-
- $set_thumbnail_link = '
)*@i";
- if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) {
-
- foreach ($matches as $match) {
- $replace = "[nggtags album=\"{$match[1]}\"]";
- $content = str_replace ($match[0], $replace, $content);
- }
- }
- }
-
- // attach related images based on category or tags
- if ($ngg_options['activateTags'])
- $content .= nggShowRelatedImages();
-
- return $content;
- }
-
- /**
- * Function to show a single picture:
- *
- * [singlepic id="10" float="none|left|right" width="" height="" mode="none|watermark|web20" link="url" "template="filename" /]
- *
- * where
- * - id is one picture id
- * - float is the CSS float property to apply to the thumbnail
- * - width is width of the single picture you want to show (original width if this parameter is missing)
- * - height is height of the single picture you want to show (original height if this parameter is missing)
- * - mode is one of none, watermark or web20 (transformation applied to the picture)
- * - link is optional and could link to a other url instead the full image
- * - template is a name for a gallery template, which is located in themefolder/nggallery or plugins/nextgen-gallery/view
- *
- * If the tag contains some text, this will be inserted as an additional caption to the picture too. Example:
- * [singlepic id="10"]This is an additional caption[/singlepic]
- * This tag will show a picture with under it two HTML span elements containing respectively the alttext of the picture
- * and the additional caption specified in the tag.
- *
- * @param array $atts
- * @param string $caption text
- * @return the content
- */
- function show_singlepic( $atts, $content = '' ) {
-
- extract(shortcode_atts(array(
- 'id' => 0,
- 'w' => '',
- 'h' => '',
- 'mode' => '',
- 'float' => '',
- 'link' => '',
- 'template' => ''
- ), $atts ));
-
- $out = nggSinglePicture($id, $w, $h, $mode, $float, $template, $content, $link);
-
- return $out;
- }
-
- function show_album( $atts ) {
-
- extract(shortcode_atts(array(
- 'id' => 0,
- 'template' => 'extend'
- ), $atts ));
-
- $out = nggShowAlbum($id, $template);
-
- return $out;
- }
- /**
- * Function to show a thumbnail or a set of thumbnails with shortcode of type:
- *
- * [gallery id="1,2,4,5,..." template="filename" images="number of images per page" /]
- * where
- * - id of a gallery
- * - images is the number of images per page (optional), 0 will show all images
- * - template is a name for a gallery template, which is located in themefolder/nggallery or plugins/nextgen-gallery/view
- *
- * @param array $atts
- * @return the_content
- */
- function show_gallery( $atts ) {
-
- global $wpdb;
-
- extract(shortcode_atts(array(
- 'id' => 0,
- 'template' => '',
- 'images' => false
- ), $atts ));
-
- // backward compat for user which uses the name instead, still deprecated
- if( !is_numeric($id) )
- $id = $wpdb->get_var( $wpdb->prepare ("SELECT gid FROM $wpdb->nggallery WHERE name = '%s' ", $id) );
-
- $out = nggShowGallery( $id, $template, $images );
-
- return $out;
- }
-
- function show_imagebrowser( $atts ) {
-
- global $wpdb;
-
- extract(shortcode_atts(array(
- 'id' => 0,
- 'template' => ''
- ), $atts ));
-
- $out = nggShowImageBrowser($id, $template);
-
- return $out;
- }
-
- function show_slideshow( $atts ) {
-
- global $wpdb;
-
- extract(shortcode_atts(array(
- 'id' => 0,
- 'w' => '',
- 'h' => ''
- ), $atts ));
-
- if( !is_numeric($id) )
- $id = $wpdb->get_var( $wpdb->prepare ("SELECT gid FROM $wpdb->nggallery WHERE name = '%s' ", $id) );
-
- if( !empty( $id ) )
- $out = nggShowSlideshow($id, $w, $h);
- else
- $out = __('[Gallery not found]','nggallery');
-
- return $out;
- }
-
- function show_tags( $atts ) {
-
- extract(shortcode_atts(array(
- 'gallery' => '',
- 'album' => ''
- ), $atts ));
-
- if ( !empty($album) )
- $out = nggShowAlbumTags($album);
- else
- $out = nggShowGalleryTags($gallery);
-
- return $out;
- }
-
- /**
- * Function to show a thumbnail or a set of thumbnails with shortcode of type:
- *
- * [thumb id="1,2,4,5,..." template="filename" /]
- * where
- * - id is one or more picture ids
- * - template is a name for a gallery template, which is located in themefolder/nggallery or plugins/nextgen-gallery/view
- *
- * @param array $atts
- * @return the_content
- */
- function show_thumbs( $atts ) {
-
- extract(shortcode_atts(array(
- 'id' => '',
- 'template' => ''
- ), $atts));
-
- // make an array out of the ids
- $pids = explode( ',', $id );
-
- // Some error checks
- if ( count($pids) == 0 )
- return __('[Pictures not found]','nggallery');
-
- $picturelist = nggdb::find_images_in_list( $pids );
-
- // show gallery
- if ( is_array($picturelist) )
- $out = nggCreateGallery($picturelist, false, $template);
-
- return $out;
- }
-
- /**
- * Function to show a gallery of random or the most recent images with shortcode of type:
- *
- * [random max="7" template="filename" id="2" /]
- * [recent max="7" template="filename" id="3" mode="date" /]
- * where
- * - max is the maximum number of random or recent images to show
- * - template is a name for a gallery template, which is located in themefolder/nggallery or plugins/nextgen-gallery/view
- * - id is the gallery id, if the recent/random pictures shall be taken from a specific gallery only
- * - mode is either "id" (which takes the latest additions to the databse, default)
- * or "date" (which takes the latest pictures by EXIF date)
- * or "sort" (which takes the pictures by user sort order)
- *
- * @param array $atts
- * @return the_content
- */
- function show_random( $atts ) {
-
- extract(shortcode_atts(array(
- 'max' => '',
- 'template' => '',
- 'id' => 0
- ), $atts));
-
- $out = nggShowRandomRecent('random', $max, $template, $id);
-
- return $out;
- }
-
- function show_recent( $atts ) {
-
- extract(shortcode_atts(array(
- 'max' => '',
- 'template' => '',
- 'id' => 0,
- 'mode' => 'id'
- ), $atts));
-
- $out = nggShowRandomRecent($mode, $max, $template, $id);
-
- return $out;
- }
-
- /**
- * Shortcode for the Image tag cloud
- * Usage : [tagcloud template="filename" /]
- *
- * @param array $atts
- * @return the content
- */
- function show_tagcloud( $atts ) {
-
- extract(shortcode_atts(array(
- 'template' => ''
- ), $atts));
-
- $out = nggTagCloud( '', $template );
-
- return $out;
- }
-
-}
-
-// let's use it
-$nggShortcodes = new NextGEN_Shortcodes;
-
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/swfobject.php b/src/wp-content/plugins/nextgen-gallery/lib/swfobject.php
deleted file mode 100644
index 0b6ce7c..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/swfobject.php
+++ /dev/null
@@ -1,197 +0,0 @@
-Flash Player and a browser with Javascript support are needed..';
- /**
- * the classname for the div element
- *
- * @var string
- */
- var $classname = 'swfobject';
- /**
- * array of flashvars
- *
- * @var array
- */
- var $flashvars;
- /**
- * array of nested object element params
- *
- * @var array
- */
- var $params;
- /**
- * array of object's attributest
- *
- * @var array
- */
- var $attributes;
-
- /**
- * swfobject::swfobject()
- *
- * @param string $swfUrl (required) specifies the URL of your SWF
- * @param string $id (required) specifies the id of the HTML element (containing your alternative content) you would like to have replaced by your Flash content
- * @param string $width (required) specifies the width of your SWF
- * @param string $height (required) specifies the height of your SWF
- * @param string $version (required) specifies the Flash player version your SWF is published for (format is: "major.minor.release")
- * @param string $expressInstallSwfurl (optional) specifies the URL of your express install SWF and activates Adobe express install
- * @param array $flashvars (optional) specifies your flashvars with name:value pairs
- * @param array $params (optional) specifies your nested object element params with name:value pair
- * @param array $attributes (optional) specifies your object's attributes with name:value pairs
- * @return string the content
- */
- function swfobject( $swfUrl, $id, $width, $height, $version, $expressInstallSwfurl = false, $flashvars = false, $params = false, $attributes = false ) {
-
- global $swfCounter;
-
- // look for a other swfobject instance
- if ( !isset($swfCounter) )
- $swfCounter = 1;
-
- $this->id = $id . '_' . $swfCounter;
- $this->width = $width;
- $this->height = $height;
-
- $this->flashvars = ( is_array($flashvars) ) ? $flashvars : array();
- $this->params = ( is_array($params) ) ? $params : array();
- $this->attributes = ( is_array($attributes) ) ? $attributes : array();
-
- $this->embedSWF = 'swfobject.embedSWF("'. $swfUrl .'", "'. $this->id .'", "'. $width .'", "'. $height .'", "'. $version .'", '. $expressInstallSwfurl .', this.flashvars, this.params , this.attr );' . "\n";
- }
-
- function output () {
-
- global $swfCounter;
-
- // count up if we have more than one swfobject
- $swfCounter++;
-
- $out = "\n" . '
';
-
- return $out;
- }
-
- function javascript () {
-
- //Build javascript
- $this->js = "\nvar " . $this->id . " = {\n";
- $this->js .= $this->add_js_parameters('params', $this->params) . ",\n";
- $this->js .= $this->add_js_parameters('flashvars', $this->flashvars) . ",\n";
- $this->js .= $this->add_js_parameters('attr', $this->attributes) . ",\n";
- $this->js .= "\tstart : function() {" . "\n\t\t";
- $this->js .= $this->embedSWF;
- $this->js .= "\t}\n}\n";
- $this->js .= $this->id . '.start();';
-
- return $this->js;
- }
-
- function add_flashvars ( $key, $value, $default = '', $type = '', $prefix = '' ) {
-
- if ( is_bool( $value ) )
- $value = ( $value ) ? 'true' : 'false';
- elseif ( $type == 'bool' )
- $value = ( $value == '1' ) ? 'true' : 'false';
-
- // do not add the variable if we hit the default setting
- if ( $value == $default )
- return;
-
- $this->flashvars[$key] = $prefix . $value;
- return;
- }
-
- function add_params ( $key, $value, $default = '', $type = '', $prefix = '' ) {
-
- if ( is_bool( $value ) )
- $value = ( $value ) ? 'true' : 'false';
- elseif ( $type == 'bool' )
- $value = ( $value == '1' ) ? 'true' : 'false';
-
- // do not add the variable if we hit the default setting
- if ( $value == $default )
- return;
-
- $this->params[$key] = $prefix . $value;
- return;
- }
-
- function add_attributes ( $key, $value, $default = '', $type = '', $prefix = '' ) {
-
- if ( is_bool( $value ) )
- $value = ( $value ) ? 'true' : 'false';
- elseif ( $type == 'bool' )
- $value = ( $value == '1' ) ? 'true' : 'false';
-
- // do not add the variable if we hit the default setting
- if ( $value == $default )
- return;
-
- $this->attributes[$key] = $prefix . $value;
- return;
- }
-
- function add_js_parameters( $name, $params ) {
- $list = '';
- if ( is_array($params) ) {
- foreach ($params as $key => $value) {
- if ( !empty($list) )
- $list .= ",";
- if (false === strrpos($key, '.') )
- $list .= "\n\t\t" . $key . ' : ' . '"' . $value .'"';
- else
- $list .= "\n\t\t'" . $key . '\' : ' . '"' . $value .'"';
- }
- }
- $js = "\t" . $name . ' : {' . $list . '}';
- return $js;
- }
-
-}
-endif;
-
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/tags.php b/src/wp-content/plugins/nextgen-gallery/lib/tags.php
deleted file mode 100644
index ffb548a..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/tags.php
+++ /dev/null
@@ -1,380 +0,0 @@
- 'ok',
- 'message' => ''
- );
-
- if ( trim( str_replace(',', '', stripslashes($new)) ) == '' ) {
- $return_value['message'] = __('No new tag specified!', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- }
-
- // String to array
- $old_tags = explode(',', $old);
- $new_tags = explode(',', $new);
-
- // Remove empty element and trim
- $old_tags = array_filter($old_tags, 'nggtags_delete_empty_element');
- $new_tags = array_filter($new_tags, 'nggtags_delete_empty_element');
-
- // If old/new tag are empty => exit !
- if ( empty($old_tags) || empty($new_tags) ) {
- $return_value['message'] = __('No new/old valid tag specified!', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- }
-
- $counter = 0;
- if( count($old_tags) == count($new_tags) ) { // Rename only
- foreach ( (array) $old_tags as $i => $old_tag ) {
- $new_name = $new_tags[$i];
-
- // Get term by name
- $term = get_term_by('name', $old_tag, 'ngg_tag');
- if ( !$term ) {
- continue;
- }
-
- // Get objects from term ID
- $objects_id = get_objects_in_term( $term->term_id, 'ngg_tag', array('fields' => 'all_with_object_id'));
-
- // Delete old term
- wp_delete_term( $term->term_id, 'ngg_tag' );
-
- // Set objects to new term ! (Append no replace)
- foreach ( (array) $objects_id as $object_id ) {
- wp_set_object_terms( $object_id, $new_name, 'ngg_tag', true );
- }
-
- // Clean cache
- clean_object_term_cache( $objects_id, 'ngg_tag');
- clean_term_cache($term->term_id, 'ngg_tag');
-
- // Increment
- $counter++;
- }
-
- if ( $counter == 0 ) {
- $return_value['message'] = __('No tag renamed.', 'nggallery');
- } else {
- $return_value['message'] = sprintf(__('Renamed tag(s) «%1$s» to «%2$s»', 'nggallery'), $old, $new);
- }
- }
- elseif ( count($new_tags) == 1 ) { // Merge
- // Set new tag
- $new_tag = $new_tags[0];
- if ( empty($new_tag) ) {
- $return_value['message'] = __('No valid new tag.', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- }
-
- // Get terms ID from old terms names
- $terms_id = array();
- foreach ( (array) $old_tags as $old_tag ) {
- $term = get_term_by('name', addslashes($old_tag), 'ngg_tag');
- $terms_id[] = (int) $term->term_id;
- }
-
- // Get objects from terms ID
- $objects_id = get_objects_in_term( $terms_id, 'ngg_tag', array('fields' => 'all_with_object_id'));
-
- // No objects ? exit !
- if ( !$objects_id ) {
- $return_value['message'] = __('No objects (post/page) found for specified old tags.', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- }
-
- // Delete old terms
- foreach ( (array) $terms_id as $term_id ) {
- wp_delete_term( $term_id, 'ngg_tag' );
- }
-
- // Set objects to new term ! (Append no replace)
- foreach ( (array) $objects_id as $object_id ) {
- wp_set_object_terms( $object_id, $new_tag, 'ngg_tag', true );
- $counter++;
- }
-
- // Test if term is also a category
- if ( is_term($new_tag, 'category') ) {
- // Edit the slug to use the new term
- $slug = sanitize_title($new_tag);
- nggTags::edit_tag_slug( $new_tag, $slug );
- unset($slug);
- }
-
- // Clean cache
- clean_object_term_cache( $objects_id, 'ngg_tag');
- clean_term_cache($terms_id, 'ngg_tag');
-
- if ( $counter == 0 ) {
- $return_value['message'] = __('No tag merged.', 'nggallery');
- } else {
- $return_value['message'] = sprintf(__('Merge tag(s) «%1$s» to «%2$s». %3$s objects edited.', 'nggallery'), $old, $new, $counter);
- }
- } else { // Error
- $return_value['message'] = sprintf(__('Error. No enough tags for rename. Too for merge. Choose !', 'nggallery'), $old);
- $return_value['status'] = 'error';
- }
-
- return $return_value;
- }
-
- /**
- * Delete tags
- */
- function delete_tags($delete) {
- $return_value = array(
- 'status' => 'ok',
- 'message' => ''
- );
-
- if ( trim( str_replace(',', '', stripslashes($delete)) ) == '' ) {
- $return_value['message'] = __('No tag specified!', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- }
-
- // In array + filter
- $delete_tags = explode(',', $delete);
- $delete_tags = array_filter($delete_tags, 'nggtags_delete_empty_element');
-
- // Delete tags
- $counter = 0;
- foreach ( (array) $delete_tags as $tag ) {
- $term = get_term_by('name', $tag, 'ngg_tag');
- $term_id = (int) $term->term_id;
-
- if ( $term_id != 0 ) {
- wp_delete_term( $term_id, 'ngg_tag');
- clean_term_cache( $term_id, 'ngg_tag');
- $counter++;
- }
- }
-
- if ( $counter == 0 ) {
- $return_value['message'] = __('No tag deleted.', 'nggallery');
- } else {
- $return_value['message'] = sprintf(__('%1s tag(s) deleted.', 'nggallery'), $counter);
- }
- }
-
- /**
- * Edit tag slug given the name of the tag
- */
- function edit_tag_slug( $names = '', $slugs = '' ) {
- $return_value = array(
- 'status' => 'ok',
- 'message' => ''
- );
-
- if ( trim( str_replace(',', '', stripslashes($slugs)) ) == '' ) {
- $return_value['message'] = __('No new slug(s) specified!', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- }
-
- $match_names = explode(',', $names);
- $new_slugs = explode(',', $slugs);
-
- $match_names = array_filter($match_names, 'nggtags_delete_empty_element');
- $new_slugs = array_filter($new_slugs, 'nggtags_delete_empty_element');
-
- if ( count($match_names) != count($new_slugs) ) {
- $return_value['message'] = __('Tags number and slugs number isn\'t the same!', 'nggallery');
- $return_value['status'] = 'error';
- return $return_value;
- } else {
- $counter = 0;
- foreach ( (array) $match_names as $i => $match_name ) {
- // Sanitize slug + Escape
- $new_slug = sanitize_title($new_slugs[$i]);
-
- // Get term by name
- $term = get_term_by('name', $match_name, 'ngg_tag');
- if ( !$term ) {
- continue;
- }
-
- // Increment
- $counter++;
-
- // Update term
- wp_update_term($term->term_id, 'ngg_tag', array('slug' => $new_slug));
-
- // Clean cache
- clean_term_cache($term->term_id, 'ngg_tag');
- }
- }
-
- if ( $counter == 0 ) {
- $return_value['message'] = __('No slug edited.', 'nggallery');
- } else {
- $return_value['message'] = sprintf(__('%s slug(s) edited.', 'nggallery'), $counter);
- }
-
- return $return_value;
- }
-
- /**
- * Get a list of the tags used by the images
- */
- function find_all_tags() {
- return get_terms('ngg_tag', '');
- }
-
- /**
- *
- */
- function find_tags( $args = '', $skip_cache = false ) {
- $taxonomy = 'ngg_tag';
-
- if ( $skip_cache == true ) {
- $terms = get_terms( $taxonomy, $args );
- } else {
- $key = md5(serialize($args));
-
- // Get cache if exist
- //--
- if ( $cache = wp_cache_get( 'ngg_get_tags', 'nggallery' ) ) {
- if ( isset( $cache[$key] ) ) {
- return apply_filters('get_tags', $cache[$key], $args);
- }
- }
-
- // Get tags
- //--
- $terms = get_terms( $taxonomy, $args );
- if ( empty($terms) ) {
- return array();
- }
-
- $cache[$key] = $terms;
- wp_cache_set( 'ngg_get_tags', $cache, 'nggallery' );
- }
-
- $terms = apply_filters('get_tags', $terms, $args);
- return $terms;
- }
-
- /**
- * Get images corresponding to a list of tags
- */
- /**
- * nggTags::find_images_for_tags()
- *
- * @param mixed $taglist
- * @param string $mode could be 'ASC' or 'RAND'
- * @return array of images
- */
- function find_images_for_tags($taglist, $mode = "ASC") {
- // return the images based on the tag
- global $wpdb;
-
- // extract it into a array
- $taglist = explode(",", $taglist);
-
- if ( !is_array($taglist) )
- $taglist = array($taglist);
-
- $taglist = array_map('trim', $taglist);
- $new_slugarray = array_map('sanitize_title', $taglist);
- $sluglist = "'" . implode("', '", $new_slugarray) . "'";
-
- // first get all $term_ids with this tag
- $term_ids = $wpdb->get_col( $wpdb->prepare("SELECT term_id FROM $wpdb->terms WHERE slug IN ($sluglist) ORDER BY term_id ASC "));
- $picids = get_objects_in_term($term_ids, 'ngg_tag');
-
- //Now lookup in the database
- if ($mode == 'RAND')
- $pictures = nggdb::find_images_in_list($picids, true, 'RAND' );
- else
- $pictures = nggdb::find_images_in_list($picids, true, 'ASC');
-
- return $pictures;
- }
-
- /**
- * Return one image based on the tag. Required for a tag based album overview
- */
- function get_album_images($taglist) {
- global $wpdb;
-
- $taxonomy = 'ngg_tag';
-
- // extract it into a array
- $taglist = explode(',', $taglist);
-
- if (!is_array($taglist)) {
- $taglist = array($taglist);
- }
-
- $taglist = array_map('trim', $taglist);
- $slugarray = array_map('sanitize_title', $taglist);
- $slugarray = array_unique($slugarray);
-
- $picarray = array();
-
- foreach($slugarray as $slug) {
- // get random picture of tag
- $tsql = "SELECT p.*, g.*, t.*, tt.* FROM $wpdb->term_relationships AS tr";
- $tsql .= " INNER JOIN $wpdb->nggpictures AS p ON (tr.object_id = p.pid)";
- $tsql .= " INNER JOIN $wpdb->nggallery AS g ON (g.gid = p.galleryid)";
- $tsql .= " INNER JOIN $wpdb->term_taxonomy AS tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)";
- $tsql .= " INNER JOIN $wpdb->terms AS t ON (tt.term_id = t.term_id)";
- $tsql .= " WHERE tt.taxonomy = '$taxonomy' AND t.slug = '$slug' ORDER BY rand() limit 1 ";
- $pic_data = $wpdb->get_row($tsql, OBJECT);
-
- if ($pic_data) $picarray[] = $pic_data;
- }
-
- return $picarray;
- }
-}
-
-/**
- * trim and remove empty element
- *
- * @param string $element
- * @return string
- */
-if (!function_exists('nggtags_delete_empty_element')) {
- function nggtags_delete_empty_element( &$element ) {
- $element = stripslashes($element);
- $element = trim($element);
- if ( !empty($element) ) {
- return $element;
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/lib/xmlrpc.php b/src/wp-content/plugins/nextgen-gallery/lib/xmlrpc.php
deleted file mode 100644
index da1681a..0000000
--- a/src/wp-content/plugins/nextgen-gallery/lib/xmlrpc.php
+++ /dev/null
@@ -1,734 +0,0 @@
- $ngg->version );
- }
-
- /**
- * Log user in.
- *
- * @since 2.8
- *
- * @param string $username User's username.
- * @param string $password User's password.
- * @return mixed WP_User object if authentication passed, false otherwise
- */
- function login($username, $password) {
- if ( !get_option( 'enable_xmlrpc' ) ) {
- $this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this blog. An admin user can enable them at %s'), admin_url('options-writing.php') ) );
- return false;
- }
-
- $user = wp_authenticate($username, $password);
-
- if (is_wp_error($user)) {
- $this->error = new IXR_Error(403, __('Bad login/pass combination.'));
- return false;
- }
-
- set_current_user( $user->ID );
- return $user;
- }
-
- /**
- * Method "ngg.uploadImage"
- * Uploads a image to a gallery
- *
- * @since 1.4
- *
- * @copyright addapted from WP Core
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - struct data
- * o string name
- * o string type (optional)
- * o base64 bits
- * o bool overwrite (optional)
- * o int gallery
- * o int image_id (optional)
- * @return array with image meta data
- */
- function uploadImage($args) {
- global $wpdb;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
- require_once ( 'meta.php' ); // meta data import
-
- $blog_ID = (int) $args[0];
- $username = $wpdb->escape($args[1]);
- $password = $wpdb->escape($args[2]);
- $data = $args[3];
-
- $name = $data['name'];
- $type = $data['type'];
- $bits = $data['bits'];
-
- // gallery & image id
- $gid = (int) $data['gallery']; // required field
- $pid = (int) $data['image_id']; // optional but more foolproof of overwrite
- $image = false; // container for the image object
-
- logIO('O', '(NGG) Received '.strlen($bits).' bytes');
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- // Check if you have the correct capability for upload
- if ( !current_user_can('NextGEN Upload images') ) {
- logIO('O', '(NGG) User does not have upload_files capability');
- $this->error = new IXR_Error(401, __('You are not allowed to upload files to this site.'));
- return $this->error;
- }
-
- // Look for the gallery , could we find it ?
- if ( !$gallery = nggdb::find_gallery($gid) )
- return new IXR_Error(404, __('Could not find gallery ' . $gid ));
-
- // Now check if you have the correct capability for this gallery
- if ( !nggAdmin::can_manage_this_gallery($gallery->author) ) {
- logIO('O', '(NGG) User does not have upload_files capability');
- $this->error = new IXR_Error(401, __('You are not allowed to upload files to this gallery.'));
- return $this->error;
- }
-
- //clean filename and extract extension
- $filepart = nggGallery::fileinfo( $name );
- $name = $filepart['basename'];
-
- // check for allowed extension and if it's an image file
- $ext = array('jpg', 'png', 'gif');
- if ( !in_array($filepart['extension'], $ext) ){
- logIO('O', '(NGG) Not allowed file type');
- $this->error = new IXR_Error(401, __('This is no valid image file.','nggallery'));
- return $this->error;
- }
-
- // in the case you would overwrite the image, let's delete the old one first
- if(!empty($data["overwrite"]) && ($data["overwrite"] == true)) {
-
- // search for the image based on the filename, if it's not already provided
- if ($pid == 0)
- $pid = $wpdb->get_col(" SELECT pid FROM {$wpdb->nggpictures} WHERE filename = '{$name}' AND galleryid = '{$gid}' ");
-
- if ( !$image = nggdb::find_image( $pid ) )
- return new IXR_Error(404, __('Could not find image id ' . $pid ));
-
- // sync the gallery<->image parameter, otherwise we may copy it to the wrong gallery
- $gallery = $image;
-
- // delete now the image
- if ( !@unlink( $image->imagePath ) ) {
- $errorString = sprintf(__('Failed to delete image %1$s ','nggallery'), $image->imagePath);
- logIO('O', '(NGG) ' . $errorString);
- return new IXR_Error(500, $errorString);
- }
- }
-
- // upload routine from wp core, load first the image to the upload folder, $upload['file'] contain the path
- $upload = wp_upload_bits($name, $type, $bits);
- if ( ! empty($upload['error']) ) {
- $errorString = sprintf(__('Could not write file %1$s (%2$s)'), $name, $upload['error']);
- logIO('O', '(NGG) ' . $errorString);
- return new IXR_Error(500, $errorString);
- }
-
- // this is the dir to the gallery
- $path = WINABSPATH . $gallery->path;
-
- // check if the filename already exist, if not add a counter index
- $filename = wp_unique_filename( $path, $name );
- $destination = $path . '/'. $filename;
-
- // Move files to gallery folder
- if ( !@rename($upload['file'], $destination ) ) {
- $errorString = sprintf(__('Failed to move image %1$s to %2$s','nggallery'), '' . $upload['file'] . '', $destination);
- logIO('O', '(NGG) ' . $errorString);
- return new IXR_Error(500, $errorString);
- }
-
- //add to database if it's a new image
- if(empty($data["overwrite"]) || ($data["overwrite"] == false)) {
- $pid_array = nggAdmin::add_Images( $gallery->gid, array( $filename ) );
- // the first element is our new image id
- if (count($pid_array) == 1)
- $pid = $pid_array[0];
- }
-
- //get all information about the image, in the case it's a new one
- if (!$image)
- $image = nggdb::find_image( $pid );
-
- // create again the thumbnail, should return a '1'
- nggAdmin::create_thumbnail( $image );
-
- return apply_filters( 'ngg_upload_image', $image );
-
- }
-
- /**
- * Method "ngg.deleteImage"
- * Delete a Image from the database and gallery
- *
- * @since 1.7.3
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int image_id
- * @return true
- */
- function deleteImage($args) {
-
- global $nggdb, $ngg;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $id = (int) $args[3];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if ( !$image = nggdb::find_image($id) )
- return(new IXR_Error(404, __("Invalid image ID")));
-
- if ( !current_user_can( 'NextGEN Manage gallery' ) && !nggAdmin::can_manage_this_gallery($image->author) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to edit this image' ) );
-
- if ($ngg->options['deleteImg']) {
- @unlink($image->imagePath);
- @unlink($image->thumbPath);
- @unlink($image->imagePath . "_backup" );
- }
-
- nggdb::delete_image ( $id );
-
- return true;
-
- }
-
- /**
- * Method "ngg.editImage"
- * Edit a existing Image
- *
- * @since 1.7.3
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int Image ID
- * - string alt/title text
- * - string description
- * - int exclude from gallery (0 or 1)
- * @return true if success
- */
- function editImage($args) {
-
- global $ngg;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $id = (int) $args[3];
- $alttext = $args[4];
- $description= $args[5];
- $exclude = (int) $args[6];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if ( !$image = nggdb::find_image($id) )
- return(new IXR_Error(404, __("Invalid image ID")));
-
- if ( !current_user_can( 'NextGEN Manage gallery' ) && !nggAdmin::can_manage_this_gallery($image->author) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to edit this image' ) );
-
- if ( !empty( $alttext ) )
- $result = nggdb::update_image($id, false, false, $description, $alttext, $exclude);
-
- if ( !$result )
- return new IXR_Error(500, __('Sorry, could not update the image'));
-
- return true;
-
- }
-
- /**
- * Method "ngg.newGallery"
- * Create a new gallery
- *
- * @since 1.4
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - string new gallery name
- * @return int with new gallery ID
- */
- function newGallery($args) {
-
- global $ngg;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $name = $args[3];
- $id = false;
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if( !current_user_can( 'NextGEN Manage gallery' ) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) );
-
- if ( !empty( $name ) )
- $id = nggAdmin::create_gallery($name, $ngg->options['gallerypath'], false);
-
- if ( !$id )
- return new IXR_Error(500, __('Sorry, could not create the gallery'));
-
- return($id);
-
- }
-
- /**
- * Method "ngg.editGallery"
- * Edit a existing gallery
- *
- * @since 1.7.0
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int gallery ID
- * - string gallery name
- * - string title
- * - string description
- * - int ID of the preview picture
- * @return true if success
- */
- function editGallery($args) {
-
- global $ngg;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $id = (int) $args[3];
- $name = $args[4];
- $title = $args[5];
- $description= $args[6];
- $previewpic = (int) $args[7];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if ( !$gallery = nggdb::find_gallery($id) )
- return(new IXR_Error(404, __("Invalid gallery ID")));
-
- if ( !current_user_can( 'NextGEN Manage gallery' ) && !nggAdmin::can_manage_this_gallery($gallery->author) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage this gallery' ) );
-
- if ( !empty( $name ) )
- $result = nggdb::update_gallery($id, $name, false, $title, $description, false, $previewpic);
-
- if ( !$result )
- return new IXR_Error(500, __('Sorry, could not update the gallery'));
-
- return true;
-
- }
-
- /**
- * Method "ngg.newAlbum"
- * Create a new album
- *
- * @since 1.7.0
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - string new album name
- * - int id of preview image
- * - string description
- * - string serialized array of galleries
- * @return int with new album ID
- */
- function newAlbum($args) {
-
- global $ngg;
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $name = $args[3];
- $preview = (int) $args[4];
- $description= $args[5];
- $galleries = $args[6];
- $id = false;
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if( !current_user_can( 'NextGEN Edit album' ) || !nggGallery::current_user_can( 'NextGEN Add/Delete album' ) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
-
- if ( !empty( $name ) )
- $id = $result = nggdb::add_album( $name, $preview, $description, $galleries );
-
- if ( !$id )
- return new IXR_Error(500, __('Sorry, could not create the album'));
-
- return($id);
-
- }
-
- /**
- * Method "ngg.editAlbum"
- * Edit a existing Album
- *
- * @since 1.7.0
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int album ID
- * - string album name
- * - int id of preview image
- * - string description
- * - string serialized array of galleries
- * @return true if success
- */
- function editAlbum($args) {
-
- global $ngg;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $id = (int) $args[3];
- $name = $args[4];
- $preview = (int) $args[5];
- $description= $args[6];
- $galleries = $args[7];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if ( !$album = nggdb::find_album($id) )
- return(new IXR_Error(404, __("Invalid album ID")));
-
- if( !current_user_can( 'NextGEN Edit album' ) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
-
- if ( !empty( $name ) )
- $result = nggdb::update_album($id, $name, $preview, $description, $description, $galleries);
-
- if ( !$result )
- return new IXR_Error(500, __('Sorry, could not update the album'));
-
- return true;
-
- }
-
- /**
- * Method "ngg.deleteAlbum"
- * Delete a album from the database
- *
- * @since 1.7.0
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int album id
- * @return true
- */
- function deleteAlbum($args) {
-
- global $nggdb;
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $id = (int) $args[3];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if ( !$album = nggdb::find_album($id) )
- return(new IXR_Error(404, __("Invalid album ID")));
-
- if( !current_user_can( 'NextGEN Edit album' ) && !nggGallery::current_user_can( 'NextGEN Add/Delete album' ) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
-
- $nggdb->delete_album($id);
-
- return true;
-
- }
-
- /**
- * Method "ngg.deleteGallery"
- * Delete a gallery from the database, including all images
- *
- * @since 1.7.0
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int gallery_id
- * @return true
- */
- function deleteGallery($args) {
-
- global $nggdb;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $id = (int) $args[3];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if ( !$gallery = nggdb::find_gallery($id) )
- return(new IXR_Error(404, __("Invalid gallery ID")));
-
- if ( !current_user_can( 'NextGEN Manage gallery' ) && !nggAdmin::can_manage_this_gallery($gallery->author) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) );
-
- $nggdb->delete_gallery($id);
-
- return true;
-
- }
-
- /**
- * Method "ngg.getAlbums"
- * Return the list of all albums
- *
- * @since 1.7.0
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * @return array with all galleries
- */
- function getAlbums($args) {
-
- global $nggdb;
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if( !current_user_can( 'NextGEN Edit album' ) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage albums' ) );
-
- $album_list = $nggdb->find_all_album('id', 'ASC', 0, 0 );
-
- return($album_list);
-
- }
-
- /**
- * Method "ngg.getGalleries"
- * Return the list of all galleries
- *
- * @since 1.4
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * @return array with all galleries
- */
- function getGalleries($args) {
-
- global $nggdb;
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- if( !current_user_can( 'NextGEN Manage gallery' ) )
- return new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) );
-
- $gallery_list = $nggdb->find_all_galleries('gid', 'asc', true, 0, 0, false);
-
- return($gallery_list);
-
- }
-
- /**
- * Method "ngg.getImages"
- * Return the list of all images inside a gallery
- *
- * @since 1.4
- *
- * @param array $args Method parameters.
- * - int blog_id
- * - string username
- * - string password
- * - int gallery_id
- * @return array with all images
- */
- function getImages($args) {
-
- global $nggdb;
-
- require_once ( dirname ( dirname( __FILE__ ) ). '/admin/functions.php' ); // admin functions
-
- $this->escape($args);
- $blog_ID = (int) $args[0];
- $username = $args[1];
- $password = $args[2];
- $gid = (int) $args[3];
-
- if ( !$user = $this->login($username, $password) )
- return $this->error;
-
- // Look for the gallery , could we find it ?
- if ( !$gallery = nggdb::find_gallery( $gid ) )
- return new IXR_Error(404, __('Could not find gallery ' . $gid ));
-
- // Now check if you have the correct capability for this gallery
- if ( !nggAdmin::can_manage_this_gallery($gallery->author) ) {
- logIO('O', '(NGG) User does not have upload_files capability');
- $this->error = new IXR_Error(401, __('You are not allowed to upload files to this gallery.'));
- return $this->error;
- }
-
- // get picture values
- $picture_list = $nggdb->get_gallery( $gid, 'pid', 'ASC', false );
-
- return($picture_list);
-
- }
-
- /**
- * Sanitize string or array of strings for database.
- *
- * @since 1.7.0
- * @author WordPress Core
- * @filesource inludes/class-wp-xmlrpc-server.php
- *
- * @param string|array $array Sanitize single string or array of strings.
- * @return string|array Type matches $array and sanitized for the database.
- */
- function escape(&$array) {
- global $wpdb;
-
- if (!is_array($array)) {
- return($wpdb->escape($array));
- } else {
- foreach ( (array) $array as $k => $v ) {
- if ( is_array($v) ) {
- $this->escape($array[$k]);
- } else if ( is_object($v) ) {
- //skip
- } else {
- $array[$k] = $wpdb->escape($v);
- }
- }
- }
- }
-
- /**
- * PHP5 style destructor and will run when database object is destroyed.
- *
- * @return bool Always true
- */
- function __destruct() {
-
- }
-}
-
-$nggxmlrpc = new nggXMLRPC();
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/ngg-config.php b/src/wp-content/plugins/nextgen-gallery/ngg-config.php
deleted file mode 100644
index e309867..0000000
--- a/src/wp-content/plugins/nextgen-gallery/ngg-config.php
+++ /dev/null
@@ -1,33 +0,0 @@
-required_version() ) || ( !$this->check_memory_limit() ) )
- return;
-
- // Get some constants first
- $this->load_options();
- $this->define_constant();
- $this->define_tables();
- $this->load_dependencies();
- $this->start_rewrite_module();
-
- $this->plugin_name = plugin_basename(__FILE__);
-
- // Init options & tables during activation & deregister init option
- register_activation_hook( $this->plugin_name, array(&$this, 'activate') );
- register_deactivation_hook( $this->plugin_name, array(&$this, 'deactivate') );
-
- // Register a uninstall hook to remove all tables & option automatic
- register_uninstall_hook( $this->plugin_name, array('nggLoader', 'uninstall') );
-
- // Start this plugin once all other plugins are fully loaded
- add_action( 'plugins_loaded', array(&$this, 'start_plugin') );
-
- // Register_taxonomy must be used during the init
- add_action( 'init', array(&$this, 'register_taxonomy') );
-
- // Hook to upgrade all blogs with one click and adding a new one later
- add_action( 'wpmu_upgrade_site', array(&$this, 'multisite_upgrade') );
- add_action( 'wpmu_new_blog', array(&$this, 'multisite_new_blog'), 10, 6);
-
- // Add a message for PHP4 Users, can disable the update message later on
- if (version_compare(PHP_VERSION, '5.0.0', '<'))
- add_filter('transient_update_plugins', array(&$this, 'disable_upgrade'));
-
- //Add some links on the plugin page
- add_filter('plugin_row_meta', array(&$this, 'add_plugin_links'), 10, 2);
-
- // Check for the header / footer
- add_action( 'init', array(&$this, 'test_head_footer_init' ) );
-
- }
-
- function start_plugin() {
-
- global $nggRewrite;
-
- // Load the language file
- $this->load_textdomain();
-
- // All credits to the tranlator
- $this->translator = '
'. __('Translation by : See here', 'nggallery') . '
';
- $this->translator .= '
'. __('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.', 'nggallery') . '
';
-
- // Check for upgrade
- $this->check_for_upgrade();
-
- // Content Filters
- add_filter('ngg_gallery_name', 'sanitize_title');
-
- // Check if we are in the admin area
- if ( is_admin() ) {
-
- // Pass the init check or show a message
- if (get_option( 'ngg_init_check' ) != false )
- add_action( 'admin_notices', create_function('', 'echo \'
' . get_option( "ngg_init_check" ) . '
\';') );
-
- } else {
-
- // Add MRSS to wp_head
- if ( $this->options['useMediaRSS'] )
- add_action('wp_head', array('nggMediaRss', 'add_mrss_alternate_link'));
-
- // If activated, add PicLens/Cooliris javascript to footer
- if ( $this->options['usePicLens'] )
- add_action('wp_head', array('nggMediaRss', 'add_piclens_javascript'));
-
- // Look for XML request, before page is render
- add_action('parse_request', array(&$this, 'check_request') );
-
- // Add the script and style files
- add_action('template_redirect', array(&$this, 'load_scripts') );
- add_action('template_redirect', array(&$this, 'load_styles') );
-
- // Add a version number to the header
- add_action('wp_head', create_function('', 'echo "\nversion . '\' />\n";') );
-
- }
- }
-
- function check_request( $wp ) {
-
- if ( !array_key_exists('callback', $wp->query_vars) )
- return;
-
- if ( $wp->query_vars['callback'] == 'imagerotator') {
- require_once (dirname (__FILE__) . '/xml/imagerotator.php');
- exit();
- }
-
- if ( $wp->query_vars['callback'] == 'json') {
- require_once (dirname (__FILE__) . '/xml/json.php');
- exit();
- }
-
- if ( $wp->query_vars['callback'] == 'image') {
- require_once (dirname (__FILE__) . '/nggshow.php');
- exit();
- }
-
- //TODO:see trac #12400 could be an option for WP3.0
- if ( $wp->query_vars['callback'] == 'ngg-ajax') {
- require_once (dirname (__FILE__) . '/xml/ajax.php');
- exit();
- }
-
- }
-
- function required_version() {
-
- global $wp_version;
-
- // Check for WP version installation
- $wp_ok = version_compare($wp_version, $this->minium_WP, '>=');
-
- if ( ($wp_ok == FALSE) ) {
- add_action(
- 'admin_notices',
- create_function(
- '',
- 'global $ngg; printf (\'
\' . __(\'Sorry, NextGEN Gallery works only under WordPress %s or higher\', "nggallery" ) . \'
\', $ngg->minium_WP );'
- )
- );
- return false;
- }
-
- return true;
-
- }
-
- function check_memory_limit() {
-
- // get the real memory limit before some increase it
- $this->memory_limit = (int) substr( ini_get('memory_limit'), 0, -1);
-
- //This works only with enough memory, 16MB is silly, wordpress requires already 16MB :-)
- if ( ($this->memory_limit != 0) && ($this->memory_limit < 16 ) ) {
- add_action(
- 'admin_notices',
- create_function(
- '',
- 'echo \'
' . __('Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher', 'nggallery') . '
';
- $out .= nggShowGalleryTags($slug);
- return $out;
-
- }
- }
-
- // get now the related images
- $picturelist = nggTags::get_album_images($taglist);
-
- // go on if not empty
- if ( empty($picturelist) )
- return;
-
- // re-structure the object that we can use the standard template
- foreach ($picturelist as $key => $picture) {
- $picturelist[$key]->previewpic = $picture->pid;
- $picturelist[$key]->previewname = $picture->filename;
- $picturelist[$key]->previewurl = site_url() . '/' . $picture->path . '/thumbs/thumbs_' . $picture->filename;
- $picturelist[$key]->counter = $picture->count;
- $picturelist[$key]->title = $picture->name;
- $picturelist[$key]->pagelink = $nggRewrite->get_permalink( array('gallerytag'=>$picture->slug) );
- }
-
- //TODO: Add pagination later
- $navigation = '';
-
- // create the output
- $out = nggGallery::capture ('album-compact', array ('album' => 0, 'galleries' => $picturelist, 'pagination' => $navigation) );
-
- $out = apply_filters('ngg_show_album_tags_content', $out, $taglist);
-
- return $out;
-}
-
-/**
- * nggShowRelatedImages() - return related images based on category or tags
- *
- * @access public
- * @param string $type could be 'tags' or 'category'
- * @param integer $maxImages of images
- * @return the content
- */
-function nggShowRelatedImages($type = '', $maxImages = 0) {
- $ngg_options = nggGallery::get_option('ngg_options');
-
- if ($type == '') {
- $type = $ngg_options['appendType'];
- $maxImages = $ngg_options['maxImages'];
- }
-
- $sluglist = array();
-
- switch ($type) {
- case 'tags':
- if (function_exists('get_the_tags')) {
- $taglist = get_the_tags();
-
- if (is_array($taglist)) {
- foreach ($taglist as $tag) {
- $sluglist[] = $tag->slug;
- }
- }
- }
- break;
-
- case 'category':
- $catlist = get_the_category();
-
- if (is_array($catlist)) {
- foreach ($catlist as $cat) {
- $sluglist[] = $cat->category_nicename;
- }
- }
- break;
- }
-
- $sluglist = implode(',', $sluglist);
- $out = nggShowRelatedGallery($sluglist, $maxImages);
-
- return $out;
-}
-
-/**
- * Template function for theme authors
- *
- * @access public
- * @param string (optional) $type could be 'tags' or 'category'
- * @param integer (optional) $maxNumbers of images
- * @return void
- */
-function the_related_images($type = 'tags', $maxNumbers = 7) {
- echo nggShowRelatedImages($type, $maxNumbers);
-}
-
-/**
- * nggShowRandomRecent($type, $maxImages, $template, $galleryId) - return recent or random images
- *
- * @access public
- * @param string $type 'id' (for latest addition to DB), 'date' (for image with the latest date), 'sort' (for image sorted by user order) or 'random'
- * @param integer $maxImages of images
- * @param string $template (optional) name for a template file, look for gallery-$template
- * @param int $galleryId Limit to a specific gallery
- * @return the content
- */
-function nggShowRandomRecent($type, $maxImages, $template = '', $galleryId = 0) {
-
- // $_GET from wp_query
- $pid = get_query_var('pid');
- $pageid = get_query_var('pageid');
-
- // get now the recent or random images
- switch ($type) {
- case 'random':
- $picturelist = nggdb::get_random_images($maxImages, $galleryId);
- break;
- case 'id':
- $picturelist = nggdb::find_last_images(0, $maxImages, true, $galleryId, 'id');
- break;
- case 'date':
- $picturelist = nggdb::find_last_images(0, $maxImages, true, $galleryId, 'date');
- break;
- case 'sort':
- $picturelist = nggdb::find_last_images(0, $maxImages, true, $galleryId, 'sort');
- break;
- default:
- // default is by pid
- $picturelist = nggdb::find_last_images(0, $maxImages, true, $galleryId, 'id');
- }
-
- // look for ImageBrowser if we have a $_GET('pid')
- if ( $pageid == get_the_ID() || !is_home() )
- if (!empty( $pid )) {
- foreach ($picturelist as $picture) {
- $picarray[] = $picture->pid;
- }
- $out = nggCreateImageBrowser($picarray);
- return $out;
- }
-
- // go on if not empty
- if ( empty($picturelist) )
- return;
-
- // show gallery
- if ( is_array($picturelist) )
- $out = nggCreateGallery($picturelist, false, $template);
-
- $out = apply_filters('ngg_show_images_content', $out, $picturelist);
-
- return $out;
-}
-
-/**
- * nggTagCloud() - return a tag cloud based on the wp core tag cloud system
- *
- * @param array $args
- * @param string $template (optional) name for a template file, look for gallery-$template
- * @return the content
- */
-function nggTagCloud($args ='', $template = '') {
- global $nggRewrite;
-
- // $_GET from wp_query
- $tag = get_query_var('gallerytag');
- $pageid = get_query_var('pageid');
-
- // look for gallerytag variable
- if ( $pageid == get_the_ID() || !is_home() ) {
- if (!empty( $tag )) {
-
- $slug = esc_attr( $tag );
- $out = nggShowGalleryTags( $slug );
- return $out;
- }
- }
-
- $defaults = array(
- 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
- 'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
- 'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'ngg_tag'
- );
- $args = wp_parse_args( $args, $defaults );
-
- $tags = get_terms( $args['taxonomy'], array_merge( $args, array( 'orderby' => 'count', 'order' => 'DESC' ) ) ); // Always query top tags
-
- foreach ($tags as $key => $tag ) {
-
- $tags[ $key ]->link = $nggRewrite->get_permalink(array ('gallerytag' => $tag->slug));
- $tags[ $key ]->id = $tag->term_id;
- }
-
- $out = '
' . wp_generate_tag_cloud( $tags, $args ) . '
';
-
- return $out;
-}
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/nggshow.php b/src/wp-content/plugins/nextgen-gallery/nggshow.php
deleted file mode 100644
index 60c71c4..0000000
--- a/src/wp-content/plugins/nextgen-gallery/nggshow.php
+++ /dev/null
@@ -1,68 +0,0 @@
-imagePath );
-
-// Resize if necessary
-if ( !empty($_GET['width']) || !empty($_GET['height']) ) {
- // Sanitize
- $w = ( !empty($_GET['width'])) ? intval($_GET['width']) : 0;
- $h = ( !empty($_GET['height'])) ? intval($_GET['height']) : 0;
- // limit the maxium size, prevent server memory overload
- if ($w > 1920) $w = 1920;
- if ($h > 1280) $h = 1280;
- // Crop mode for post thumbnail
- 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'], $w, $h);
- // check ratio to decide which side should be resized
- ( $ratio_h < $h || $ratio_w == $w ) ? $thumb->resize(0, $h) : $thumb->resize($w, 0);
- // get the best start postion to crop from the middle
- $ypos = ($thumb->currentDimensions['height'] - $h) / 2;
- $thumb->crop(0, $ypos, $w, $h);
- } else
- $thumb->resize( $w, $h );
-}
-
-// Apply effects according to the mode parameter
-if ($mode == 'watermark') {
- if ($ngg_options['wmType'] == 'image') {
- $thumb->watermarkImgPath = $ngg_options['wmPath'];
- $thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
- } else 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']);
- }
-} else if ($mode == 'web20') {
- $thumb->createReflection(40,40,50,false,'#a4a4a4');
-}
-
-// Show thumbnail
-$thumb->show();
-$thumb->destruct();
-
-exit;
-?>
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/readme.txt b/src/wp-content/plugins/nextgen-gallery/readme.txt
deleted file mode 100644
index e969077..0000000
--- a/src/wp-content/plugins/nextgen-gallery/readme.txt
+++ /dev/null
@@ -1,775 +0,0 @@
-=== NextGEN Gallery ===
-Contributors: alexrabe
-Donate link: http://alexrabe.de/donation/
-Tags: photos,flash,slideshow,images,gallery,media,admin,post,photo-albums,pictures,widgets,photo,picture,image,nextgen-gallery,nextgen gallery
-Requires at least: 3.0
-Tested up to: 3.1
-Stable tag: trunk
-
-NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with dozens of options and features.
-
-== Description ==
-
-NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a slideshow option. Before I started writing the plugin I studied all the existing image and gallery plugins for WordPress.
-Some of them are really good and well designed, but the gap I filled was a simple administration system at the back end which can also handle multiple galleries.
-
-Important Links:
-
-* Demonstration
-* Language files
-* Changelog
-* NextGEN Gallery FAQ
-* Support Forum
-
-= Features =
-
-* Templates : You can add custom templates for your theme.
-* Media RSS feed : Add the Cooliris Effect to your gallery
-* Role settings : Each gallery has a author
-* AJAX based thumbnail generator : No more server limitation during the batch process
-* Copy/Move : Copy or move images between galleries
-* Sortable Albums : Create your own sets of images
-* Upload or pictures via a zip-file (Not in Safe-mode)
-* Watermark function : You can add a watermark image or text
-* JavaScript Effect : Use any available popular image effect : Shutter, Thickbox, Lightbox or Highslide
-* Multiple CSS Stylesheet : Use a nice shadow effect for your thumbnails with your own CSS file
-* Slideshow : Full integrated slideshow as jQuery or Flash solution
-* TinyMCE : Button integration for easy adding the gallery tags
-* Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
-* Language support : Translated in more than 30 languages
-* Translation downloader : Download with one click the new translation file
-* Upload tab integration : You have access to all pictures via the upload tab
-* Tag support for images : Append related images to your post, create a image tag-cloud
-* Meta data support : Import EXIF, IPTC or XMP meta data
-* Sort images feature
-
-== Credits ==
-
-Copyright 2007-2011 by Alex Rabe & NextGEN DEV-Team
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-** Please note **
-
-The JW Image Rotator (Flash Slideshow) is not part of this license and is available
-under a Creative Commons License, which allowing you to use, modify and redistribute
-them for noncommercial purposes.
-
-For commercial use please look at the Jeroen's homepage : http://www.longtailvideo.com/
-
-
-== Installation ==
-
-1. Install & Activate the plugin
-
-2. Add a gallery and upload some images (the main gallery folder must have write permission)
-
-3. Go to your post/page an enter the tag '[nggallery id=x]' or '[slideshow id=x]'. See more tags in the FAQ section
-
-That's it ... Have fun
-
-http://www.youtube.com/watch?v=Le_ZsNSuIvM
-
-== Screenshots ==
-
-1. Screenshot Admin Area
-2. Screenshot Album Selection
-3. Screenshot Shutter Effect
-4. Screenshot Watermark function
-5. Screenshot Flexible template layout
-6. Screenshot Show Exif data
-
-== Frequently Asked Questions ==
-
-When writing a page/post, you can use the follow tags:
-
-For a slideshow : **[slideshow id=x w=width h=height]**
-
-Example : http://nextgen-gallery.com/slideshow/
-
-For a album : **[album id=x template=extend]** or **[album id=x template=compact]**
-
-Example : http://nextgen-gallery.com/album/
-
-For a gallery : **[nggallery id=x]**
-
-Example : http://nextgen-gallery.com/gallery-page/
-
-For a single picture : **[singlepic id=x w=width h=height mode=web20|watermark float=left|right]**
-
-Example : http://nextgen-gallery.com/singlepic/
-
-For a image browser : **[imagebrowser id=x]**
-
-Example : http://nextgen-gallery.com/image-browser/
-
-To show image sorted by tags : **[nggtags gallery=mytag,wordpress,... ]**
-
-Example : http://nextgen-gallery.com/gallery-tags/
-
-To show tag albums : **[nggtags album=mytag,wordpress,... ]**
-
-Example : http://nextgen-gallery.com/albumtags/
-
-To show random mages : **[random max=x ]**
-
-To show the most recent added mages : **[recent max=x ]**
-
-**A further FAQ you can found here :** http://alexrabe.de/wordpress-plugins/nextgen-gallery/faq/
-
-**And at least request your question here :** http://wordpress.org/tags/nextgen-gallery?forum_id=10
-
-== Changelog ==
-
-= V1.7.4 - 15.02.2011 =
-* Bugfix : Disallow direct call of ajax file to avoid path disclosure (THX to High-Tech Bridge SA)
-* Bugfix : Rework jQuery Cycle slideshow for IE compat reason (THX to Justin Dickenson)
-* Bugfix : Resize only larger images in slideshow
-* Bugfix : Improved image format detection in gd.thumbnail class (THX to Kupar.b)
-
-= V1.7.3 - 20.01.2011 =
-* NEW : Introduce plugin health check for conflicts with other plugins/themes
-* NEW : Adding new XMLRPC method ngg.deleteImage
-* NEW : Adding new XMLRPC method ngg.editImage
-* Changed : Rework register script for autocomplete feature
-* Bugfix : Bugfix for Multisite setup and flash upload
-* Bugfix : WP3.1 compat issue, show site admin page only on Multisite installation
-
-= V1.7.2 - 13.12.2010 =
-* Bugfix : Adding images to database require slug (NOT NULL)
-
-= V1.7.1 - 13.12.2010 =
-* Changed : Disable upgrade for PHP4 user
-* Changed : Disable colorpicker for option page
-* Bugfix : Compat fix for upgrade
-
-= V1.7.0 - 11.12.2010 =
-* NEW : Publish a new post direct from the gallery admin page
-* NEW : Added filter hook 'ngg_get_image_metadata' to add more exif/iptc information
-* NEW : Adding Autocomplete field to TinyMCE Popup and Album page
-* NEW : More methods for XMLRPC interface
-* Changed : New hooks for gallery table (THX to Alexander Schneider)
-* Changed : Introduce jQuery dialog as new UI element
-* Changed : Call TinyMCE window via admin-ajax
-* Bugfix : Better support for SSL blogs
-* Bugfix : Install/Upgrade failed when table prefix contain captial letters
-* Bugfix : Fix validation issues in Media-RSS
-* Bugfix : Empty tags in XMP Meta causes PHP error
-* Bugfix : Rework load mechanism for slideshow
-* Bugfix : Copy meta data when image is copied
-* Bugfix : Icon Support for Ozh' Admin Drop Down Menu
-* Bugfix : Use correct sort order in slideshow
-
-= V1.6.2 - 19.09.2010 =
-* NEW : Added constant NGG_SKIP_LOAD_SCRIPTS to avoid script load
-* Bugfix : Load Tags library with core files
-* Bugfix : Slideshow script failed in IE7, load script now in header
-* Bugfix : Load slideshow widget always
-* Changed : New admin notice for database upgrade
-* Changed : Rework crop feature for featured images
-* Changed : Use site_url() instead get_option ('siteurl'), required for SSL support
-
-= V1.6.1 - 08.09.2010 =
-* Bugfix : Script load of swfobject.js failed
-* Bugfix : Show sideshow also with 1 or 2 images
-* Bugfix : Rework null byte check in zip upload
-
-= V1.6.0 - 07.09.2010 =
-* NEW : Wordpress 3.0 Network (Multi-Site) support
-* NEW : Integrate jQuery Cycle as NON-Flash slideshow
-* NEW : Adding jQuery File Tree for import folder (THX to Sergey Pasyuk )
-* NEW : Added action hook 'ngg_show_imagebrowser_first' on custom request
-* NEW : Added filter hook 'ngg_slideshow_size' to resize sildeshow for mobile browser plugins
-* Changed : Reorder tabs for upload
-* Changed : New menu icon and screen icon (THX to Ben Dunkle)
-* Changed : Load frontend libs always
-* Changed : Rework of overview page
-* Bugfix : Security bugfix for Zip-Upload (THX to Dominic Szablewski)
-* Bugfix : Allow JPG, PNG, GIF extension
-* Bugfix : New German translation (THX to Martin Kramarz)
-* Bugfix : Copy/Move also backup file
-* Bugfix : Calculate correct ratio for fix thumbnail size (THX to Alekz Keck)
-
-= V1.5.5 - 14.06.2010 =
-* Bugfix : Compat issue for post thumbnails with WP2.9
-* NEW : Adding more hooks for custom fields plugin
-
-= V1.5.4 - 14.06.2010 =
-* Bugfix : No resize of smaller images
-* Bugfix : Compat issues for Post Thumbnails under WP3.0
-* Bugfix : Esc_URL in Media RSS
-
-= V1.5.3 - 11.04.2010 =
-* New : Adding pagination to footer
-* Changed : Perpare new filter to replace slideshow
-* Bugfix : Remove non-breaking space from navigation
-* Bugfix : Pagination of galleries
-* Bugfix : Fixed brackets position for old shortcode query
-* Bugfix : Slideshow option 'Show next image on click" has wrong default value
-
-= V1.5.2 - 25.03.2010 =
-* Bugfix : XSS security vulnerability (THX to Core Security Advisories Team , Pedro Varangot)
-* Bugfix : Missing $wpdb in shortcodes.php
-
-= V1.5.1 - 23.03.2010 =
-* Bugfix : PHP4 compat issue for Add gallery & options page
-* Bugfix : Gallery widget can now have a empty title
-* Bugfix : Adding correct stripslash for gallery title
-
-= V1.5.0 - 18.03.2010 =
-* NEW : Support for Post thumbnail feature
-* NEW : Backup and Recover function for images (THX to Simone Fumagalli)
-* NEW : Resize images after upload (THX to Simone Fumagalli)
-* NEW : Added a JSON class for fetching galleries in a RESTful way (see xml/json.php)
-* NEW : Adding various new capabilities for user roles
-* NEW : Auto downloader for translation file
-* Changed : Rename query var from slideshow to callback for compat reason with other plugin
-* Changed : Convert widget function to new WP structure
-* Changed : Include lookup for tags into the backend search
-* Changed : Restructure addgallery and settings page to enable custom tabs
-* Bugfix : Select album preview from gallery preview pics instead random list
-* Bugfix : Keep fix dimension in edit thumbnail operation
-* Bugfix : Import meta data didn't work correct for existing images
-* Bugfix : Fix onload bug for Chrome 4 in Shutter script
-* Bugfix : Remove various PHP notices for a better world
-* Removed : Canonical link is now part of Wordpress 2.9
-
-= V1.4.3 - 16.11.2009 =
-* Bugfix : Urlencode XML file path for sildeshow
-
-= V1.4.2 - 16.11.2009 =
-* Changed : Load sildeshow XML not longer via relative path
-* Bugfix : No imagebrowser in carousel mode
-* Bugfix : JS Effect navigation based on wrong array structure
-* Bugfix : Remove whitespaces from meta import
-* Bugfix : Capability check for upgrade notice
-* Removed : Hide "more settings" for now, causes problems with IE and jQuery UI tabs
-
-= V1.4.1 - 10.11.2009 =
-* Bugfix : Capabilites could not be saved
-* Bugfix : Ajax pagination option not saved
-* Bugfix : echo nggSlideshowWidget() for compat reason
-
-= V1.4.0 - 08.11.2009 =
-* NEW : Automatic rotate images during upload or via manage gallery page (THX to Simone Fumagalli)
-* NEW : Include Bulkupdate for gallery overview, require PHP 5.2
-* NEW : XMLRPC support with 4 new methods : see xmlrpc.php for more information
-* NEW : Recent and random images can be taken from a specific gallery using the id=x parameter in the shortcode (THX to Prollius)
-* NEW : Recent images can be recent by exif date (instead of database id) by using the mode=recentdate parameter in the shortcode (THX to Prollius)
-* NEW : Introduce the WP_Object_cache and meta_data
-* NEW : Various new hooks and filters
-* Added : Better support for role manager plugin (THX to Mattias Buelens)
-* Added : New option to add hidden images. Needed to show all images in a modal window (Thickbox, Lightbox et.)
-* Added : New link parameter for the singlepic shortcode : [singlepic id=x w=x h=x link="http://google.com"]
-* Added : New template gallery-carousel
-* Added : New id parameter for recent and random shortcodes : [random max="7" template="filename" id="2"] takes only pictures from the gallery with id=2
-* Added : New mode parameter for recent shortcode : [recent max="7" template="filename" id="3" mode="date" /] where mode can be one of (id, date, sort). Recent pictures are delivered by addition to database (id), exif date (date) or user sort order (sort).
-* Added : Enable/Disable Ajax navigation via settings
-* Added : New filter hook 'ngg_render_template' to render templates with a other plugin
-* Changed : Added option to link an album with a page id
-* Changed : Support templates for child themes, use STYLESHEETPATH instead TEMPLATEPATH (THX to Prollius)
-* Changed : Rework of Media RSS Widget
-* Bugfix : Check capability to create a new page
-* Bugfix : Fix double call of filter name , changed to ngg_picturelist_object (THX to Prollius)
-* Bugfix : Check for a deleted gallery in a album
-
-= V1.3.6 - 20.09.2009 =
-* Changed : Just change the feed link
-
-= V1.3.5 - 17.07.2009 =
-* Bugfix : Fixed XSS issue for Page title
-
-= V1.3.4 - 07.07.2009 =
-* Added : New filter ngg_gallery_object and ngg_image_object
-* Bugfix : Fix double rendering of a gallery if two album shortcodes are used
-* Bugfix : Fix for custom field ngg_gal_sort
-* Bugfix : Changed capapbility check for upload
-* Bugfix : Check for correct version OR memory limit
-
-= V1.3.3 - 11.06.2009 =
-* Changed : Load Thickbox images via wp_footer()
-* Bugfix : Widget setting couldnot be saved
-
-= V1.3.2 - 10.06.2009 =
-* Changed : Resize maximum to 1280 x 1280 with nggshow (THX to onezero)
-* Bugfix : Bugfix for Multifile upload
-* Bugfix : Bugfix for sortorder under jQuery 1.3
-* Bugfix : Workaround for more albums per page, need more rework
-* Bugfix : AJAX reload didn't work if slideshow is shown by default
-* Bugfix : Redirect links didn't work if permalinks are deactivates
-* Bugfix : Add new gallery in manage-overview didn't use defaultpath
-
-= V1.3.1 - 07.06.2009 =
-* Bugfix : Fixed ZIP upload, wrong variable used
-* Bugfix : Check for array before foreach in album missing
-
-= V1.3.0 - 07.06.2009 =
-* NEW : Subalbum support
-* NEW : Search for images in the admin tab
-* NEW : Add new gallery also in manage tab
-* NEW : AJAX support for Imagebrowser and gallery navigation (THX to Anty)
-* NEW : Added zip upload via URL (THX to Juan Jose Galvez)
-* Added : jQuery Multiple File Upload Plugin v1.44
-* Added : SWFUpload V2.2.0
-* Changed : Remove extension for Alttext during first import
-* Changed : Meta tag added via wp_head hook (THX to Viper)
-* Bugfix : Correct various PHP notice messages
-* Bugfix : Typo fix in custom fields for ngg_gal_ImageBrowser
-* Bugfix : Avoid upload of images in gallery without correct capability
-
-= V1.2.1 - 22.03.2009 =
-* NEW : Support for IE8 Web Slices in widgets
-* NEW : Add filter ngg_image_object
-* Changed : Descending order in add gallery menu
-* Bugfix : Exclude option didnT work for multi pages
-* Bugfix : Check for correct capability in manage gallery
-
-= V1.2.0 - 09.03.2009 =
-* NEW : Support for image tag cloud with shortcode [tagcloud]
-* NEW : Adding shortcode [recent max="7" template="filename" /] & [random max="7" template="filename" /] to show the most recent/random pictures (THX to Bernhard)
-* NEW : Crop thumbnails manually (THX to Simone Fumagalli)
-* NEW : Support for i18n with polyglot or qtrans plugin (THX to Boris Glumpler)
-* NEW : Canonical meta link support
-* Added : SWFUpload V2.2.0 B5
-* Added : New memory limit check in upload screen
-* Bugfix : Language typo fixes
-* Bugfix : Admin Pagination fix
-* Bugfix : Typo fix in widgets
-* Bugfix : Init column script after document is ready
-* Bugfix : htmlspecialchars() instead htmlentities() for links in the a href title description
-* Bugfix : Upgrade routine didn't add sortorder to correct table (THX to Uwe)
-* Bugfix : Correct shotcode in media upload tab
-
-= V1.1.0 - 26.01.2009 =
-* NEW : Pagination for album page via custom fields ('ngg_paged_Galleries')
-* NEW : Support for fixed number of columns inside the gallery
-* NEW : Added pagination for galleries and images in admin section
-* NEW : New action hook after image is added to database, called 'ngg_added_new_image'
-* NEW : New template for caption below images, called via [nggallery id=x template=caption]
-* Added : SWFUpload V2.2.0 B4
-* Changed : Rework of Manage image tables
-* Changed : Move imagerotator.swf to wp-content/uploads
-* Changed : Added a URL field to setup the path to the Imagerotator
-* Changed : Add additional parameter to gallery object
-* Changed : Load donators list external
-* Bugfix : Style fixes for tables in IE7
-* Bugfix : All albums code couldn't use the slideshow, query is empty for 0
-* Bugfix : Htmlentities() for links in the a href title description
-* Bugfix : Clean up mode for singlepic
-* Bugfix : Typo in widget settings
-
-= V1.0.2 - 19.12.2008 =
-* Added : Option to enable/disable the MediaRSS Feed
-* Added : For flash under FF3/WIN we should use outline: none;
-* Added : Use sort order also for Media RSS
-* Changed : Descending order for TinyMCE Editor
-* Changed : Added screencolor flashvar as bgcolor for the flash slideshow
-* Changed : Remove link to gallery in sidebar widget
-* Bugfix : Check for empty gallery title and show name instead
-* Bugfix : Album id=all / Album id=0 didn't show content
-* Bugfix : Check for a empty description and alttext
-* Bugfix : Remove HTML tags from slideshow
-* Bugfix : Load SWFobject always when the imagerotator exist
-* Bugfix : Zip-Upload in existing gallery failed
-* Bugifx : Typo in functions.php (THX to David Horat)
-
-= V1.0.1 - 11.12.2008 =
-* Bugfix : Change upgrade routine, import_date_time could cause a memory problem
-* Bugfix : Help pages will not show up in non-english enviroment
-* Bugfix : Show gallery name if title is empty
-
-= V1.0.0 - 11.12.2008 =
-* NEW : Adding some rewrite rules for the Blog title for a better SEO (Will be continued...)
-* NEW : Added ImageMagick support (currently a bit experimental) (THX to Frederic de Ranter)
-* NEW : Automatic unistall via register_uninstall_hook()
-* NEW : Added a presort option to sort easier the images
-* NEW : Lookup for a nggallery.css in the theme folder
-* NEW : Added Date/Time field to database and import it from EXIF, new sort option
-* NEW : Multi Widgets to show links to Media RSS feeds (THX to Vincent Prat)
-* NEW : PicLens support for galleries (THX to Vincent Prat)
-* NEW : Copy/Move images between galleries (THX to Vincent Prat)
-* NEW : Media RSS feeds (either for galleries, albums or global) (THX to Vincent Prat)
-* NEW : Image tag management (THX to Vincent Prat)
-* NEW : Convert all shortcodes to WP shortcodes API
-* NEW : AJAX based thumbnail generator
-* NEW : Create output via template files, more flexible and support for multiple templates
-* NEW : Extended role system. Each gallery has now a author
-* NEW : [thumb id="4,5,12,..."] shortcode. You can now insert thumbnails for one or more images (that are not necessarly inside the same gallery).
-* Changed : Add swfupload 2.2.0. Support for Adobe Flash 10 upload
-* Changed : Update all Admin pages for Wordpress 2.7 Admin UI
-* Changed : New icon for TinyMCE and WP2.7 Menue from http://www.pinvoke.com/
-* Changed : Move update message to admin.php
-* Changed : Widgets are now core and doesn't need to be activate, rework as Multi Widgets
-* Changed : Improved the gallery management page.
-* Changed : Rename the filter 'ngg_create_gallery_thumbcode' to 'ngg_get_thumbcode'.
-* Changed : Convert tags to WP-Taxonomy tables, no more need for ngg_tags, ngg_pic2tags
-* Changed : Arrange manage fields in a new way
-* Changed : Support now SSL
-* Changed : Use JQuery UI instead of interface lib
-* Changed : Updated to swfobject 2.1
-* Changed : Rework of database queries and new central nggdb class
-* Bugfix : Changed CSS for singlepic padding to margin
-* Bugfix : Check for zero in Exif Focal Length
-* Bugfix : Round instead inval for square thumbnails
-* Removed : Do not longer check for myGallery folders
-* Removed : Use now PclZip from WP Core
-* Removed : Wordpress 2.1 - 2.3 files deleted
-
-= V0.99 - 27.09.2008 =
-* Changed : Included swfobject version 2.1
-* Bugfix : Recognize the zip better
-* Bugfix : Limit the length of the title in the media-upload
-* Bugfix : Round instead inval for square thumbnails
-
-= V0.98 - 15.07.2008 =
-* Bugfix : Removed all whitespaces at EOF
-
-= V0.97 - 10.07.2008 =
-* Changed : Get new path contstant from WP2.6
-* Changed : Minor updates for WP2.6
-* Changed : Added new filters (THX to Vincent Prat)
-* Removed : Revert singlepic wrapper, breaks validation
-
-= V0.96 - 18.05.2008 =
-* Changed : Use postbox for gallery settings
-* Added : New filter function to add custom columns
-* Bugfix : Fixed width for Thickbox in Manage gallery
-* Bugfix : fixed width for media upload select box
-* Bugfix : Remove
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/album-extend.php b/src/wp-content/plugins/nextgen-gallery/view/album-extend.php
deleted file mode 100644
index e40bafc..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/album-extend.php
+++ /dev/null
@@ -1,43 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-?>
-
-
-
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/gallery-caption.php b/src/wp-content/plugins/nextgen-gallery/view/gallery-caption.php
deleted file mode 100644
index ec9effe..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/gallery-caption.php
+++ /dev/null
@@ -1,61 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-?>
-
-
-
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/gallery-carousel.php b/src/wp-content/plugins/nextgen-gallery/view/gallery-carousel.php
deleted file mode 100644
index 6831159..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/gallery-carousel.php
+++ /dev/null
@@ -1,56 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-?>
-
-
-
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/gallery.php b/src/wp-content/plugins/nextgen-gallery/view/gallery.php
deleted file mode 100644
index 0131c2b..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/gallery.php
+++ /dev/null
@@ -1,62 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-?>
-
-
-
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/imagebrowser-caption.php b/src/wp-content/plugins/nextgen-gallery/view/imagebrowser-caption.php
deleted file mode 100644
index 5f55ea3..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/imagebrowser-caption.php
+++ /dev/null
@@ -1,37 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-?>
-
-
-
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/imagebrowser-exif.php b/src/wp-content/plugins/nextgen-gallery/view/imagebrowser-exif.php
deleted file mode 100644
index 5874972..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/imagebrowser-exif.php
+++ /dev/null
@@ -1,67 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-
-?>
-
-
-
-
-
\ No newline at end of file
diff --git a/src/wp-content/plugins/nextgen-gallery/view/imagebrowser.php b/src/wp-content/plugins/nextgen-gallery/view/imagebrowser.php
deleted file mode 100644
index 5f55ea3..0000000
--- a/src/wp-content/plugins/nextgen-gallery/view/imagebrowser.php
+++ /dev/null
@@ -1,37 +0,0 @@
-
- If you would like to show the timestamp of the image ,you can use
-**/
-?>
-
-
-