%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/lightco1/public_html/plugins/csvirules/replace/
Upload File :
Create Path :
Current File : //home1/lightco1/public_html/plugins/csvirules/replace/replace.php

<?php
/**
 * @package     CSVI
 * @subpackage  Plugin.Replace
 *
 * @author      Roland Dalmulder <contact@csvimproved.com>
 * @copyright   Copyright (C) 2006 - 2016 RolandD Cyber Produksi. All rights reserved.
 * @license     GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 * @link        http://www.csvimproved.com
 */

defined('_JEXEC') or die;

/**
 * Replaces values.
 *
 * @package     CSVI
 * @subpackage  Plugin.Replace
 * @since       6.0
 */
class PlgCsvirulesReplace extends RantaiPluginDispatcher
{
	/**
	 * The unique ID of the plugin
	 *
	 * @var    string
	 * @since  6.0
	 */
	private $id = 'csvireplace';

	/**
	 * Return the name of the plugin.
	 *
	 * @return  array  The name and ID of the plugin.
	 *
	 * @since   6.0
	 */
	public function getName()
	{
		return array('value' => $this->id, 'text' => 'CSVI Replace');
	}

	/**
	 * Method to get the name only of the plugin.
	 *
	 * @param   string  $plugin  The ID of the plugin
	 *
	 * @return  string  The name of the plugin.
	 *
	 * @since   6.0
	 */
	public function getSingleName($plugin)
	{
		if ($plugin === $this->id)
		{
			return 'CSVI Replace';
		}

		return '';
	}

	/**
	 * Method to get the field options.
	 *
	 * @param   string  $plugin   The ID of the plugin
	 * @param   array   $options  An array of settings
	 *
	 * @return  string  The rendered form with plugin options.
	 *
	 * @since   6.0
	 * @throws  RuntimeException
	 * @throws  InvalidArgumentException
	 */
	public function getForm($plugin, $options = array())
	{
		if ($plugin === $this->id)
		{
			// Load the language files
			$lang = JFactory::getLanguage();
			$lang->load('plg_csvirules_replace', JPATH_ADMINISTRATOR, 'en-GB', true);
			$lang->load('plg_csvirules_replace', JPATH_ADMINISTRATOR, null, true);

			// Add the form path for this plugin
			JForm::addFormPath(JPATH_PLUGINS . '/csvirules/replace/');

			// Load the helper that renders the form
			$helper = new CsviHelperCsvi;

			// Instantiate the form
			$form = JForm::getInstance('replace', 'form_replace');

			// Bind any existing data
			$form->bind(array('pluginform' => $options));

			// Create some dummies
			$input = new JInput;

			// Render the form
			return $helper->renderCsviForm($form, $input);
		}
	}

	/**
	 * Run the rule.
	 *
	 * @param   string            $plugin    The ID of the plugin
	 * @param   object            $settings  The plugin settings set for the field
	 * @param   object            $field     The field being process
	 * @param   CsviHelperFields  $fields    All fields used for import/export
	 *
	 * @return  void.
	 *
	 * @since   6.0
	 */
	public function runRule($plugin, $settings, $field, $fields)
	{
		if ($plugin === $this->id && !empty($settings))
		{
			// Check if we have a multiple values
			$findText = $settings->findtext;
			$replaceText = $settings->replacetext;

			if ($settings->multivalue)
			{
				$separator = $settings->separator;
				$findText = explode($separator, $settings->findtext);
				$replaceText = explode($separator, $settings->replacetext);
			}

			// Set the old value
			$value = $field->value;

			// Check if we need to apply the change
			if (!isset($settings->applywhenempty))
			{
				$settings->applywhenempty = 1;
			}

			// If the field is empty and applywhenempty setting is no then do nothing
			if ('' !== $value || $settings->applywhenempty)
			{
				switch ($settings->method)
				{
					case 'text':
						$value = str_ireplace($findText, $replaceText, $field->value);
						break;
					case 'regex':
						$value = preg_replace($findText, $replaceText, $field->value);
						break;
				}

				// Update the field if needed
				if ($field->value !== $value)
				{
					$fields->updateField($field, $value);
				}
			}
		}
	}
}

Zerion Mini Shell 1.0