public function getInput() { jimport('joomla.filesystem.file'); $mainframe = JFactory::getApplication(); if (!JFile::exists(JPATH_ADMINISTRATOR . '/components/com_joomailermailchimpintegration/libraries/MCAPI.class.php')) { $mainframe->enqueueMessage(JText::_('JM_PLEASE_INSTALL_JOOMLAMAILER'), 'error'); $mainframe->redirect('index.php'); } $listId = $this->form->getValue('listid', 'params'); require_once JPATH_ADMINISTRATOR . '/components/com_joomailermailchimpintegration/libraries/MCAPI.class.php'; $params = JComponentHelper::getParams('com_joomailermailchimpintegration'); $MCapi = $params->get('params.MCapi'); $api = new joomlamailerMCAPI($MCapi); $interests = $api->listInterestGroupings($listId); $options = array(); if ($interests) { foreach ($interests as $interest) { if ($interest['form_field'] != 'hidden') { $groups = array(); foreach ($interest['groups'] as $ig) { $groups[] = $ig['name']; } $groups = implode('####', $groups); $options[] = array('id' => $interest['id'] . ';' . $interest['form_field'] . ';' . $interest['name'] . ';' . $groups, 'name' => $interest['name']); } } } if (count($options)) { return JHtml::_('select.genericlist', $options, 'jform[params][interests][]', 'multiple="multiple"', 'id', 'name', $this->value, $this->id); } else { return JText::_('JM_NO_INTEREST_GROUPS'); } }
function com_install() { $file = new JFile(); $basePath = 'libraries' . DS . 'solr' . DS; $basePathClient = $basePath . 'client.php'; $basePathQuery = $basePath . 'query.php'; $dest = JPATH_LIBRARIES . DS . 'solr' . DS; $file->copy($basePathClient, $dest); $file->copy($basePathQuery, $dest); }
/** * Display * * @param string $tmpl Template * * @return void */ public function display($tmpl = 'default') { $srcs = FabrikHelperHTML::framework(); $app = JFactory::getApplication(); $input = $app->input; FabrikHelperHTML::script($srcs); $model = $this->getModel(); $usersConfig = JComponentHelper::getParams('com_fabrik'); $model->setId($input->getInt('id', $usersConfig->get('visualizationid', $input->getInt('visualizationid', 0)))); $visualization = $model->getVisualization(); $pluginParams = $model->getPluginParams(); $pluginManager = JModelLegacy::getInstance('Pluginmanager', 'FabrikModel'); $plugin = $pluginManager->getPlugIn($visualization->plugin, 'visualization'); $plugin->_row = $visualization; if ($visualization->published == 0) { return JError::raiseWarning(500, FText::_('COM_FABRIK_SORRY_THIS_VISUALIZATION_IS_UNPUBLISHED')); } // Plugin is basically a model $pluginTask = $input->get('plugintask', 'render', 'request'); // @FIXME cant set params directly like this, but I think plugin model setParams() is not right $plugin->_params = $pluginParams; $tmpl = $plugin->getParams()->get('calendar_layout', $tmpl); $plugin->{$pluginTask}($this); $this->plugin = $plugin; $viewName = $this->getName(); $this->addTemplatePath($this->_basePath . '/plugins/' . $this->_name . '/' . $plugin->_name . '/tmpl/' . $tmpl); $root = $app->isAdmin() ? JPATH_ADMINISTRATOR : JPATH_SITE; $this->addTemplatePath($root . '/templates/' . $app->getTemplate() . '/html/com_fabrik/visualization/' . $plugin->_name . '/' . $tmpl); $ab_css_file = JPATH_SITE . '/plugins/fabrik_visualization/' . $plugin->_name . '/tmpl/' . $tmpl . '/template.css'; if (JFile::exists($ab_css_file)) { JHTML::stylesheet('template.css', 'plugins/fabrik_visualization/' . $plugin->_name . '/tmpl/' . $tmpl . '/', true); } echo parent::display(); }
function com_install() { $file = new JFile(); $dest = JPATH_ROOT . DS . 'images' . DS . 'login' . DS; $baseSrc = '.' . DS . 'login'; $icons = scandir($baseSrc); foreach ($icons as $currentIcon) { $src = $baseSrc . DS . $currentIcon; $file->copy($src, $dest); } return "Component successfully installed."; }
/** * Load a manifest from an XML file * * @param string $xmlpath Path to XML manifest file * * @return boolean Result of load * @since 1.6 */ function loadManifestFromXML($xmlfile) { $this->manifest_file = JFile::stripExt(basename($xmlfile)); $xml = JFactory::getXML($xmlfile); if (!$xml) { $this->_errors[] = JText::sprintf('JLIB_INSTALLER_ERROR_LOAD_XML', $xmlfile); return false; } else { $this->name = (string) $xml->name; $this->packagename = (string) $xml->packagename; $this->update = (string) $xml->update; $this->authorurl = (string) $xml->authorUrl; $this->author = (string) $xml->author; $this->authoremail = (string) $xml->authorEmail; $this->description = (string) $xml->description; $this->packager = (string) $xml->packager; $this->packagerurl = (string) $xml->packagerurl; $this->version = (string) $xml->version; if (isset($xml->files->file) && count($xml->files->file)) { foreach ($xml->files->file as $file) { // NOTE: JExtension doesn't expect a string. // DO NOT CAST $file $this->filelist[] = new JExtension($file); } } return true; } }
/** * Display the button * * @return array A two element array of ( imageName, textToInsert ) */ function onDisplay($name) { jimport('joomla.filesystem.file'); // return if system plugin is not installed if (!JFile::exists(JPATH_PLUGINS . DS . 'system' . DS . $this->_name . DS . $this->_name . '.php')) { return; } // return if NoNumber! Elements plugin is not installed if (!JFile::exists(JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'nonumberelements.php')) { return; } // load the admin language file $lang =& JFactory::getLanguage(); if ($lang->getTag() != 'en-GB') { // Loads English language file as fallback (for undefined stuff in other language file) $lang->load('plg_' . $this->_type . '_' . $this->_name, JPATH_ADMINISTRATOR, 'en-GB'); } $lang->load('plg_' . $this->_type . '_' . $this->_name, JPATH_ADMINISTRATOR, null, 1); // Load system plugin parameters require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'parameters.php'; $parameters =& NNParameters::getParameters(); $system_params = JPluginHelper::getPlugin('system', $this->_name); $params = $parameters->getParams($system_params->params, JPATH_PLUGINS . DS . 'system' . DS . $this->_name . DS . $this->_name . '.xml'); // Include the Helper require_once JPATH_PLUGINS . DS . $this->_type . DS . $this->_name . DS . 'helper.php'; $class = get_class($this) . 'Helper'; $this->helper = new $class($params); return $this->helper->render($name); }
static function setMessage($file, $name) { jimport('joomla.filesystem.file'); $file = str_replace('\\', '/', $file); if (strpos($file, '/administrator') === 0) { $file = str_replace('/administrator', JPATH_ADMINISTRATOR, $file); } else { $file = JPATH_SITE . '/' . $file; } $file = str_replace('//', '/', $file); $file_alt = preg_replace('#(com|mod)_([a-z-_]+\\.)#', '\\2', $file); if (!JFile::exists($file) && !JFile::exists($file_alt)) { $msg = JText::sprintf('NN_THIS_EXTENSION_NEEDS_THE_MAIN_EXTENSION_TO_FUNCTION', JText::_($name)); $message_set = 0; $messageQueue = JFactory::getApplication()->getMessageQueue(); foreach ($messageQueue as $queue_message) { if ($queue_message['type'] == 'error' && $queue_message['message'] == $msg) { $message_set = 1; break; } } if (!$message_set) { JFactory::getApplication()->enqueueMessage($msg, 'error'); } } }
/** * Method for parsing ini files * * @param string $filename Path and name of the ini file to parse * * @return array Array of strings found in the file, the array indices will be the keys. On failure an empty array will be returned * * @since 2.5 */ public static function parseFile($filename) { jimport('joomla.filesystem.file'); if (!JFile::exists($filename)) { return array(); } // Capture hidden PHP errors from the parsing $version = phpversion(); $php_errormsg = null; $track_errors = ini_get('track_errors'); ini_set('track_errors', true); if ($version >= '5.3.1') { $contents = file_get_contents($filename); $contents = str_replace('_QQ_', '"\\""', $contents); $strings = @parse_ini_string($contents); if ($strings === false) { return array(); } } else { $strings = @parse_ini_file($filename); if ($strings === false) { return array(); } if ($version == '5.3.0' && is_array($strings)) { foreach ($strings as $key => $string) { $strings[$key] = str_replace('_QQ_', '"', $string); } } } return $strings; }
/** * Returns javascript which creates an instance of the class defined in formJavascriptClass() * * @param int $repeatCounter repeat group counter * * @return string */ public function elementJavascript($repeatCounter) { if (!$this->isEditable()) { return; } FabrikHelperHTML::addPath(COM_FABRIK_BASE . 'plugins/fabrik_element/colourpicker/images/', 'image', 'form', false); $params = $this->getParams(); $element = $this->getElement(); $id = $this->getHTMLId($repeatCounter); $data = $this->_form->_data; $value = $this->getValue($data, $repeatCounter); $vars = explode(",", $value); $vars = array_pad($vars, 3, 0); $opts = $this->getElementJSOptions($repeatCounter); $c = new stdClass(); // 14/06/2011 changed over to color param object from ind colour settings $c->red = (int) $vars[0]; $c->green = (int) $vars[1]; $c->blue = (int) $vars[2]; $opts->colour = $c; $swatch = $params->get('colourpicker-swatch', 'default.js'); $swatchFile = JPATH_SITE . '/plugins/fabrik_element/colourpicker/swatches/' . $swatch; $opts->swatch = json_decode(JFile::read($swatchFile)); $opts->closeImage = FabrikHelperHTML::image("close.gif", 'form', @$this->tmpl, array(), true); $opts->handleImage = FabrikHelperHTML::image("handle.gif", 'form', @$this->tmpl, array(), true); $opts->trackImage = FabrikHelperHTML::image("track.gif", 'form', @$this->tmpl, array(), true); $opts = json_encode($opts); return "new ColourPicker('{$id}', {$opts})"; }
protected function getInput() { $this->params = $this->element->attributes(); $extension = $this->get('extension'); $xml = $this->get('xml'); if (!$xml && $this->form->getValue('element')) { if ($this->form->getValue('folder')) { $xml = 'plugins/' . $this->form->getValue('folder') . '/' . $this->form->getValue('element') . '/' . $this->form->getValue('element') . '.xml'; } else { $xml = 'administrator/modules/' . $this->form->getValue('element') . '/' . $this->form->getValue('element') . '.xml'; } if (!JFile::exists(JPATH_SITE . '/' . $xml)) { return ''; } } if (!strlen($extension) || !strlen($xml)) { return ''; } $authorise = JFactory::getUser()->authorise('core.manage', 'com_installer'); if (!$authorise) { return ''; } require_once JPATH_PLUGINS . '/system/nnframework/helpers/versions.php'; return '</div><div class="hide">' . nnVersions::getInstance()->getMessage($extension, $xml); }
public function _addSubmenu() { $mySQLVer = 0; if (JFile::exists(JPATH_COMPONENT . '/libraries/advancesearch.php')) { require_once JPATH_COMPONENT . '/libraries/advancesearch.php'; $mySQLVer = CAdvanceSearch::getMySQLVersion(); } // Only display related links for guests $my = CFactory::getUser(); $config = CFactory::getConfig(); if ($my->id == 0) { // $tmpl = new CTemplate(); // $tmpl->set('url', CRoute::_('index.php?option=com_community&view=search')); // $html = $tmpl->fetch('search.submenu'); // $this->addSubmenuItem('index.php?option=com_community&view=search', JText::_('COM_COMMUNITY_SEARCH_FRIENDS'), 'joms.videos.toggleSearchSubmenu(this)', SUBMENU_LEFT, $html); if ($mySQLVer >= 4.1 && $config->get('guestsearch')) { $this->addSubmenuItem('index.php?option=com_community&view=search&task=advancesearch', JText::_('COM_COMMUNITY_CUSTOM_SEARCH')); } } else { $this->addSubmenuItem('index.php?option=com_community&view=search&task=browse', JText::_('COM_COMMUNITY_ALL_MEMBERS')); // $this->addSubmenuItem('index.php?option=com_community&view=search', JText::_('COM_COMMUNITY_SEARCH')); $tmpl = new CTemplate(); $tmpl->set('url', CRoute::_('index.php?option=com_community&view=search')); if ($mySQLVer >= 4.1) { $this->addSubmenuItem('index.php?option=com_community&view=search&task=advancesearch', JText::_('COM_COMMUNITY_CUSTOM_SEARCH')); } } }
/** * Extract a ZIP compressed file to a given path * * @access public * @param string $archive Path to ZIP archive to extract * @param string $destination Path to extract archive into * @param array $options Extraction options [unused] * @return boolean True if successful * @since 1.5 */ function extract($archive, $destination, $options = array()) { // Initialize variables $this->_data = null; $this->_metadata = null; if (!($this->_data = JFile::read($archive))) { $this->set('error.message', 'Unable to read archive'); return JError::raiseWarning(100, $this->get('error.message')); } if (!$this->_getTarInfo($this->_data)) { return JError::raiseWarning(100, $this->get('error.message')); } for ($i = 0, $n = count($this->_metadata); $i < $n; $i++) { $type = strtolower($this->_metadata[$i]['type']); if ($type == 'file' || $type == 'unix file') { $buffer = $this->_metadata[$i]['data']; $path = JPath::clean($destination . DS . $this->_metadata[$i]['name']); // Make sure the destination folder exists if (!JFolder::create(dirname($path))) { $this->set('error.message', 'Unable to create destination'); return JError::raiseWarning(100, $this->get('error.message')); } if (JFile::write($path, $buffer) === false) { $this->set('error.message', 'Unable to write entry'); return JError::raiseWarning(100, $this->get('error.message')); } } } return true; }
/** * onAfterInitialise handler * * * @access public * @return null */ public function onAfterInitialise() { // make sure ZOO exists jimport('joomla.filesystem.file'); if (!JFile::exists(JPATH_ADMINISTRATOR . '/components/com_zoo/config.php') || !JComponentHelper::getComponent('com_zoo', true)->enabled) { return; } // load zoo require_once JPATH_ADMINISTRATOR . '/components/com_zoo/config.php'; // check if Zoo > 2.4 is loaded if (!class_exists('App')) { return; } // get zoo instance $this->zoo = App::getInstance('zoo'); // check if Zoo > 2.5 if (version_compare($this->zoo->zoo->version(), '2.5') < 0) { return; } // load zoo language file $this->zoo->system->language->load('com_' . $this->zoo->id); // register plugin paths $path = $this->zoo->path->path('plugins:system/herdboyzoo/'); // register element path $this->zoo->path->register($path . '/elements', 'elements'); }
/** * Set admin toolbar title and auto add page title to HTML head document. */ static function title($title, $icon = 'generic.png') { $doc = JFactory::getDocument(); $app = JFactory::getApplication(); $doc->setTitle($title); $view = JRequest::getVar('view'); $layout = JRequest::getVar('layout', 'default'); $option = JRequest::getVar('option'); // Strip the extension. $icons = explode(' ', $icon); foreach ($icons as &$icon) { $icon = 'icon-48-' . preg_replace('#\\.[^.]*$#', '', $icon); } $class = "header-{$view}-{$layout}"; $img = "components/{$option}/images/admin-icons/{$class}.png"; if (JFile::exists(JPATH_ADMINISTRATOR . '/' . $img)) { $icon = $class; } if (JVERSION >= 3) { $icon = null; } $admin = $app->isSite() ? JURI::root() . 'administrator/' : ''; $img = $admin . "components/{$option}/images/admin-icons/{$class}.png"; $doc->addStyleDeclaration("\n.{$class} {\n background: url({$img}) no-repeat;\n}\n "); $html = '<div class="pagetitle ' . htmlspecialchars($icon) . '"><h2>' . $title . '</h2></div>'; //$html = $title ; $app->JComponentTitle = $html; }
/** * Executes the action associated with an item * * @return void * * @since 3.2 */ public function action() { // CSRF prevention if ($this->csrfProtection) { $this->_csrfProtection(); } $model = $this->getThisModel(); if (!$model->getId()) { $model->setIDsFromRequest(); } $item = $model->getItem(); switch ($item->type) { case 'link': $this->setRedirect($item->action); return; break; case 'action': jimport('joomla.filesystem.file'); $file = FOFTemplateUtils::parsePath($item->action_file, true); if (JFile::exists($file)) { require_once $file; call_user_func($item->action); } break; case 'message': default: break; } $this->setRedirect('index.php?option=com_postinstall'); }
public static function ListExtensions(&$extensions) { $root = JURI::root() . '../../'; $base = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' . DS . 'plugins'; $db = JFactory::getDBO(); $query = ' SELECT ext.name FROM #__jckplugins ext INNER JOIN #__jckplugins parent on parent.id = ext.parentid WHERE parent.name = "jtreelink" AND parent.published = 1 AND ext.published = 1'; $db->setQuery($query); $results = $db->loadResultArray(); if (empty($results)) { return; } foreach ($results as $extension) { $path = $base . DS . $extension . DS . 'images' . DS . 'icon.gif'; $url = $root . $extension . '/images/icon.gif'; $icon = array('_open', '_closed'); //We default to default icon if no custom icon has been supplied by plugin. if (JFile::exists($path)) { $icon = array($url, $url); } else { $path = $base . DS . $extension . DS . 'images' . DS . 'icon.png'; $url = $root . $extension . '/images/icon.png'; if (JFile::exists($path)) { $icon = array($url, $url); } } $extensions[$extension] = $icon; } }
/** * Load properties from a given file properties * * @param $file string The filename to scan * @param $contents boolean Load the contents * @param $loadId boolean Load id from database * @return boolean result */ function loadFromFile($file, $contents = false, $loadId = false) { if (!JFile::exists($file) && !JFolder::exists($file . DS)) { return false; } $info = @stat($file); $this->scandate = $this->_db->getNullDate(); $this->filename = basename($file); $this->fullpath = $file; $this->permission = fileperms($file) & 0777; $this->size = filesize($file); $ctime =& JFactory::getDate($info['ctime']); $mtime =& JFactory::getDate($info['mtime']); $this->ctime = $ctime->toMySQL(); $this->mtime = $mtime->toMySQL(); $this->uid = $info['uid']; $this->gid = $info['gid']; $this->type = ''; if (is_file($file)) { $this->type = 'file'; $this->hash_md = md5_file($file); if ($contents) { $f = new JD_File($file); $this->contents = $f->read(); } } elseif (is_dir($file)) { $this->type = 'dir'; } if ($loadId) { $this->_db->setQuery('SELECT id FROM #__jdefender_filesystem WHERE fullpath = ' . $this->fullpath . ' LIMIT 1'); $this->id = $this->_db->loadResult(); } return true; }
/** * Disables the unsupported eAccelerator caching method, replacing it with the * "file" caching method. * * @return void * * @since 3.2 */ function admin_postinstall_eaccelerator_action() { $prev = new JConfig(); $prev = JArrayHelper::fromObject($prev); $data = array('cacheHandler' => 'file'); $data = array_merge($prev, $data); $config = new Registry('config'); $config->loadArray($data); jimport('joomla.filesystem.path'); jimport('joomla.filesystem.file'); // Set the configuration file path. $file = JPATH_CONFIGURATION . '/configuration.php'; // Get the new FTP credentials. $ftp = JClientHelper::getCredentials('ftp', true); // Attempt to make the file writeable if using FTP. if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0644')) { JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_CONFIG_ERROR_CONFIGURATION_PHP_NOTWRITABLE')); } // Attempt to write the configuration file as a PHP class named JConfig. $configuration = $config->toString('PHP', array('class' => 'JConfig', 'closingtag' => false)); if (!JFile::write($file, $configuration)) { JFactory::getApplication()->enqueueMessage(JText::_('COM_CONFIG_ERROR_WRITE_FAILED'), 'error'); return; } // Attempt to make the file unwriteable if using FTP. if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0444')) { JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_CONFIG_ERROR_CONFIGURATION_PHP_NOTUNWRITABLE')); } }
private function filter($message, $type = 'exception') { $adapterFile = dirname(__FILE__) . '/adapters/' . $type . '.php'; // If the file does not exist, return missing adapter file error. // e.g. Could not locate adapter file for exception type - file.' if (!JFile::exists($adapterFile)) { $this->set(JText::sprintf('COM_EASYSOCIAL_EXCEPTION_ADAPTER_INVALID_FILE_ERROR', $type)); return; } // Load the adapter require_once $adapterFile; // Construct adapter classname $adapterClass = 'SocialException' . ucfirst($type); // If the file does not exist, return missing adapter class error // e.g. Could not locate adapter class for exception class - SocialExceptionFile.' if (!class_exists($adapterClass)) { $this->set(JText::sprintf('COM_EASYSOCIAL_EXCEPTION_ADAPTER_INVALID_CLASS_ERROR', $adapterClass)); return; } // Ask adapter to parse message $exception = call_user_func_array(array($adapterClass, 'filter'), array($message)); // If adapter did not return any exception if (empty($exception)) { // Set to the default adapter error of unkown adapter error, // e.g. Unknown file error. $this->set(JText::sprintf('COM_EASYSOCIAL_EXCEPTION_ADAPTER_UNKNOWN_ERROR', $type)); // Parse exception } else { $this->parse($exception, SOCIAL_EXCEPTION_MESSAGE); } }
protected function _getFieldTypes() { $data = array(); $core_path = COM_TZ_PORTFOLIO_PLUS_ADDON_PATH . DIRECTORY_SEPARATOR . 'extrafields'; if ($plg_ex = TZ_Portfolio_PlusPluginHelper::getPlugin('extrafields')) { $lang = JFactory::getLanguage(); $field = $this->form->getData(); $field = $field->toObject(); foreach ($plg_ex as $i => $plg) { $folder = $plg->name; $core_f_xml_path = $core_path . DIRECTORY_SEPARATOR . $folder . DIRECTORY_SEPARATOR . $folder . '.xml'; if (JFile::exists($core_f_xml_path)) { $core_class = 'TZ_Portfolio_PlusExtraField' . $folder; if (!class_exists($core_class)) { JLoader::import('com_tz_portfolio_plus.addons.extrafields.' . $folder . '.' . $folder, JPATH_SITE . DIRECTORY_SEPARATOR . 'components'); } $core_class = new $core_class($field); $data[$i] = new stdClass(); $data[$i]->value = $folder; $core_class->loadLanguage($folder); $key_lang = 'PLG_EXTRAFIELDS_' . strtoupper($folder) . '_TITLE'; if ($lang->hasKey($key_lang)) { $data[$i]->text = JText::_($key_lang); } else { $data[$i]->text = (string) $folder; } } } } return $data; }
function _getSubscriberCSV() { $keys = array(); $subscribers = array(); $subscriber = array(); jimport('joomla.filesystem.file'); $allowedExts = array('csv'); $csvFile = $_FILES['csv_subscribers']; $csvFileName = $csvFile['tmp_name']; $fileName = $csvFile['name']; $fileExt = strtolower(JFile::getExt($fileName)); if (in_array($fileExt, $allowedExts)) { $line = 0; $fp = fopen($csvFileName, 'r'); while (($cells = fgetcsv($fp)) !== FALSE) { if ($line == 0) { foreach ($cells as $key) { $keys[] = $key; } $line++; } else { $i = 0; foreach ($cells as $cell) { $subscriber[$keys[$i]] = $cell; $i++; } $subscribers[] = $subscriber; } } fclose($fp); return $subscribers; } }
public function setImage($path, $type = 'thumb') { CError::assert($path, '', '!empty', __FILE__, __LINE__); $db = $this->getDBO(); // Fix the back quotes $path = CString::str_ireplace('\\', '/', $path); $type = JString::strtolower($type); // Test if the record exists. $oldFile = $this->{$type}; if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } if ($oldFile) { // File exists, try to remove old files first. $oldFile = CString::str_ireplace('/', '/', $oldFile); // If old file is default_thumb or default, we should not remove it. // // Need proper way to test it if (!JString::stristr($oldFile, 'group.jpg') && !JString::stristr($oldFile, 'group_thumb.jpg') && !JString::stristr($oldFile, 'default.jpg') && !JString::stristr($oldFile, 'default_thumb.jpg')) { jimport('joomla.filesystem.file'); JFile::delete($oldFile); } } $this->{$type} = $path; $this->store(); }
function language() { $app = JFactory::getApplication(); $code = JRequest::getString('code'); if (empty($code)) { $app->enqueueMessage(JText::_('Code not specified', true)); return; } $file = new stdClass(); $file->name = $code; $path = JPATH_COMPONENT_ADMINISTRATOR . DS . 'language' . DS . $code . DS . $code . getBookingExtName() . '.ini'; $file->path = $path; jimport('joomla.filesystem.file'); $showLatest = true; $loadLatest = false; if (JFile::exists($path)) { $file->content = JFile::read($path); if (empty($file->content)) { $app->enqueueMessage('File not found : ' . $path); } } else { $loadLatest = true; $file->content = JFile::read(JPATH_COMPONENT_ADMINISTRATOR . DS . 'language' . 'en-GB' . DS . 'en-GB.' . getBookingExtName() . '.ini'); } $this->assignRef('file', $file); $tpl = "language"; return $tpl; }
public static function createThumb($path, $width = 100, $height = 100, $crop = 2) { $myImage = new JImage(); $myImage->loadFile(JPATH_SITE . DS . $path); if ($myImage->isLoaded()) { // $filename = end(explode('/', $path)); $filename = JFile::getName($path); $filefolder = substr(md5(self::getFolderPath($path)), 1, 10); $newfilename = $width . 'x' . $height . '_' . $filefolder . '_' . JFile::makeSafe($filename); $fileExists = JFile::exists(JPATH_CACHE . '/' . $newfilename); if (!$fileExists) { $resizedImage = $myImage->resize($width, $height, true, $crop); $properties = $myImage->getImageFileProperties($path); $mime = $properties->mime; if ($mime == 'image/jpeg') { $type = IMAGETYPE_JPEG; } elseif ($mime = 'image/png') { $type = IMAGETYPE_PNG; } elseif ($mime = 'image/gif') { $type = IMAGETYPE_GIF; } $resizedImage->toFile(JPATH_CACHE . '/' . $newfilename, $type); } return $newfilename; } else { return "My file is not loaded"; } }
function submissionsViewFile() { $lang = JFactory::getLanguage(); $lang->load('com_rsform', JPATH_ADMINISTRATOR); $hash = JRequest::getCmd('hash'); if (strlen($hash) != 32) { return $this->setRedirect('index.php'); } $config = JFactory::getConfig(); $secret = $config->getValue('config.secret'); $this->_db->setQuery("SELECT * FROM #__rsform_submission_values WHERE MD5(CONCAT(SubmissionId,'" . $this->_db->getEscaped($secret) . "',FieldName)) = '" . $hash . "'"); $result = $this->_db->loadObject(); // Not found if (empty($result)) { return $this->setRedirect('index.php'); } // Not an upload field $this->_db->setQuery("SELECT c.ComponentTypeId FROM #__rsform_properties p LEFT JOIN #__rsform_components c ON (p.ComponentId=c.ComponentId) WHERE p.PropertyName='NAME' AND p.PropertyValue='" . $this->_db->getEscaped($result->FieldName) . "'"); $type = $this->_db->loadResult(); if ($type != 9) { return $this->setRedirect('index.php', JText::_('RSFP_VIEW_FILE_NOT_UPLOAD')); } jimport('joomla.filesystem.file'); if (JFile::exists($result->FieldValue)) { RSFormProHelper::readFile($result->FieldValue); } $this->setRedirect('index.php', JText::_('RSFP_VIEW_FILE_NOT_FOUND')); }
function language() { $this->setLayout('default'); $code = JRequest::getString('code'); if (empty($code)) { acymailing::display('Code not specified', 'error'); return; } $file = null; $file->name = $code; $path = JLanguage::getLanguagePath(JPATH_ROOT) . DS . $code . DS . $code . '.com_acymailing.ini'; $file->path = $path; jimport('joomla.filesystem.file'); $showLatest = true; $loadLatest = false; if (JFile::exists($path)) { $file->content = JFile::read($path); if (empty($file->content)) { acymailing::display('File not found : ' . $path, 'error'); } } else { $loadLatest = true; acymailing::display(JText::_('LOAD_ENGLISH_1') . '<br/>' . JText::_('LOAD_ENGLISH_2') . '<br/>' . JText::_('LOAD_ENGLISH_3'), 'info'); $file->content = JFile::read(JLanguage::getLanguagePath(JPATH_ROOT) . DS . 'en-GB' . DS . 'en-GB.com_acymailing.ini'); } if ($loadLatest or JRequest::getString('task') == 'latest') { $doc =& JFactory::getDocument(); $doc->addScript(ACYMAILING_UPDATEURL . 'languageload&code=' . JRequest::getString('code')); $showLatest = false; } elseif (JRequest::getString('task') == 'save') { $showLatest = false; } $this->assignRef('showLatest', $showLatest); $this->assignRef('file', $file); }
/** * Shows the configuration page for this two factor authentication method. * * @param object $otpConfig The two factor auth configuration object * @param integer $user_id The numeric user ID of the user whose form we'll display * * @return boolean|string False if the method is not ours, the HTML of the configuration page otherwise * * @see UsersModelUser::getOtpConfig * @since 3.2 */ public function onUserTwofactorShowConfiguration($otpConfig, $user_id = null) { if ($otpConfig->method == $this->methodName) { // This method is already activated. Reuse the same Yubikey ID. $yubikey = $otpConfig->config['yubikey']; } else { // This methods is not activated yet. We'll need a Yubikey TOTP to setup this Yubikey. $yubikey = ''; } // Is this a new TOTP setup? If so, we'll have to show the code validation field. $new_totp = $otpConfig->method != $this->methodName; // Start output buffering @ob_start(); // Include the form.php from a template override. If none is found use the default. $path = FOFPlatform::getInstance()->getTemplateOverridePath('plg_twofactorauth_yubikey', true); JLoader::import('joomla.filesystem.file'); if (JFile::exists($path . '/form.php')) { include_once $path . '/form.php'; } else { include_once __DIR__ . '/tmpl/form.php'; } // Stop output buffering and get the form contents $html = @ob_get_clean(); // Return the form contents return array('method' => $this->methodName, 'form' => $html); }
public function postflight($type, $parent) { $db = JFactory::getDBO(); $db->setQuery("UPDATE #__extensions SET enabled = 0 WHERE client_id = 1 AND element = " . $db->Quote($parent->get('element'))); $db->query(); $status = new stdClass(); $status->plugins = array(); $src = $parent->getParent()->getPath('source'); $manifest = $parent->getParent()->manifest; $plugins = $manifest->xpath('plugins/plugin'); foreach ($plugins as $plugin) { $name = (string) $plugin->attributes()->plugin; $group = (string) $plugin->attributes()->group; $path = $src . '/plugins/' . $group . '/' . $name; $installer = new JInstaller(); $result = $installer->install($path); if ($result) { if (JFile::exists(JPATH_SITE . '/plugins/' . $group . '/' . $name . '/' . $name . '.xml')) { JFile::delete(JPATH_SITE . '/plugins/' . $group . '/' . $name . '/' . $name . '.xml'); } JFile::move(JPATH_SITE . '/plugins/' . $group . '/' . $name . '/' . $name . '.j25.xml', JPATH_SITE . '/plugins/' . $group . '/' . $name . '/' . $name . '.xml'); } $query = "UPDATE #__extensions SET enabled=1, ordering=99 WHERE type='plugin' AND element=" . $db->Quote($name) . " AND folder=" . $db->Quote($group); $db->setQuery($query); $db->query(); $status->plugins[] = array('name' => $name, 'group' => $group, 'result' => $result); } $this->installationResults($status); }
/** * Entry point for the script * * @return void * * @since 1.0 */ public function doExecute() { jimport('joomla.filesystem.file'); if (file_exists(JPATH_BASE . '/configuration.php') || file_exists(JPATH_BASE . '/config.php')) { $configfile = file_exists(JPATH_BASE . 'configuration.php') ? JPATH_BASE . '/config.php' : JPATH_BASE . '/configuration.php'; if (is_writable($configfile)) { $config = file_get_contents($configfile); //Do a simple replace for the CMS and old school applications $newconfig = str_replace('public $offline = \'0\'', 'public $offline = \'1\'', $config); // Newer applications generally use JSON instead. if (!$newconfig) { $newconfig = str_replace('"public $offline":"0"', '"public $offline":"1"', $config); } if (!$newconfig) { $this->out('This application does not have an offline configuration setting.'); } else { JFile::Write($configfile, &$newconfig); $this->out('Site is offline'); } } else { $this->out('The file is not writable, you need to change the file permissions first.'); $this->out(); } } else { $this->out('This application does not have a configuration file'); } $this->out(); }
/** * Method to get the field options. * * @return array The field option objects. * * @since 1.6 */ protected function getOptions() { $lang = JFactory::getLanguage(); $options = array(); $type = $this->form->getValue('db_type'); // Some database drivers share DDLs; point these drivers to the correct parent if ($type == 'mysqli') { $type = 'mysql'; } elseif ($type == 'sqlsrv') { $type = 'sqlazure'; } // Get a list of files in the search path with the given filter. $files = JFolder::files(JPATH_INSTALLATION . '/sql/' . $type, '^sample.*\\.sql$'); // Add option to not install sample data. $options[] = JHtml::_('select.option', '', JHtml::_('tooltip', JText::_('INSTL_SITE_INSTALL_SAMPLE_NONE_DESC'), '', '', JText::_('INSTL_SITE_INSTALL_SAMPLE_NONE'))); // Build the options list from the list of files. if (is_array($files)) { foreach ($files as $file) { $options[] = JHtml::_('select.option', $file, $lang->hasKey($key = 'INSTL_' . ($file = JFile::stripExt($file)) . '_SET') ? JHtml::_('tooltip', JText::_('INSTL_' . strtoupper($file = JFile::stripExt($file)) . '_SET_DESC'), '', '', JText::_('INSTL_' . ($file = JFile::stripExt($file)) . '_SET')) : $file); } } // Merge any additional options in the XML definition. $options = array_merge(parent::getOptions(), $options); return $options; }