Example #1
0
 protected static function _load($option)
 {
     if (isset(self::$components[$option]) and self::$components[$option] !== null) {
         return true;
     }
     mimport('framework.filesystem.folder');
     $folders = MFolder::folders(MPATH_WP_PLG);
     if (empty($folders)) {
         self::$components[$option] = new stdClass();
         return false;
     }
     self::$components = array();
     $n = count($folders);
     for ($i = 0; $i < $n; $i++) {
         $folder = @$folders[$i];
         if (empty($folder)) {
             continue;
         }
         if (substr($folder, 0, 4) != 'miwo') {
             continue;
         }
         $com = new stdClass();
         $com->id = $i;
         $com->option = 'com_' . $folder;
         $com->params = MFactory::getWOption($folder);
         $com->enabled = 1;
         // Convert the params to an object.
         if (is_string($com->params)) {
             $temp = new MRegistry();
             $temp->loadString($com->params);
             $com->params = $temp;
         }
         self::$components[$com->option] = $com;
     }
     return true;
 }
Example #2
0
 public function initialise()
 {
     $miwi = MPATH_WP_CNT . '/miwi/initialise.php';
     if (!file_exists($miwi)) {
         return false;
     }
     require_once $miwi;
     $this->app = MFactory::getApplication();
     $this->app->initialise();
     # auto upgrade
     mimport('joomla.application.component.helper');
     $config = MComponentHelper::getParams('com_' . $this->context);
     if (!empty($config) and file_exists(MPATH_WP_CNT . '/miwi/autoupdate.php')) {
         $pid = $config->get('pid');
         if (!empty($pid)) {
             $path = 'http://miwisoft.com/index.php?option=com_mijoextensions&view=download&pack=upgrade&model=' . $this->context . '&pid=' . $pid;
             require_once MPATH_WP_CNT . '/miwi/autoupdate.php';
             new MiwisoftAutoUpdate($path, $this->context);
         }
     }
 }
Example #3
0
 protected function getInput()
 {
     $assetField = $this->element['asset_field'] ? (string) $this->element['asset_field'] : 'asset_id';
     $authorField = $this->element['created_by_field'] ? (string) $this->element['created_by_field'] : 'created_by';
     $asset = $this->form->getValue($assetField) ? $this->form->getValue($assetField) : (string) $this->element['asset_id'];
     if ($asset == '') {
         $asset = MRequest::getCmd('option');
     }
     $link = (string) $this->element['link'];
     if (!self::$initialised) {
         // Load the modal behavior script.
         MHtml::_('behavior.modal');
         // Build the script.
         $script = array();
         $script[] = '	function jInsertFieldValue(value, id) {';
         $script[] = '		var old_value = document.id(id).value;';
         $script[] = '		if (old_value != value) {';
         $script[] = '			var elem = document.id(id);';
         $script[] = '			elem.value = value;';
         $script[] = '			elem.fireEvent("change");';
         $script[] = '			if (typeof(elem.onchange) === "function") {';
         $script[] = '				elem.onchange();';
         $script[] = '			}';
         $script[] = '			jMediaRefreshPreview(id);';
         $script[] = '		}';
         $script[] = '	}';
         $script[] = '	function jMediaRefreshPreview(id) {';
         $script[] = '		var value = document.id(id).value;';
         $script[] = '		var img = document.id(id + "_preview");';
         $script[] = '		if (img) {';
         $script[] = '			if (value) {';
         $script[] = '				img.src = "' . MURI::root() . '" + value;';
         $script[] = '				document.id(id + "_preview_empty").setStyle("display", "none");';
         $script[] = '				document.id(id + "_preview_img").setStyle("display", "");';
         $script[] = '			} else { ';
         $script[] = '				img.src = ""';
         $script[] = '				document.id(id + "_preview_empty").setStyle("display", "");';
         $script[] = '				document.id(id + "_preview_img").setStyle("display", "none");';
         $script[] = '			} ';
         $script[] = '		} ';
         $script[] = '	}';
         $script[] = '	function jMediaRefreshPreviewTip(tip)';
         $script[] = '	{';
         $script[] = '		tip.setStyle("display", "block");';
         $script[] = '		var img = tip.getElement("img.media-preview");';
         $script[] = '		var id = img.getProperty("id");';
         $script[] = '		id = id.substring(0, id.length - "_preview".length);';
         $script[] = '		jMediaRefreshPreview(id);';
         $script[] = '	}';
         // Add the script to the document head.
         MFactory::getDocument()->addScriptDeclaration(implode("\n", $script));
         self::$initialised = true;
     }
     // Initialize variables.
     $html = array();
     $attr = '';
     // Initialize some field attributes.
     $attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';
     $attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
     // Initialize JavaScript field attributes.
     $attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
     // The text field.
     $html[] = '<div class="fltlft">';
     $html[] = '	<input type="text" name="' . $this->name . '" id="' . $this->id . '"' . ' value="' . htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '"' . ' readonly="readonly"' . $attr . ' />';
     $html[] = '</div>';
     $directory = (string) $this->element['directory'];
     if ($this->value && file_exists(MPATH_ROOT . '/' . $this->value)) {
         $folder = explode('/', $this->value);
         array_shift($folder);
         array_pop($folder);
         $folder = implode('/', $folder);
     } elseif (file_exists(MPATH_ROOT . '/' . MComponentHelper::getParams('com_media')->get('image_path', 'images') . '/' . $directory)) {
         $folder = $directory;
     } else {
         $folder = '';
     }
     // The button.
     $html[] = '<div class="button2-left">';
     $html[] = '	<div class="blank">';
     $html[] = '		<a class="modal" title="' . MText::_('MLIB_FORM_BUTTON_SELECT') . '"' . ' href="' . ($this->element['readonly'] ? '' : ($link ? $link : 'index.php?option=com_media&amp;view=images&amp;tmpl=component&amp;asset=' . $asset . '&amp;author=' . $this->form->getValue($authorField)) . '&amp;fieldid=' . $this->id . '&amp;folder=' . $folder) . '"' . ' rel="{handler: \'iframe\', size: {x: 800, y: 500}}">';
     $html[] = MText::_('MLIB_FORM_BUTTON_SELECT') . '</a>';
     $html[] = '	</div>';
     $html[] = '</div>';
     $html[] = '<div class="button2-left">';
     $html[] = '	<div class="blank">';
     $html[] = '		<a title="' . MText::_('MLIB_FORM_BUTTON_CLEAR') . '"' . ' href="#" onclick="';
     $html[] = 'jInsertFieldValue(\'\', \'' . $this->id . '\');';
     $html[] = 'return false;';
     $html[] = '">';
     $html[] = MText::_('MLIB_FORM_BUTTON_CLEAR') . '</a>';
     $html[] = '	</div>';
     $html[] = '</div>';
     // The Preview.
     $preview = (string) $this->element['preview'];
     $showPreview = true;
     $showAsTooltip = false;
     switch ($preview) {
         case 'false':
         case 'none':
             $showPreview = false;
             break;
         case 'true':
         case 'show':
             break;
         case 'tooltip':
         default:
             $showAsTooltip = true;
             $options = array('onShow' => 'jMediaRefreshPreviewTip');
             MHtml::_('behavior.tooltip', '.hasTipPreview', $options);
             break;
     }
     if ($showPreview) {
         if ($this->value && file_exists(MPATH_ROOT . '/' . $this->value)) {
             $src = MURI::root() . $this->value;
         } else {
             $src = '';
         }
         $attr = array('id' => $this->id . '_preview', 'class' => 'media-preview', 'style' => 'max-width:160px; max-height:100px;');
         $img = MHtml::image($src, MText::_('MLIB_FORM_MEDIA_PREVIEW_ALT'), $attr);
         $previewImg = '<div id="' . $this->id . '_preview_img"' . ($src ? '' : ' style="display:none"') . '>' . $img . '</div>';
         $previewImgEmpty = '<div id="' . $this->id . '_preview_empty"' . ($src ? ' style="display:none"' : '') . '>' . MText::_('MLIB_FORM_MEDIA_PREVIEW_EMPTY') . '</div>';
         $html[] = '<div class="media-preview fltlft">';
         if ($showAsTooltip) {
             $tooltip = $previewImgEmpty . $previewImg;
             $options = array('title' => MText::_('MLIB_FORM_MEDIA_PREVIEW_SELECTED_IMAGE'), 'text' => MText::_('MLIB_FORM_MEDIA_PREVIEW_TIP_TITLE'), 'class' => 'hasTipPreview');
             $html[] = MHtml::tooltip($tooltip, $options);
         } else {
             $html[] = ' ' . $previewImgEmpty;
             $html[] = ' ' . $previewImg;
         }
         $html[] = '</div>';
     }
     return implode("\n", $html);
 }
Example #4
0
 public function getParams($option = null)
 {
     static $params = array();
     $hash = '__default';
     if (!empty($option)) {
         $hash = $option;
     }
     if (!isset($params[$hash])) {
         // Get component parameters
         if (!$option) {
             $option = MRequest::getCmd('option');
         }
         // Get new instance of component global parameters
         $params[$hash] = clone MComponentHelper::getParams($option);
     }
     return $params[$hash];
 }
Example #5
0
 protected function populateState()
 {
     $table = $this->getTable();
     $key = $table->getKeyName();
     // Get the pk of the record from the request.
     $pk = MFactory::getApplication()->input->getInt($key);
     $this->setState($this->getName() . '.id', $pk);
     // Load the parameters.
     $value = MComponentHelper::getParams($this->option);
     $this->setState('params', $value);
 }