diff --git a/README.markdown b/README.markdown index 44ad0eb8..a2f30ec0 100644 --- a/README.markdown +++ b/README.markdown @@ -14,7 +14,7 @@ Requirements Support =============== -* Documentation for *Podcast Manager* is available on my website at http://www.babdev.com/extensions/podcast-manager. +* Documentation for *Podcast Manager* is available on my website at https://www.babdev.com/extensions/podcast-manager. * If you've found a bug, please report it to the Issue Tracker at https://github.com/BabDev/podcast-manager/issues. Installation Package diff --git a/build.xml b/build.xml index a87a65f5..4b93358f 100644 --- a/build.xml +++ b/build.xml @@ -2,7 +2,7 @@ - + @@ -40,6 +40,8 @@ + + @@ -57,6 +59,8 @@ + + diff --git a/com_podcastmanager/admin/controller.php b/com_podcastmanager/admin/controller.php index 30871e08..7af327e2 100644 --- a/com_podcastmanager/admin/controller.php +++ b/com_podcastmanager/admin/controller.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -38,7 +38,7 @@ class PodcastManagerController extends JControllerLegacy * @param array $urlparams An array of safe url parameters and their variable types, * for valid values see {@link JFilterInput::clean()}. * - * @return JControllerLegacy A JControllerLegacy object to support chaining. + * @return PodcastManagerController Instance of $this to support chaining. * * @since 1.6 */ @@ -71,8 +71,121 @@ public function display($cachable = false, $urlparams = array()) return false; } - parent::display(); + return parent::display(); + } + + /** + * Executes the extension's migration steps + * + * @return void + * + * @since 2.2 + */ + public function migrate() + { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + + $errors = array(); + $input = JFactory::getApplication('administrator')->input; + $migrationTasks = json_decode(base64_decode($input->getBase64('migrationTasks')), true); + + if (count($migrationTasks)) + { + $tasks = array_keys($migrationTasks); + + foreach ($tasks as $task) + { + switch ($task) + { + case 'noFeedType' : + case 'noPodcastType' : + include_once JPATH_COMPONENT . '/helpers/podcastmanager.php'; + + try + { + PodcastManagerHelper::insertUcmRecords(); + } + catch (RuntimeException $e) + { + $errors[] = JText::sprintf( + 'COM_PODCASTMANAGER_MIGRATION_ERROR_INSERTING_UCM_RECORDS', + strtolower(str_replace(array('no', 'Type'), '', $task)), + $e->getMessage() + ); + } + + break; + + case 'noLayouts' : + // To build the package URL, we'll need to get the extension's version + $manifest = JApplicationHelper::parseXMLInstallFile(JPATH_ADMINISTRATOR . '/components/com_podcastmanager/podcastmanager.xml'); + $version = $manifest['version']; + $url = 'https://github.com/BabDev/Podcast-Manager/releases/download/' . $version . '/files_podcastmanager_strapped_' . $version . '.zip'; + + // Download the package at the URL given. + $file = JInstallerHelper::downloadPackage($url); + + // Was the package downloaded? + if (!$file) + { + $errors[] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_DOWNLOADING_PACKAGE'); + + continue; + } + + $tmpPath = JFactory::getConfig()->get('tmp_path'); + + // Unpack the downloaded package file. + $package = JInstallerHelper::unpack($tmpPath . '/' . $file, true); + + // Was the package unpacked? + if (!$package || !$package['type']) + { + JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']); + $errors[] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_EXTRACTING_PACKAGE'); + + continue; + } + + // Get an installer instance. + $installer = new JInstaller; + + // Install the package. + if (!$installer->install($package['dir'])) + { + // There was an error installing the package. + $errors[] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_INSTALLING_PACKAGE'); + } + + // Cleanup the install files. + if (!is_file($package['packagefile'])) + { + $package['packagefile'] = JFactory::getConfig()->get('tmp_path') . '/' . $package['packagefile']; + } + + JInstallerHelper::cleanupInstall($package['packagefile'], $package['extractdir']); + + break; + + default: + $errors[] = JText::sprintf('COM_PODCASTMANAGER_MIGRATION_ERROR_BAD_TASK', $task); + + break; + } + } + } + + if (count($errors)) + { + $message = JText::sprintf('COM_PODCASTMANAGER_MIGRATION_ERRORS', implode("\n", $errors)); + $msgType = 'error'; + } + else + { + $message = JText::_('COM_PODCASTMANAGER_MIGRATION_SUCCESSFUL'); + $msgType = 'success'; + } - return $this; + $this->setRedirect(JRoute::_('index.php?option=com_podcastmanager'), $message, $msgType); } } diff --git a/com_podcastmanager/admin/controllers/feed.php b/com_podcastmanager/admin/controllers/feed.php index 89ccab28..6b30404a 100644 --- a/com_podcastmanager/admin/controllers/feed.php +++ b/com_podcastmanager/admin/controllers/feed.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/controllers/feeds.php b/com_podcastmanager/admin/controllers/feeds.php index a9b05ae4..035b7ff7 100644 --- a/com_podcastmanager/admin/controllers/feeds.php +++ b/com_podcastmanager/admin/controllers/feeds.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/controllers/podcast.json.php b/com_podcastmanager/admin/controllers/podcast.json.php index 9823c86f..42a92496 100644 --- a/com_podcastmanager/admin/controllers/podcast.json.php +++ b/com_podcastmanager/admin/controllers/podcast.json.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/controllers/podcast.php b/com_podcastmanager/admin/controllers/podcast.php index ff1efc86..8828fd22 100644 --- a/com_podcastmanager/admin/controllers/podcast.php +++ b/com_podcastmanager/admin/controllers/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/controllers/podcasts.php b/com_podcastmanager/admin/controllers/podcasts.php index f7e466f1..622a8552 100644 --- a/com_podcastmanager/admin/controllers/podcasts.php +++ b/com_podcastmanager/admin/controllers/podcasts.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/helpers/html/podcast.php b/com_podcastmanager/admin/helpers/html/podcast.php index 70901612..9aa640cd 100644 --- a/com_podcastmanager/admin/helpers/html/podcast.php +++ b/com_podcastmanager/admin/helpers/html/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/helpers/podcastmanager.php b/com_podcastmanager/admin/helpers/podcastmanager.php index e1bd48ef..b8b57fad 100644 --- a/com_podcastmanager/admin/helpers/podcastmanager.php +++ b/com_podcastmanager/admin/helpers/podcastmanager.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -346,4 +346,186 @@ public static function getMediaUrl($url) return $url; } } + + /** + * Method to insert records for the UCM tables + * + * @return void + * + * @since 2.2 + */ + public static function insertUcmRecords() + { + if (version_compare(JVERSION, '3.1', 'ge')) + { + // Insert the rows in the #__content_types table if they don't exist already + $db = JFactory::getDbo(); + + // Get the type ID for a Podcast Manager feed + $query = $db->getQuery(true); + $query->select($db->quoteName('type_id')); + $query->from($db->quoteName('#__content_types')); + $query->where($db->quoteName('type_alias') . ' = ' . $db->quote('com_podcastmanager.feed')); + $db->setQuery($query); + $feedTypeId = $db->loadResult(); + + // Get the type ID for a Podcast Manager podcast + $query->clear('where'); + $query->where($db->quoteName('type_alias') . ' = ' . $db->quote('com_podcastmanager.podcast')); + $db->setQuery($query); + $podcastTypeId = $db->loadResult(); + + // If we don't have the feed type ID, assume the type data doesn't exist yet + if (!$feedTypeId) + { + // This object contains all fields that are mapped to the core_content table + $commonObject = new stdClass; + $commonObject->core_title = 'name'; + $commonObject->core_alias = 'alias'; + $commonObject->core_body = 'description'; + $commonObject->core_state = 'published'; + $commonObject->core_checked_out_time = 'checked_out_time'; + $commonObject->core_checked_out_user_id = 'checked_out'; + $commonObject->core_created_user_id = 'created_by'; + $commonObject->core_created_by_alias = 'author'; + $commonObject->core_created_time = 'created'; + $commonObject->core_modified_user_id = 'modified_by'; + $commonObject->core_modified_time = 'modified'; + $commonObject->core_language = 'language'; + $commonObject->core_content_item_id = 'id'; + $commonObject->asset_id = 'asset_id'; + + // This object contains unique fields + $specialObject = new stdClass; + $specialObject->subtitle = 'subtitle'; + $specialObject->boilerplate = 'boilerplate'; + $specialObject->bp_position = 'bp_position'; + $specialObject->copyright = 'copyright'; + $specialObject->explicit = 'explicit'; + $specialObject->block = 'block'; + $specialObject->ownername = 'ownername'; + $specialObject->owneremail = 'owneremail'; + $specialObject->keywords = 'keywords'; + $specialObject->newFeed = 'newFeed'; + $specialObject->image = 'image'; + $specialObject->category1 = 'category1'; + $specialObject->category2 = 'category2'; + $specialObject->category3 = 'category3'; + + // Prepare the object + $fieldMappings = array( + 'common' => array( + $commonObject + ), + 'special' => array( + $specialObject + ) + ); + + // Set the table columns to insert table to + $columnsArray = array( + $db->quoteName('type_title'), $db->quoteName('type_alias'), $db->quoteName('table'), + $db->quoteName('rules'), $db->quoteName('field_mappings'), $db->quoteName('router') + ); + + $history = ''; + + // Content History support in 3.2+ + if (version_compare(JVERSION, '3.2', 'ge')) + { + $columnsArray[] = $db->quoteName('content_history_options'); + $history = ', ' . $db->quote('{"formFile":"administrator\\/components\\/com_podcastmanager\\/models\\/forms\\/feed.xml", "hideFields":["asset_id","checked_out","checked_out_time"],"ignoreChanges":["modified_by","modified","checked_out","checked_out_time"],"convertToInt":[],"displayLookup":[{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"}]}'); + } + + // Insert the data. + $query->clear(); + $query->insert($db->quoteName('#__content_types')); + $query->columns($columnsArray); + $query->values( + $db->quote('Podcast Manager Feed') . ', ' + . $db->quote('com_podcastmanager.feed') . ', ' + . $db->quote('{"special":{"dbtable":"#__podcastmanager_feeds","key":"id","type":"Feed","prefix":"PodcastManagerTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}') . ', ' + . $db->quote('') . ', ' + . $db->quote(json_encode($fieldMappings)) . ', ' + . $db->quote('PodcastManagerHelperRoute::getFeedHtmlRoute') . $history + ); + $db->setQuery($query); + $db->execute(); + } + + // If we don't have the podcast type ID, assume the type data doesn't exist yet + if (!$podcastTypeId) + { + // This object contains all fields that are mapped to the core_content table + $commonObject = new stdClass; + $commonObject->core_title = 'title'; + $commonObject->core_alias = 'alias'; + $commonObject->core_body = 'itSummary'; + $commonObject->core_state = 'published'; + $commonObject->core_checked_out_time = 'checked_out_time'; + $commonObject->core_checked_out_user_id = 'checked_out'; + $commonObject->core_created_user_id = 'created_by'; + $commonObject->core_created_by_alias = 'itAuthor'; + $commonObject->core_created_time = 'created'; + $commonObject->core_modified_user_id = 'modified_by'; + $commonObject->core_modified_time = 'modified'; + $commonObject->core_language = 'language'; + $commonObject->core_publish_up = 'publish_up'; + $commonObject->core_content_item_id = 'id'; + $commonObject->asset_id = 'asset_id'; + + // This object contains unique fields + $specialObject = new stdClass; + $specialObject->filename = 'filename'; + $specialObject->feedname = 'feedname'; + $specialObject->itBlock = 'itBlock'; + $specialObject->itDuration = 'itDuration'; + $specialObject->itExplicit = 'itExplicit'; + $specialObject->itImage = 'itImage'; + $specialObject->itKeywords = 'itKeywords'; + $specialObject->itSubtitle = 'itSubtitle'; + $specialObject->mime = 'mime'; + + // Prepare the object + $fieldMappings = array( + 'common' => array( + $commonObject + ), + 'special' => array( + $specialObject + ) + ); + + // Set the table columns to insert table to + $columnsArray = array( + $db->quoteName('type_title'), $db->quoteName('type_alias'), $db->quoteName('table'), + $db->quoteName('rules'), $db->quoteName('field_mappings'), $db->quoteName('router') + ); + + $history = ''; + + // Content History support in 3.2+ + if (version_compare(JVERSION, '3.2', 'ge')) + { + $columnsArray[] = $db->quoteName('content_history_options'); + $history = ', ' . $db->quote('{"formFile":"administrator\\/components\\/com_podcastmanager\\/models\\/forms\\/podcast.xml", "hideFields":["asset_id","checked_out","checked_out_time"],"ignoreChanges":["modified_by","modified","checked_out","checked_out_time"],"convertToInt":["publish_up"],"displayLookup":[{"sourceColumn":"feedname","targetTable":"#__podcastmanager_feeds","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"}]}'); + } + + // Insert the link. + $query->clear(); + $query->insert($db->quoteName('#__content_types')); + $query->columns($columnsArray); + $query->values( + $db->quote('Podcast Manager Podcast') . ', ' + . $db->quote('com_podcastmanager.podcast') . ', ' + . $db->quote('{"special":{"dbtable":"#__podcastmanager","key":"id","type":"Podcast","prefix":"PodcastManagerTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}') . ', ' + . $db->quote('') . ', ' + . $db->quote(json_encode($fieldMappings)) . ', ' + . $db->quote('PodcastManagerHelperRoute::getPodcastRoute') . $history + ); + $db->setQuery($query); + $db->execute(); + } + } + } } diff --git a/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.ini b/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.ini index bb42ba52..23176cf3 100644 --- a/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.ini +++ b/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -123,7 +123,6 @@ COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the f COM_PODCASTMANAGER_GETID3_NOT_FOUND="The getID3 library was not found. Unable to parse your media file and extract metadata. Please manually fill in the appropriate data." COM_PODCASTMANAGER_HEADING_FEEDNAME="Feed Name" COM_PODCASTMANAGER_HEADING_NUMBER_ITEMS="Number of podcast episodes" -COM_PODCASTMANAGER_HEADING_PUBLISH_DATE="Start Publishing Date" COM_PODCASTMANAGER_HEADING_PUBLISHED_ITEMS="Published" COM_PODCASTMANAGER_HEADING_TRASHED_ITEMS="Trashed" COM_PODCASTMANAGER_HEADING_UNPUBLISHED_ITEMS="Unpublished" @@ -149,6 +148,12 @@ COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_EDITOR="Editor Plugin - COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_PODCASTMEDIA="File Manager Plugin - The "_QQ_"podcastmedia"_QQ_" plugin type, new to the 2.0 release, enables users to modify the default media path for uploaded podcast files. Included is a plugin to append the logged in user's username to the path." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_FEEDS="Smart Search - Feeds - This plugin integrates Podcast Manager feed data into the Smart Search component." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_PODCASTS="Smart Search - Podcasts - This plugin integrates Podcast Manager podcast data into the Smart Search component." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_PARAGRAPH="We found the following errors, but don't worry, we should be able to fix them with ease." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_TITLE="Errors Found..." +COM_PODCASTMANAGER_INFO_MIGRATION_INTRO="This wasn't what you were expecting, was it? You could have reached this view for a few different reasons, including a recent Joomla! 2.5 to 3 migration or the Podcast Manager template layouts for Joomla! 3 not being installed. But don't worry, from this page we can update your Podcast Manager installation to ensure that everything is just fine going forward." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_PARAGRAPH="So no errors were found, but you are still seeing this view which means that the Isis template layouts are not set up correctly. Let's reinstall them and try to fix this." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_TITLE="No Errors..." +COM_PODCASTMANAGER_INFO_MIGRATION_TITLE="Migration!? Why Am I Here?" COM_PODCASTMANAGER_INFO_THANK_YOU_FOR_INSTALLING="Thank you for installing the Podcast Manager extension suite for Joomla! For any support issues, please visit %s for documentation and links for bug reporting." COM_PODCASTMANAGER_INFO_TRANSLATIONS="Translations" COM_PODCASTMANAGER_INFO_TRANSLATIONS_CONTRIBUTE="Podcast Manager is listed on Transifex and is ready for translation as part of the OpenTranslators project. Visit the Podcast Manager project page on Transifex at %s to contribute a translation." @@ -168,6 +173,18 @@ COM_PODCASTMANAGER_LIMIT_DESCRIPTION="Enter an optional limit to the number of e COM_PODCASTMANAGER_LIMIT_LABEL="# of Items" COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION="The feed this menu item is linked to." COM_PODCASTMANAGER_MENU_FEEDNAME_LABEL="Feed" +COM_PODCASTMANAGER_MIGRATION_BUTTON="Perform Migration" +COM_PODCASTMANAGER_MIGRATION_ERROR_BAD_TASK="An invalid migration task, %s, was requested." +COM_PODCASTMANAGER_MIGRATION_ERROR_CONTENT_TYPES_TABLE="Joomla's #__content_types table is not present in the database. This may indicate your site's database is not in the state it is expected to be in." +COM_PODCASTMANAGER_MIGRATION_ERROR_DOWNLOADING_PACKAGE="An error occurred while downloading the Isis template layouts." +COM_PODCASTMANAGER_MIGRATION_ERROR_EXTRACTING_PACKAGE="An error occurred while attempting to extract the Isis template layouts." +COM_PODCASTMANAGER_MIGRATION_ERROR_INSERTING_UCM_RECORDS="An error occurred while inserting the content type record for the %1$s data type: %2$s" +COM_PODCASTMANAGER_MIGRATION_ERROR_INSTALLING_PACKAGE="An error occurred while installing the Isis template layouts." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_FEED_TYPE="An entry for Podcast Manager's feeds does not exist in Joomla's #__content_types table. Without this record, the tags and content history features of Joomla will not work correctly with Podcast Manager's feeds." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_LAYOUTS="The Podcast Manager template layouts for Joomla 3's Isis template could not be found." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_PODCAST_TYPE="An entry for Podcast Manager's podcasts does not exist in Joomla's #__content_types table. Without this record, the tags and content history features of Joomla will not work correctly with Podcast Manager's podcasts." +COM_PODCASTMANAGER_MIGRATION_ERRORS="The Podcast Manager migration experienced some errors: %s" +COM_PODCASTMANAGER_MIGRATION_SUCCESSFUL="The Podcast Manager migration has successfully completed." COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_0="No podcast successfully checked in" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_1="%d podcast successfully checked in" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_MORE="%d podcasts successfully checked in" @@ -182,6 +199,7 @@ COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED_1="%d podcast successfully unpublished" COM_PODCASTMANAGER_NO_RECORDS_FOUND="No Records Found" COM_PODCASTMANAGER_OPTION_BOTTOM="Bottom" COM_PODCASTMANAGER_OPTION_TOP="Top" +COM_PODCASTMANAGER_ORDER_CREATED_LABEL="Created Date/Time" COM_PODCASTMANAGER_ORDER_DESCRIPTION="Select the column to sort the output by, defaults to Published." COM_PODCASTMANAGER_ORDER_LABEL="Order by" COM_PODCASTMANAGER_ORDER_PUBLISHED_LABEL="Published Date/Time" @@ -203,6 +221,7 @@ COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_DESCRIPTION="If defined, show the image assoc COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_LABEL="Show Podcast Image" COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_DESCRIPTION="If set to yes, then display the media player for each listed episode. The Podcast Manager Content Plugin must be enabled for this player to render." COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_LABEL="Show Podcast Player" +COM_PODCASTMANAGER_SPACE_IN_FILENAME="A space was found in the podcast's file name. This may cause issues with third party streaming services such as iTunes. It is suggested you rename the file to not include spaces and update the podcast record." COM_PODCASTMANAGER_SUBMENU_FEEDS="Feeds" COM_PODCASTMANAGER_SUBMENU_FILES="File Manager" COM_PODCASTMANAGER_SUBMENU_PODCASTS="Podcasts" @@ -211,8 +230,17 @@ COM_PODCASTMANAGER_VIEW_FEED_ADD_FEED="Podcast Manager: Add New Feed" COM_PODCASTMANAGER_VIEW_FEED_EDIT_FEED="Podcast Manager: Edit Feed" COM_PODCASTMANAGER_VIEW_FEED_FIELDSET_FEED="Feed Data" COM_PODCASTMANAGER_VIEW_FEEDS_TITLE="Podcast Manager: Feeds" +COM_PODCASTMANAGER_VIEW_MIGRATION_TITLE="Podcast Manager: Migration" COM_PODCASTMANAGER_VIEW_PODCAST_ADD_PODCAST="Podcast Manager: Add Podcast Metadata" COM_PODCASTMANAGER_VIEW_PODCAST_EDIT_PODCAST="Podcast Manager: Edit Podcast Metadata" COM_PODCASTMANAGER_VIEW_PODCAST_FIELDSET_METADATA="Podcast Metadata" COM_PODCASTMANAGER_VIEW_PODCASTS_TITLE="Podcast Manager: Podcasts" COM_PODCASTMANAGER_XML_DESCRIPTION="The Podcast Manager component is used for managing podcasts." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Created by" +JGLOBAL_HISTORY_LIMIT_OPTIONS_DESC="The maximum number of old versions of an item to save. If zero, all old versions will be saved." +JGLOBAL_HISTORY_LIMIT_OPTIONS_LABEL="Maximum Versions (Joomla! 3.2 and later only)" +JGLOBAL_PUBLISHED_DATE="Published Date" +JGLOBAL_SAVE_HISTORY_OPTIONS_DESC="Whether to automatically save old versions of an item. If set to Yes, old versions of items are saved automatically. When editing, you may restore from a previous version of the item." +JGLOBAL_SAVE_HISTORY_OPTIONS_LABEL="Enable Versions (Joomla! 3.2 and later only)" diff --git a/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.sys.ini b/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.sys.ini index 7cdcc29b..683ddfe7 100644 --- a/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.sys.ini +++ b/com_podcastmanager/admin/language/en-GB/en-GB.com_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.ini b/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.ini index 8a53dd3a..47d1885d 100644 --- a/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.ini +++ b/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -9,7 +9,7 @@ COM_PODCASTMANAGER_ACCESS_DELETE_DESCRIPTION="Nouveau paramètre pour su COM_PODCASTMANAGER_ACCESS_EDIT_DESCRIPTION="Nouveau paramètre pour éditer des actions dans ce flux et pour le réglage calculé basé sur les permissions de composant et de groupe." COM_PODCASTMANAGER_ACCESS_EDITOWN_DESCRIPTION="Nouveau paramètre pour créer ses propres actions dans ce flux et pour le réglage calculé basé sur les permissions de composant et de groupe." COM_PODCASTMANAGER_ACCESS_EDITSTATE_DESCRIPTION="Nouveau paramètre pour éditer l'état des actions dans ce flux et pour le réglage calculé basé sur les permissions de composant et de groupe." -COM_PODCASTMANAGER_BATCH_FEED_LABEL="Choisir le flux pour le déplacer/copier" +COM_PODCASTMANAGER_BATCH_FEED_LABEL="Choisir le flux à déplacer/copier" COM_PODCASTMANAGER_BATCH_OPTIONS="Traitement par lot des balados choisies" COM_PODCASTMANAGER_BATCH_TIP="Si vous choisissez de copier une balado, toutes les autres actions choisies seront appliquées à la balado copiée. Sinon, toutes les actions sont appliquées à la balado choisie." COM_PODCASTMANAGER_CONFIGURATION="Configuration du gestionnaire de balados" @@ -17,7 +17,7 @@ COM_PODCASTMANAGER_CONFIG_FIELD_CUSTOMCODE_DESCRIPTION="Code personnalisé à ut COM_PODCASTMANAGER_CONFIG_FIELD_CUSTOMCODE_LABEL="Code de lien personnalisé" COM_PODCASTMANAGER_CONFIG_FIELD_ENABLELOGGING_DESCRIPTION="Choisir d'activer la journalisation vers un fichier situé à /logs/podcastmanager.php. Cela est bénéfique pour aider à la résolution des problèmes, mais une fois activée, enregistrera toute l'activité du site lorsque les extensions du gestionnaire de balados sont appelées." COM_PODCASTMANAGER_CONFIG_FIELD_ENABLELOGGING_LABEL="Activer la journalisation" -COM_PODCASTMANAGER_CONFIG_FIELD_ITBLOCK_DESCRIPTION="Bloque le flux complet d'iTunes." +COM_PODCASTMANAGER_CONFIG_FIELD_ITBLOCK_DESCRIPTION="Bloquer le flux complet d'iTunes." COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY1_DESCRIPTION="Sélection de la première catégorie." COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY1_LABEL="Catégorie 1" COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY2_DESCRIPTION="Sélection de la seconde catégorie." @@ -118,8 +118,8 @@ COM_PODCASTMANAGER_FIELDSET_CONFIG_OPTIONS_LABEL="Réglages" COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Options du flux iTunes" COM_PODCASTMANAGER_FIELDSET_RULES="Permissions du flux" COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Filtrer la liste par titre." -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Impossible d'utiliser la bibliothèque getID3 pour lire les métadonnées des fichiers distants." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Impossible de traiter les métadonnées du fichier car il est introuvable." COM_PODCASTMANAGER_GETID3_NOT_FOUND="La bibliothèque getID3 n'a pas été trouvée. Impossible d'analyser votre fichier média et d'extraire les métadonnées. Veuillez remplir manuellement les données appropriées." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nom du flux" COM_PODCASTMANAGER_HEADING_NUMBER_ITEMS="Nombre d'épisodes de balado" @@ -148,10 +148,19 @@ COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_EDITOR="Plugiciel d'éd COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_PODCASTMEDIA="Plugiciel du gestionnaire de fichiers - Le type de plugiciel « podcastmedia », nouveau dans la version 2.0, permet aux utilisateurs de modifier le chemin par défaut du médium pour les fichiers de balado téléversés. Un plugiciel d'ajout au chemin du nom de l'utilisateur connecté est inclus." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_FEEDS="Recherche Intelligente - Flux - Ce plugiciel intègre les données des flux du gestionnaire de balados dans le composant de recherche intelligente." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_PODCASTS="Recherche Intelligente - Balados - Ce plugiciel intègre les données des flux du gestionnaire de balados dans le composant de recherche intelligente." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_PARAGRAPH="Nous avons trouvé les erreurs suivantes, mais pas de trouble, nous devrions pouvoir les corriger facilement." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_TITLE="Erreurs trouvées..." +COM_PODCASTMANAGER_INFO_MIGRATION_INTRO="Ce n'est pas ce à quoi vous vous attendiez, n'est-ce pas? Vous pourriez avoir atteint cet écran pour différentes raisons, notamment une migration récente de Joomla! 2.5 vers 3 ou car les modèles de mise en page du gestionnaire de balados pour Joomla! 3 ne sont pas installées. Mais pas de trouble, à partir de cette page nous pouvons mettre à jour votre installation du gestionnaire de balados pour nous assurer que tout ira bien maintenant." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_PARAGRAPH="Donc aucune erreur n'a été trouvé mais vous voyez encore cet écran, ce qui signifie que les mises en page du modèle Isis ne sont pas définies correctement. Réinstallons-les et essayons de corriger ceci." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_TITLE="Aucune erreur..." +COM_PODCASTMANAGER_INFO_MIGRATION_TITLE="Migration! Pourquoi suis-je ici?" COM_PODCASTMANAGER_INFO_THANK_YOU_FOR_INSTALLING="Merci d'avoir installé la suite d'extension du Gestionnaire de balados pour Joomla! Pour les demandes de soutien, veuillez visiter %s pour de la documentation et des liens pour rapporter des bogues." COM_PODCASTMANAGER_INFO_TRANSLATIONS="Traductions" COM_PODCASTMANAGER_INFO_TRANSLATIONS_CONTRIBUTE="Le gestionnaire de balados est listé sur Transifex et est prêt pour la traduction dans le cadre du projet OpenTranslators. Visitez la page du projet « Podcast Manager » sur ​​Transifex à % s pour contribuer à la traduction." COM_PODCASTMANAGER_INFO_TRANSLATIONS_INTRO="Le gestionnaire de balados est distribué dans la même langue que l'installation par défaut de Joomla! : anglais britannique (en-GB). La suite complète d'extension à des chaînes de langue entièrement personnalisables pour permettre la traduction dans n'importe quelle langue. Les traductions suivantes sont disponibles :" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRCA="fr-CA - Français (Canada) traduit par OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRFR="fr-FR - Français (France) traduit par OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_IDID="id-ID - Indonésien (Indonésie) traduit par Opentranslators" COM_PODCASTMANAGER_INFO_TRANSLATIONS_PTBR="pt-BR - Portugais (Brésil) traduit par OpenTranslators" COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT="À quoi s'attendre" COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_1="Le composant gestionnaire de balados donne à l'utilisateur une totale flexibilité sur ses flux et éléments de balado, et il peut s'attendre à une expérience similaire à celle du gestionnaire d'articles mais peaufinée pour la baladodiffusion." @@ -164,6 +173,18 @@ COM_PODCASTMANAGER_LIMIT_DESCRIPTION="Saisir une limite optionnelle au nombre d' COM_PODCASTMANAGER_LIMIT_LABEL="Nombre d'éléments" COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION="Le flux auquel cet élément de menu est relié." COM_PODCASTMANAGER_MENU_FEEDNAME_LABEL="Flux" +COM_PODCASTMANAGER_MIGRATION_BUTTON="Exécuter la migration" +COM_PODCASTMANAGER_MIGRATION_ERROR_BAD_TASK="Une tâche de migration invalide, %s, a été demandée." +COM_PODCASTMANAGER_MIGRATION_ERROR_CONTENT_TYPES_TABLE="La table #__content_types de Joomla est absente de la base de données. Ceci pourrait indiquer que la base de données de votre site n'est pas dans l'état attendu." +COM_PODCASTMANAGER_MIGRATION_ERROR_DOWNLOADING_PACKAGE="Erreur lors du téléchargement des mises en page du modèle Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_EXTRACTING_PACKAGE="Erreur lors de la tentative d'extraction des mises en page du modèle Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_INSERTING_UCM_RECORDS="Erreur lors de l'insertion de l'enregistrement de type de contenu pour le type de données %1$s : %2$s" +COM_PODCASTMANAGER_MIGRATION_ERROR_INSTALLING_PACKAGE="Erreur lors de l'installation des mises en page du modèle Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_FEED_TYPE="Un entrée pour les flux du gestionnaire de balados n'existe pas dans la table #__content_types de Joomla. Sans cet enregistrement, les fonctions de balises et d'historique du contenu de Joomla ne fonctionneront pas avec les flux du gestionnaire de balados." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_LAYOUTS="Les modèles de mise en page du gestionnaire de balados pour le modèle Isis de Joomla 3 n'ont pas été trouvées." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_PODCAST_TYPE="Un entrée pour les balados du gestionnaire de balados n'existe pas dans la table #__content_types de Joomla. Sans cet enregistrement, les fonctions de balises et d'historique du contenu de Joomla ne fonctionneront pas avec les flux du gestionnaire de balados." +COM_PODCASTMANAGER_MIGRATION_ERRORS="Il y a eu des erreurs lors de la migration du gestionnaire de balados : %s" +COM_PODCASTMANAGER_MIGRATION_SUCCESSFUL="La migration du gestionnaire de balados s'est terminée avec succès." COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_0="Aucune balado d'archivée correctement" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_1="%d balado d'archivée correctement" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_MORE="%d balados d'archivées correctement" @@ -175,14 +196,15 @@ COM_PODCASTMANAGER_N_ITEMS_TRASHED="%d balados correctement mises dans la corbei COM_PODCASTMANAGER_N_ITEMS_TRASHED_1="%d balado correctement mise dans la corbeille" COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED="%d balados correctement dépubliées" COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED_1="%d balado correctement dépubliée" -COM_PODCASTMANAGER_NO_RECORDS_FOUND="Aucun enregistrement de trouvé" +COM_PODCASTMANAGER_NO_RECORDS_FOUND="Aucun enregistrement trouvé" COM_PODCASTMANAGER_OPTION_BOTTOM="Bas" COM_PODCASTMANAGER_OPTION_TOP="Haut" +COM_PODCASTMANAGER_ORDER_CREATED_LABEL="Date/heure de création" COM_PODCASTMANAGER_ORDER_DESCRIPTION="Choisir la colonne déterminant le tri, « Publié » par défaut." COM_PODCASTMANAGER_ORDER_LABEL="Trier par" COM_PODCASTMANAGER_ORDER_PUBLISHED_LABEL="Horodatage de publication" COM_PODCASTMANAGER_ORDER_TITLE_LABEL="Titre" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Analyse des métadonnées" COM_PODCASTMANAGER_RSS_FEED_URL="URL du fil RSS" COM_PODCASTMANAGER_SELECT_FEEDNAME="- Choisir le flux -" COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_DESCRIPTION="Si défini, affiche la description du flux sur la page." @@ -199,6 +221,7 @@ COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_DESCRIPTION="Si défini, affiche l'image asso COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_LABEL="Afficher l'image de la balado" COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_DESCRIPTION="Si réglé sur oui, affiche alors le lecteur de médias pour chaque épisode listé. Le plugiciel de contenu du gestionnaire de balados doit être activé pour que ce lecteur fonctionne." COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_LABEL="Afficher le lecteur de balados" +COM_PODCASTMANAGER_SPACE_IN_FILENAME="Une espace a été trouvée dans le nom de fichier de la balado. Ceci pourrait causer des problèmes avec les services tiers de diffusion en continu tel qu'iTunes. Il vous est suggéré de renommer le fichier pour supprimer les espaces et de mettre à jour l'enregistrement de la balado." COM_PODCASTMANAGER_SUBMENU_FEEDS="Flux" COM_PODCASTMANAGER_SUBMENU_FILES="Gestionnaire de fichiers" COM_PODCASTMANAGER_SUBMENU_PODCASTS="Balados" @@ -207,8 +230,17 @@ COM_PODCASTMANAGER_VIEW_FEED_ADD_FEED="Gestionnaire de balados : Ajouter un nouv COM_PODCASTMANAGER_VIEW_FEED_EDIT_FEED="Gestionnaire de balados : Modifier le flux" COM_PODCASTMANAGER_VIEW_FEED_FIELDSET_FEED="Données du flux" COM_PODCASTMANAGER_VIEW_FEEDS_TITLE="Gestionnaire de balados : Flux" +COM_PODCASTMANAGER_VIEW_MIGRATION_TITLE="Gestionnaire de balados : migration" COM_PODCASTMANAGER_VIEW_PODCAST_ADD_PODCAST="Gestionnaire de balados : Ajouter les métadonnées de la balado" COM_PODCASTMANAGER_VIEW_PODCAST_EDIT_PODCAST="Gestionnaire de balados : Modifier les métadonnées de la balado" COM_PODCASTMANAGER_VIEW_PODCAST_FIELDSET_METADATA="Métadonnées de la balado" COM_PODCASTMANAGER_VIEW_PODCASTS_TITLE="Gestionnaire de balados : balados" COM_PODCASTMANAGER_XML_DESCRIPTION="Le composant gestionnaire de balados est utilisé pour gérer des balados." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Créé par" +JGLOBAL_HISTORY_LIMIT_OPTIONS_DESC="Le nombre maximum d'ancienne versions d'un élément à enregistrer. Si zéro, toutes les anciennes versions seront enregistrées." +JGLOBAL_HISTORY_LIMIT_OPTIONS_LABEL="Nbre. max. de versions (Joomla! 3.2 et ultérieure seulement)" +JGLOBAL_PUBLISHED_DATE="Date de publication" +JGLOBAL_SAVE_HISTORY_OPTIONS_DESC="Enregistrer ou non automatiquement les anciennes versions d'un élément. Si défini à Oui, les anciennes versions d'un élément sont enregistrées automatiquement. Lors de l'édition, vous pourrez restaurer une version précédente d'un élément." +JGLOBAL_SAVE_HISTORY_OPTIONS_LABEL="Activer les versions (Joomla! 3.2 et ultérieure seulement)" diff --git a/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.sys.ini b/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.sys.ini index a0ffe816..d724f14c 100644 --- a/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.sys.ini +++ b/com_podcastmanager/admin/language/fr-CA/fr-CA.com_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.ini b/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.ini index de3a36cd..dc2b139c 100644 --- a/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.ini +++ b/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.ini @@ -1,30 +1,30 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -COM_PODCASTMANAGER="Gestionnaire de Podcast" -COM_PODCASTMANAGER_ACCESS_CREATE_DESCRIPTION="Nouveau paramètre pour créer des actions dans ce flux et le réglage est calculé sur le composant et les permissions de groupe." -COM_PODCASTMANAGER_ACCESS_DELETE_DESCRIPTION="Nouveau paramètre pour supprimer des actions dans ce flux et le réglage est calculé sur le composant et les permissions de groupe." -COM_PODCASTMANAGER_ACCESS_EDIT_DESCRIPTION="Nouveau paramètre pour éditer des actions dans ce flux et le réglage est calculé sur le composant et les permissions de groupe." -COM_PODCASTMANAGER_ACCESS_EDITOWN_DESCRIPTION="Nouveau paramètre pour créer ses propres actions dans ce flux et le réglage est calculé sur le composant et les permissions de groupe." -COM_PODCASTMANAGER_ACCESS_EDITSTATE_DESCRIPTION="Nouveau paramètre pour éditer l'état des actions dans ce flux et le réglage est calculé sur le composant et les permissions de groupe." +COM_PODCASTMANAGER="Podcast Manager" +COM_PODCASTMANAGER_ACCESS_CREATE_DESCRIPTION="Nouveau paramètre pour la création d'actions dans ce flux et réglages basés sur le composant et les permissions du groupe." +COM_PODCASTMANAGER_ACCESS_DELETE_DESCRIPTION="Nouveau paramètre pour supprimer des actions dans ce flux et réglages basés sur le composant et les permissions du groupe." +COM_PODCASTMANAGER_ACCESS_EDIT_DESCRIPTION="Nouveau paramètre pour éditer des actions dans ce flux et réglages basés sur le composant et les permissions du groupe." +COM_PODCASTMANAGER_ACCESS_EDITOWN_DESCRIPTION="Nouveau paramètre pour créer ses propres actions dans ce flux et réglages basés sur le composant et les permissions du groupe." +COM_PODCASTMANAGER_ACCESS_EDITSTATE_DESCRIPTION="Nouveau paramètre pour éditer l'état des actions dans ce flux et réglages basés sur le composant et les permissions du groupe." COM_PODCASTMANAGER_BATCH_FEED_LABEL="Sélectionnez le flux pour le déplacer/copier" -COM_PODCASTMANAGER_BATCH_OPTIONS="Traitement par lots les podcasts sélectionnés" -COM_PODCASTMANAGER_BATCH_TIP="Si vous choisissez de copier un podcast, toutes les autres actions sélectionnées seront appliqués pour le podcast copié. Sinon, toutes les actions sont appliquées pour le podcast sélectionné." +COM_PODCASTMANAGER_BATCH_OPTIONS="Traitement par lots des podcasts sélectionnés" +COM_PODCASTMANAGER_BATCH_TIP="Si vous choisissez de copier un podcast, toutes les autres actions sélectionnées seront appliquées au podcast copié. Sinon, toutes les actions seront appliquées pour le podcast sélectionné." COM_PODCASTMANAGER_CONFIGURATION="Configuration du Gestionnaire de Podcast" -COM_PODCASTMANAGER_CONFIG_FIELD_CUSTOMCODE_DESCRIPTION="Code personnalisé à utiliser pour les liens vers les épisodes de podcast àl'intérieur des articles et la vue du flux sur la partie publique." +COM_PODCASTMANAGER_CONFIG_FIELD_CUSTOMCODE_DESCRIPTION="Code personnalisé à utiliser pour les liens vers les épisodes de podcast dans les articles et la vue du flux sur la partie publique." COM_PODCASTMANAGER_CONFIG_FIELD_CUSTOMCODE_LABEL="Code du lien personnalisé" -COM_PODCASTMANAGER_CONFIG_FIELD_ENABLELOGGING_DESCRIPTION="Choisissez d'activer la journalisation vers un fichier situé à /logs/podcastmanager.php. Cela est bénéfique pour aider à la résolution des problèmes, mais quand cette fonction est activée, cela va enregistrer toute l'activité du site lorsque les extensions du Gestionnaire de Podcast sont appelés." -COM_PODCASTMANAGER_CONFIG_FIELD_ENABLELOGGING_LABEL="Activer la journalisation" -COM_PODCASTMANAGER_CONFIG_FIELD_ITBLOCK_DESCRIPTION="Blocker le flux entier depuis iTunes" +COM_PODCASTMANAGER_CONFIG_FIELD_ENABLELOGGING_DESCRIPTION="Choisissez d'activer l'enregistrement dans un fichier situé dans /logs/podcastmanager.php. Cela permet d'aider à la résolution des problèmes, mais lorsque cette fonction est activée, TOUTE l'activité du site est enregistrée dès que les extensions de Podcast Manager sont appelées." +COM_PODCASTMANAGER_CONFIG_FIELD_ENABLELOGGING_LABEL="Activer l'enregistrement" +COM_PODCASTMANAGER_CONFIG_FIELD_ITBLOCK_DESCRIPTION="Bloquer le flux entier depuis iTunes." COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY1_DESCRIPTION="Sélection de la première catégorie." COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY1_LABEL="Catégorie 1" COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY2_DESCRIPTION="Sélection de la seconde catégorie." -COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY2_LABEL="Ctégorie 2" +COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY2_LABEL="Catégorie 2" COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY3_DESCRIPTION="Sélection de la troisième catégorie." COM_PODCASTMANAGER_CONFIG_FIELD_ITCATEGORY3_LABEL="Catégorie 3" -COM_PODCASTMANAGER_CONFIG_FIELD_ITIMAGE_DESCRIPTION="Image à utiliser pour le flux de iTunes. L'image doit être une image en .png ou .jpg sinon iTunes le rejettera. iTunes préfère les images carrées .jpg qui sont au moins de 600 x 600 pixels, ceci diffère des standards spécifiés pour les étiquettes d'image RSS. Afin qu'un podcast soit éligible de figurer dans l'iTunes Store, il faut que l'image qui l'accompagne soit d'au moins 600 x 600 pixels." +COM_PODCASTMANAGER_CONFIG_FIELD_ITIMAGE_DESCRIPTION="Image à utiliser pour le flux iTunes. L'image doit être une image en .png ou .jpg sinon iTunes le rejettera.

iTunes préfère les images carrées .jpg d'un minimum de 600 x 600 pixels. Ceci diffère des standards spécifiés pour les miniatures d'image RSS. Afin qu'un podcast soit éligible à figurer dans l'iTunes Store, il faut que l'image qui l'accompagne soit d'au moins 600 x 600 pixels." COM_PODCASTMANAGER_CONFIG_FIELD_ITIMAGE_LABEL="Image" COM_PODCASTMANAGER_CONFIG_FIELD_ITOWNEREMAIL_DESCRIPTION="Entrez une adresse de courriel où les utilisateurs iTunes peuvent vous contacter (invisible au public)." COM_PODCASTMANAGER_CONFIG_FIELD_ITOWNEREMAIL_LABEL="Courriel du propriétaire" @@ -34,54 +34,54 @@ COM_PODCASTMANAGER_CONFIG_FIELD_LINKHANDLING_DESCRIPTION="Choisissez entre un li COM_PODCASTMANAGER_CONFIG_FIELD_LINKHANDLING_LABEL="Présentation du lien" COM_PODCASTMANAGER_CONFIG_FIELD_LINKHANDLING_OPTION_CUSTOM="Personnalisation" COM_PODCASTMANAGER_CONFIG_FIELD_LINKHANDLING_OPTION_LINK="Lien" -COM_PODCASTMANAGER_CONFIG_FIELD_LINKHANDLING_OPTION_PLAYER="Media Player" -COM_PODCASTMANAGER_CONFIG_FIELD_LINKTITLE_DESCRIPTION="Utiliser ce titre pour les liens vers les podcasts des éléments de contenu." +COM_PODCASTMANAGER_CONFIG_FIELD_LINKHANDLING_OPTION_PLAYER="Lecteur média" +COM_PODCASTMANAGER_CONFIG_FIELD_LINKTITLE_DESCRIPTION="Utiliser ce titre pour les liens vers les podcasts dans les éléments de contenu." COM_PODCASTMANAGER_CONFIG_FIELD_LINKTITLE_LABEL="Titre du lien inclus" -COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERHEIGHT_DESCRIPTION="La hauteur à utiliser pour le lecteur multimédia lors de la lecture des fichiers audio. Vous devriez laisser ce champ vide, sauf si vous avez besoin d'ajuster le joueur." +COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERHEIGHT_DESCRIPTION="La hauteur à utiliser pour le lecteur multimédia lors de la lecture des fichiers audio. Vous devriez laisser ce champ vide, sauf si vous avez besoin d'ajuster le lecteur." COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERHEIGHT_LABEL="Hauteur du Player Audio" -COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERSTYLE_DESCRIPTION="Un style CSS en option pour personnaliser davantage le lecteur multimédia" +COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERSTYLE_DESCRIPTION="Un style CSS optionnel pour personnaliser davantage le lecteur multimédia." COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERSTYLE_LABEL="Style du lecteur" -COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERWIDTH_DESCRIPTION="La largeur à utiliser pour le lecteur multimédia lors de la lecture des fichiers audio. Vous devriez laisser ce champ vide, sauf si vous avez besoin d'ajuster le joueur." +COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERWIDTH_DESCRIPTION="La largeur à utiliser pour le lecteur multimédia lors de la lecture des fichiers audio. Vous devriez laisser ce champ vide, sauf si vous avez besoin d'ajuster le lecteur." COM_PODCASTMANAGER_CONFIG_FIELD_PLAYERWIDTH_LABEL="Largeur du lecteur" COM_PODCASTMANAGER_CONFIG_FIELD_TITLE_DEFAULT="Mon Podcast" COM_PODCASTMANAGER_CONFIG_FIELD_TITLE_DESCRIPTION="Le titre de l'épisode du podcast." COM_PODCASTMANAGER_CONFIG_FIELD_TITLE_LABEL="Titre" -COM_PODCASTMANAGER_CONFIG_FIELD_VIDEOHEIGHT_DESCRIPTION="La hauteur à utiliser pour le lecteur multimédia lors de la lecture de fichiers vidéo. Vous devriez laisser ce champ vide, sauf si vous avez besoin d'ajuster le joueur." -COM_PODCASTMANAGER_CONFIG_FIELD_VIDEOHEIGHT_LABEL="Hauteur du Lecteur Vidéo" -COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_MINSTABILITY_DESCRIPTION="Sélectionnez le niveau minimale de la version pour laquelle vous serez averti qu'une mise à jour est disponible. S'il vous plaît utilisez RC et Stable uniquement sur les sites en production. Aidez à tester les versions de Podcast Manager en Installant les versions de niveau Alpha et Bêta." -COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_MINSTABILITY_LABEL="Version minimale pour les notifications de mise à jour" +COM_PODCASTMANAGER_CONFIG_FIELD_VIDEOHEIGHT_DESCRIPTION="La hauteur à utiliser pour le lecteur multimédia lors de la lecture de fichiers vidéo. Vous devriez laisser ce champ vide, sauf si vous avez besoin d'ajuster le lecteur." +COM_PODCASTMANAGER_CONFIG_FIELD_VIDEOHEIGHT_LABEL="Hauteur du lecteur vidéo" +COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_MINSTABILITY_DESCRIPTION="Sélectionnez le niveau de stabilité de version minimum pour laquelle vous serez averti qu'une mise à jour est disponible. Pour vos sites en production, veuillez utiliser uniquement RC et Stable. Aidez à tester les nouvelles versions de Podcast Manager en installant les versions de niveau Alpha et Bêta." +COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_MINSTABILITY_LABEL="Niveau de stabilité minimum pour les notifications de mise à jour" COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_STABILITY_ALPHA="Alpha" COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_STABILITY_BETA="Bêta" COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_STABILITY_RC="Release Candidate" COM_PODCASTMANAGER_CONFIG_LIVEUPDATE_STABILITY_STABLE="Stable" COM_PODCASTMANAGER_CONFIG_OPTION_NONE="Aucune" -COM_PODCASTMANAGER_CONFIG_TRACKING_DESCRIPTION="Si vous utilisez un service de suivi statistiques tierce, vous pouvez sélectionner ici." -COM_PODCASTMANAGER_CONFIG_TRACKING_LABEL="Service de Suivi Statistique" +COM_PODCASTMANAGER_CONFIG_TRACKING_DESCRIPTION="Si vous utilisez un service tierce de suivi statistiques, vous pouvez le sélectionner ici." +COM_PODCASTMANAGER_CONFIG_TRACKING_LABEL="Service de suivi de statistiques" COM_PODCASTMANAGER_CONFIG_TRACKING_OPTION_BLUBRRY="Blubrry" COM_PODCASTMANAGER_CONFIG_TRACKING_OPTION_PODTRAC="PodTrac" -COM_PODCASTMANAGER_CONFIG_FIELD_TRACKNAME_DESCRIPTION="Essayez avec cette orthographe : If the tracking service you've selected requires a username, enter it here.\nSi le service de suivi que vous avez sélectionné nécessite un nom d'utilisateur, saisissez-le ici." -COM_PODCASTMANAGER_CONFIG_FIELD_TRACKNAME_LABEL="Nom d'utilisateur du Service de Suivi" -COM_PODCASTMANAGER_CONFIRM_FEED_DELETE="Etes-vous sûr de vouloir supprimer ce flux? A défaut de dépublier le flux et de bloquer les mises à jour d'iTunes, cela peut provoquer aux abonnés la reception d'erreurs." -COM_PODCASTMANAGER_CONFIRM_PODCAST_UNPUBLISH="La Dépublication des fichiers peut perturber le flux. Êtes-vous sûr de vouloir continuer à dépublier ? (Les fichiers ne seront pas supprimés.)" -COM_PODCASTMANAGER_DIRECTION_ASC_LABEL="croissant" +COM_PODCASTMANAGER_CONFIG_FIELD_TRACKNAME_DESCRIPTION="Si le système de suivi que vous avez sélectionné nécessite un nom d'utilisateur, saisissez-le ici." +COM_PODCASTMANAGER_CONFIG_FIELD_TRACKNAME_LABEL="Nom d'utilisateur du service de suivi." +COM_PODCASTMANAGER_CONFIRM_FEED_DELETE="Etes-vous sûr de vouloir supprimer ce flux ? A défaut de dépublier le flux et de bloquer les mises à jour d'iTunes peut engendrer l'affichage d'erreurs pour vos abonnés." +COM_PODCASTMANAGER_CONFIRM_PODCAST_UNPUBLISH="Dépublier des fichiers peut perturber le flux. Êtes-vous sûr de vouloir continuer la dépublication ? (Les fichiers ne seront pas supprimés)." +COM_PODCASTMANAGER_DIRECTION_ASC_LABEL="Ascendant" COM_PODCASTMANAGER_DIRECTION_DESC_LABEL="décroissant" -COM_PODCASTMANAGER_DIRECTION_DESCRIPTION="Trier dans l'ordre croissant (AZ) ou décroissant (ZA), par défaut l'ordre est "_QQ_"Décroissant"_QQ_"." -COM_PODCASTMANAGER_DIRECTION_LABEL="Ordonner par" -COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_DESCRIPTION="Entrer du texte standard optionnel dans les résumés de vos nouveaux podcasts. " -COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_LABEL="Texte standard" -COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_DESCRIPTION="Sélectionnez une position dans laquelle insérer le texte standard dans le résumé lorsque vous créerez de nouveaux podcasts." -COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_LABEL="Position du texte standard" +COM_PODCASTMANAGER_DIRECTION_DESCRIPTION="Trier par ordre croissant (A-Z) ou décroissant (Z-A). Ordre par défaut "_QQ_"Décroissant"_QQ_"." +COM_PODCASTMANAGER_DIRECTION_LABEL="Ordre du tri" +COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_DESCRIPTION="Entrer un texte modèle optionnel pour les résumés de vos nouveaux podcasts. " +COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_LABEL="Texte modèle" +COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_DESCRIPTION="Sélectionnez une position dans laquelle insérer le texte modèle dans le résumé lors de la création de nouveaux podcasts." +COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_LABEL="Position du texte modèle" COM_PODCASTMANAGER_FEED_FIELD_COPYRIGHT_DESCRIPTION="Les droits d'auteurs du podcast." COM_PODCASTMANAGER_FEED_FIELD_COPYRIGHT_LABEL="Droits d'auteur" COM_PODCASTMANAGER_FEED_FIELD_DESCRIPTION_DESCRIPTION="Une brève description du podcast." COM_PODCASTMANAGER_FEED_FIELD_DESCRIPTION_LABEL="Description" COM_PODCASTMANAGER_FEED_FIELD_NAME_DESCRIPTION="Le nom du flux du podcast." COM_PODCASTMANAGER_FEED_FIELD_NAME_LABEL="Nom du flux" -COM_PODCASTMANAGER_FEED_FIELD_NEWFEED_DESCRIPTION="Si vous avez modifié l'URL de votre flux, veuillez introduire alors la nouvelle URL à cet endroit." +COM_PODCASTMANAGER_FEED_FIELD_NEWFEED_DESCRIPTION="Si vous avez modifié l'URL de votre flux, renseignez la nouvelle URL ici." COM_PODCASTMANAGER_FEED_FIELD_NEWFEED_LABEL="Nouvel URL du flux" -COM_PODCASTMANAGER_FEED_VIEW_DESCRIPTION="Lien du flux RSS du flux du podcast" +COM_PODCASTMANAGER_FEED_VIEW_DESCRIPTION="Lien du flux RSS pour le lecteur de podcast" COM_PODCASTMANAGER_FEED_VIEW_TITLE="Flux" -COM_PODCASTMANAGER_FIELD_CREATED_DESCRIPTION="Date à laquelle le podcast a été créé." +COM_PODCASTMANAGER_FIELD_CREATED_DESCRIPTION="Date de création du podcast." COM_PODCASTMANAGER_FIELD_CREATED_LABEL="Date de création" COM_PODCASTMANAGER_FIELD_FEEDNAME_DESCRIPTION="Le flux dont cet épisode fait partie." COM_PODCASTMANAGER_FIELD_FEEDNAME_LABEL="Flux" @@ -90,125 +90,157 @@ COM_PODCASTMANAGER_FIELD_FILENAME_LABEL="Nom de fichier" COM_PODCASTMANAGER_FIELD_ITAUTHOR_DESCRIPTION="L'auteur du podcast." COM_PODCASTMANAGER_FIELD_ITAUTHOR_LABEL="Auteur" COM_PODCASTMANAGER_FIELD_ITBLOCK_DESCRIPTION="Evite qu'un podcast n'apparaisse sur iTunes." -COM_PODCASTMANAGER_FIELD_ITBLOCK_LABEL="Bloquer sur iTunes" -COM_PODCASTMANAGER_FIELD_ITCATEGORY_DESCRIPTION="La catégorie auquelle correspond le podcast." +COM_PODCASTMANAGER_FIELD_ITBLOCK_LABEL="iTunes Block" +COM_PODCASTMANAGER_FIELD_ITCATEGORY_DESCRIPTION="La catégorie à laquelle correspond le podcast." COM_PODCASTMANAGER_FIELD_ITCATEGORY_LABEL="Catégorie" COM_PODCASTMANAGER_FIELD_ITDURATION_DESCRIPTION="La durée du podcast." COM_PODCASTMANAGER_FIELD_ITDURATION_LABEL="Durée" -COM_PODCASTMANAGER_FIELD_ITEXPLICIT_DESCRIPTION="Choisissez si vous souhaitez l'étiquetter comme explicite sur iTunes." -COM_PODCASTMANAGER_FIELD_ITEXPLICIT_LABEL="Explicite sur iTunes" -COM_PODCASTMANAGER_FIELD_ITEXPLICIT_OPTION_CLEAN="Propre, sans vulgarité" -COM_PODCASTMANAGER_FIELD_ITKEYWORDS_DESCRIPTION="Entrez jusqu'à 12 mots clefs pour la recherche de iTunes." +COM_PODCASTMANAGER_FIELD_ITEXPLICIT_DESCRIPTION="Choisissez si vous souhaitez signaler sur iTunes que le podcast présente un contenu explicite." +COM_PODCASTMANAGER_FIELD_ITEXPLICIT_LABEL="Contenu explicite sur iTunes" +COM_PODCASTMANAGER_FIELD_ITEXPLICIT_OPTION_CLEAN="Sans vulgarité" +COM_PODCASTMANAGER_FIELD_ITKEYWORDS_DESCRIPTION="Entrez jusqu'à 12 mots clés pour la recherche sur iTunes." COM_PODCASTMANAGER_FIELD_ITKEYWORDS_LABEL="Mots clefs iTunes" COM_PODCASTMANAGER_FIELD_ITSUBTITLE_DESCRIPTION="Un sous-titre pour le podcast." COM_PODCASTMANAGER_FIELD_ITSUBTITLE_LABEL="Sous-titre" COM_PODCASTMANAGER_FIELD_ITSUMMARY_DESCRIPTION="Un résumé de l'épisode du podcast." COM_PODCASTMANAGER_FIELD_ITSUMMARY_LABEL="Résumé" -COM_PODCASTMANAGER_FIELD_LANGUAGE_DESCRIPTION="La langue dans laquelle l'épisode du podcast se déroule." +COM_PODCASTMANAGER_FIELD_LANGUAGE_DESCRIPTION="La langue de l'épisode du podcast." COM_PODCASTMANAGER_FIELD_MIMETYPE_DESCRIPTION="Type MIME du fichier média" COM_PODCASTMANAGER_FIELD_MIMETYPE_LABEL="Type MIME" -COM_PODCASTMANAGER_FIELD_MODIFIED_DESCRIPTION="La date et heure à laquelle le podcast a été modifié en dernier." -COM_PODCASTMANAGER_FIELD_PUBLISH_UP_DESCRIPTION="La date à laquelle il faut commencer à publier le podcast." +COM_PODCASTMANAGER_FIELD_MODIFIED_DESCRIPTION="La date et l'heure de la dernière modification du podcast." +COM_PODCASTMANAGER_FIELD_PUBLISH_UP_DESCRIPTION="La date de début de publication du podcast." COM_PODCASTMANAGER_FIELD_PUBLISH_UP_LABEL="Commencer la publication" COM_PODCASTMANAGER_FIELD_PUBLISHED_DESCRIPTION="L'état de publication de l'épisode du podcast. IMPORTANT - Dépublier un épisode déjà publié peut interrompre votre flux de podcast, sélectionnez l'option bloquer iTunes d'abord." COM_PODCASTMANAGER_FIELD_TITLE_DESCRIPTION="Le titre de l'épisode du podcast." COM_PODCASTMANAGER_FIELD_TITLE_LABEL="Titre" COM_PODCASTMANAGER_FIELDSET_CONFIG_OPTIONS_DESCRIPTION="Réglages généraux du Podcast Manager" -COM_PODCASTMANAGER_FIELDSET_CONFIG_OPTIONS_LABEL="Réglages" -COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Options iTunes du flux" -COM_PODCASTMANAGER_FIELDSET_RULES="Permission du Flux" +COM_PODCASTMANAGER_FIELDSET_CONFIG_OPTIONS_LABEL="Paramètres" +COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Options du flux iTunes" +COM_PODCASTMANAGER_FIELDSET_RULES="Droits du flux" COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Filtrer la liste par titre" -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." -COM_PODCASTMANAGER_GETID3_NOT_FOUND="La librairie getID3 n'a pas été trouvée. Impossible d'analyser le fichier média et de récupérer les méta-données. Merci de remplir manuellement les données nécessaires." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Impossible d'utiliser la bibliothèque getID3 pour lire les métadonnées des fichiers distants." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Impossible de traiter les métadonnées, le fichier n'a pu être trouvé." +COM_PODCASTMANAGER_GETID3_NOT_FOUND="La bibliothèque getID3 est introuvable. Impossible d'analyser le fichier média et de récupérer les métadonnées. Veuillez saisir manuellement les données nécessaires." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nom du flux" -COM_PODCASTMANAGER_HEADING_NUMBER_ITEMS="Nombre d'épisode de podcast" -COM_PODCASTMANAGER_HEADING_PUBLISHED_ITEMS="Publiés" +COM_PODCASTMANAGER_HEADING_NUMBER_ITEMS="Nombre d'épisodes du podcast" +COM_PODCASTMANAGER_HEADING_PUBLISHED_ITEMS="Publié" COM_PODCASTMANAGER_HEADING_TRASHED_ITEMS="A la corbeille" COM_PODCASTMANAGER_HEADING_UNPUBLISHED_ITEMS="Dépublié" COM_PODCASTMANAGER_INFO_ALLOWED_FILE_TYPES="Extensions de fichiers autorisées" COM_PODCASTMANAGER_INFO_ALLOWED_FILE_TYPES_AUDIO="Audio - MP3, M4A" -COM_PODCASTMANAGER_INFO_ALLOWED_FILE_TYPES_INTRO="iTunes ne permet que certains types de fichiers comme des éléments de podcast. Par conséquent, la composante médias a été codé en dur pour autoriser uniquement les types de fichiers suivants:" +COM_PODCASTMANAGER_INFO_ALLOWED_FILE_TYPES_INTRO="iTunes n'autorise que certains types de fichiers comme éléments de podcast. Par conséquent, le composant de médias a été codé en dur pour autoriser uniquement les types de fichiers suivants :" COM_PODCASTMANAGER_INFO_ALLOWED_FILE_TYPES_VIDEO="Video - MP4, M4V, MOV" -COM_PODCASTMANAGER_INFO_CREDITS="Credits & Licence" -COM_PODCASTMANAGER_INFO_CREDITS_GETID3="%s développé par James Heinrich et publié sous la licence GPL v2" -COM_PODCASTMANAGER_INFO_CREDITS_INTRO="Le Gestionnaire de Podcast est distribué avec la même licence que Joomla;! La licence GPL v2. Afin de fonctionner avec toutes les fonctionnalités programmées, d'autres projets ont également été inclus. Ces projets sont les suivants :" +COM_PODCASTMANAGER_INFO_CREDITS="Crédits & Licence" +COM_PODCASTMANAGER_INFO_CREDITS_GETID3="%s développé par James Heinrich et publié sous licence GPL v2." +COM_PODCASTMANAGER_INFO_CREDITS_INTRO="Podcast Manager est distribué sous la même licence que Joomla : la licence GPL v2. Afin de pouvoir fonctionner avec toutes les fonctionnalités programmées, d'autres projets ont également été inclus. Ces projets sont les suivants :" COM_PODCASTMANAGER_INFO_CREDITS_LIVEUPDATE="%s développé par Akeeba Backup et publié sous la licence GPL v3" COM_PODCASTMANAGER_INFO_CREDITS_MEDIAELEMENT="%s développé par John Dyer et publié sous les licences GPL v2 & MIT" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS="Comment fonctionne le Gestionnaire de Podcast" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_COMPONENT_MANAGER="Composant Gestionnaire de Podcast - Permet de gérer les flux, les podcasts et leurs métadonnées associées; le front-end comprend des outils de gestion ainsi que d'une vue des flux pour l'inscription public" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_COMPONENT_MEDIA="Composant Podcast Media - Permet de gérer les fichiers podcast, basé sur le Gestionnaire de Medias Joomla! avec des modifications spécifiques au fonctionnement de cette suite" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_GETID3="Bibliothèque getID3 - La Bibliothèque getID3 est uutilié pour extraire les metadatas des fichiers transférés, pour pré-remplir le formulaire des metadatas" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_INTRO="Le Gestionnaire de Podcast vous permet de gérer un flux de podcast via votre site Joomla!. Cette Suite est livré avec dix extensions :" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_LAYOUTS="Pour créer une expérience qui corresponde à l'apparance d'administration de Joomla! par défaut, le Gestionnaire de PodCast ajoute un ensemble d'agencement pour les installations sous Joomla! 3.x, pour correspondre à la nouvelle interface de démarrage. Cela permet au Gestionnaire de Podcast de s'intégrer proprement dans les deux Joomla! 2.5 et 3.x avec une expérience utilisateur cohérente, indépendamment de la version de Joomla! que vous utilisez. Les agencements sont également disponibles pour le template d'administration Hathor, ajoutant une autre couche de compatibilité pour les utilisateurs qui utilisent ce modèle très usité." -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_MODULE_FEED="Module Flux - Affiche des liens vers les derniers épisodes d'un flux spécifique" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_MODULE_LINK="Module Lien - Affiche un lien vers le flux du Podcast" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_CONTENT="Plugin de contenu - Le plugin de contenu permet aux utilisateurs d'ajouter un lecteur multimédia directement dans un article en ajoutant {podcast Titre} ou {podcast id = X} dans l'éditeur d'article; Basé sur MediaElement.JS, un lien texte simple, et permet une personalisation du Code" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_EDITOR="Plugin d'Edition - S'intègre dans l'éditeur de l'article en ajoutant un bouton Podcast, permettant à l'utilisateur de sélectionner un podcast à insérer dans un article" -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_PODCASTMEDIA="Plugin de Gestion de Fichier - Le type de plugin "_QQ_"podcastmedia"_QQ_", nouveau dans la version 2.0, permet aux utilisateurs de modifier le chemin serveur par défaut pour les fichiers de podcasts envoyés. Inclus dans le plugin l'ajout du nom de l'utilisateur connecté au chemin." -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_FEEDS="Recherche Intelligente - Flux - Ce plugin intègre les données des flux de Podcast Manager dans le composant de Recherche Intelligente." -COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_PODCASTS="Recherche Intelligente - Podcasts - Ce plugin intègre les données des podcast de Podcast Manager dans le composant de Recherche Intelligente." -COM_PODCASTMANAGER_INFO_THANK_YOU_FOR_INSTALLING="Merci d'avoir installé l'extension du Gestionnaire de Podcast pour Joomla! Pour tous les le suivi des problèmes, s'il vous plaît visitez %s pour la documentation et des liens pour les remontées de bogues." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS="Comment fonctionne Podcast Manager" +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_COMPONENT_MANAGER="Le composant Podcast Manager - Permet de gérer les flux, les podcasts et leurs métadonnées associées. Le frontend propose des outils de gestion ainsi qu'une vue des flux pour les listes publiques." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_COMPONENT_MEDIA="Composant Podcast Media - Permet de gérer les fichiers podcast, basé sur le Gestionnaire de médias Joomla! avec des modifications spécifiques destinées à cette suite." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_GETID3="Bibliothèque getID3 - La bibliothèque getID3 permet d'extraire les métadonnées des fichiers transférés, afin de pré-remplir vos propres formulaires de métadonnées." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_INTRO="Podcast Manager vous permet de gérer un flux podcast via votre site Joomla. Cette suite est livrée avec dix extensions :" +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_LAYOUTS="Pour créer une expérience identique à l’apparence d'administration par défaut de Joomla, Podcast Manager ajoute un ensemble de mise en page pour les installations sous Joomla! 3.x respectant la nouvelle interface Bootstrap. Cela permet d'intégrer Podcast Manager à Joomla! 2.5 et 3.x avec une expérience utilisateur cohérente, indépendamment de la version de Joomla! que vous utilisez. Les mises en page sont également disponibles pour le template d'administration Hathor, en ajoutant une autre couche de compatibilité pour les utilisateurs qui utilisent ce template." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_MODULE_FEED="Module de flux - Affiche des liens vers les derniers épisodes d'un flux spécifique." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_MODULE_LINK="Module lien - Affiche un lien vers le flux du podcast" +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_CONTENT="Plugin de contenu - Le plugin de contenu permet aux utilisateurs d'ajouter un lecteur multimédia directement dans un article en ajoutant {podcast Titre} ou {podcast id = X} dans l'éditeur d'article. Il autorise MediaElement.JS, un lien en texte simple et permet une personalisation du code." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_EDITOR="Plugin d'édition - S'intègre dans l'éditeur d'article en ajoutant un bouton 'Podcast' permettant à l'utilisateur de sélectionner un podcast à insérer dans un article." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_PODCASTMEDIA="Plugin de Gestion de Fichier - Le type de plugin "_QQ_"podcastmedia"_QQ_", nouveau dans la version 2.0, permet aux utilisateurs de modifier le chemin serveur par défaut pour les fichiers de podcasts à envoyer. Inclus dans le plugin l'ajout du nom de l'utilisateur connecté au chemin." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_FEEDS="Recherche avancée - Flux - Ce plugin intègre les données de flux de Podcast Manager dans le composant de recherche avancée." +COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_PODCASTS="Recherche avancée - Podcasts - Ce plugin intègre les données des podcasts de Podcast Manager dans le composant de recherche avancée." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_PARAGRAPH="Les erreurs suivantes ont été trouvées mais ne vous inquiétez pas, nous devrions être en mesure de les résoudre aisément." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_TITLE="Erreurs trouvées..." +COM_PODCASTMANAGER_INFO_MIGRATION_INTRO="Vous ne vous attendiez pas à cela, n'est-ce pas ? Vous pouvez avoir atteint cette vue pour différentes raisons, par exemple, suite à une récente migration de Joomla! 2.5 vers 3, ou du fait que les mises en page du template de Podcast Manager pour Joomla! 3 n'ont pas été installées. Ne vous inquiétez pas, nous pouvons mettre à jour votre installation de Podcast Manager depuis cette page pour s'assure que tout se passe bien par la suite." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_PARAGRAPH="Si aucune erreur n'a été détectée mais cette vue continue de s'afficher, cela signifie que les mises en page du template Isis ne sont pas paramétrées correctement. Réinstallons-les et essayons de résoudre ce problème." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_TITLE="Aucune erreur..." +COM_PODCASTMANAGER_INFO_MIGRATION_TITLE="Migration !? Mais pourquoi suis-je ici ?" +COM_PODCASTMANAGER_INFO_THANK_YOU_FOR_INSTALLING="Merci d'avoir installé l'extension Podcast Manager pour Joomla. Pour toute demande de support, veuillez vous rendre sur %s afin de consulter la documentation ou rapporter une anomalie." COM_PODCASTMANAGER_INFO_TRANSLATIONS="Traductions" -COM_PODCASTMANAGER_INFO_TRANSLATIONS_CONTRIBUTE="Podcast Manager est listé sur Transifex et est prêt pour la traduction dans le cadre du projet OpenTranslators. Visitez la page du projet "_QQ_"Podcast Manager"_QQ_" sur ​​Transifex à % s pour contribuer à la traduction." -COM_PODCASTMANAGER_INFO_TRANSLATIONS_INTRO="Le Gestionnaire de Podcast est distribué dans la même langue que l'installation de Joomla par défaut! : anglais britannique (fr-FR). La suite complète de l'extension est entièrement personnalisables au niveau des champs de langue pour permettre la traduction dans n'importe quelle langue. Les traductions suivantes sont disponibles :" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_CONTRIBUTE="Podcast Manager est listé sur Transifex et est disponible à la traduction dans le cadre du projet OpenTranslators. Vous pouvez contribuer à la traduction en visitant la page du projet Podcast Manager sur ​​Transifex à l'adresse : %s." +COM_PODCASTMANAGER_INFO_TRANSLATIONS_INTRO="Podcast Manager est distribué dans la même langue que l'installation Joomla! par défaut : l'anglais britannique (en-GB). Les chaînes de caractère de la suite d'extensions sont entièrement personnalisables pour permettre la traduction dans n'importe quelle langue. Les traductions suivantes sont disponibles :" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRCA="fr-CA - Français (Canadien) traduit par OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRFR="fr-FR - Français (France) traduit par OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_IDID="id-ID - Indonesien (Indonesien) traduit par OpenTranslators" COM_PODCASTMANAGER_INFO_TRANSLATIONS_PTBR="pt-BR - Portugais (Brésil) traduit par OpenTranslators" -COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT="À quoi s'attendre" -COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_1="Le composant de Gestion de Podcast à l'utilisateur une totale flexibilité sur leurs flux et articles de podcast, et peut s'attendre à une expérience similaire à celle du Gestionnaire d'Article mais peaufiné pour le podcasting." -COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_2="Podcast Manager permet aux utilisateurs de télécharger des podcasts à travers l'interface de Joomla! via une version remaniée de l'outil d'insertion d'image avec de nombreuses options de l'administration spécifiquement pour ce composant. Au moment du chargement des fichiers, des informations sur les podcasts seront pré-remplis grâce à l'intégration de la bibliothèque getID3. Les utilisateurs seront en mesure de gérer leurs fichiers podcast à travers une distribution personnalisée du Gestionnaire des Médias d'orginie de Joomla!." -COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_3="Les utilisateurs sont en mesure de mettre en place un podcast et un flux pour le diffuser en spécifiant une heure de publication, parfait pour envoyer un podcast alors que le propriétaire du flux est absent." -COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_4="Le Gestionnaire de Podcast utilise pleinement et efficacement le Framework Joomla! et est ainsi engagé pour une intégration complète et permettre la suite de son développement avec le minimum de codage ." -COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_5="Le produit final de Gestionnaire de Podcast est le flux RSS, un module de listage de flux, ou la vue frontal du flux. Il est conforme aux standards et passe tous les tests de conformité appropriés. Tous les affichages sont dérivées du noyau Joomla!, ainsi on peut réutiliser les mêmes options de style pour permettre une intégration rapide dans n'importe quel site." +COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT="À quoi s'attendre ?" +COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_1="Le composant Podcast Manager offre à l'utilisateur une totale flexibilité quant à la gestion de ses éléments de flux et podcasts en retrouvant une expérience utilisateur similaire à celle du Gestionnaire des articles mais adaptée au podcasting." +COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_2="Podcast Manager permet aux utilisateurs de télécharger des podcasts à travers l'interface de Joomla! via une version remaniée de l'outil d'insertion d'image et offrant de nombreuses options dans l'administration spécifique du composant. Des informations sur les podcasts seront pré-remplies au moment du chargement des fichiers grâce à l'intégration de la bibliothèque getID3. Les utilisateurs seront en mesure de gérer leurs fichiers podcast à travers une distribution personnalisée du Gestionnaire des médias natif de Joomla." +COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_3="Les utilisateurs sont en mesure de mettre en place un podcast et un flux pour le diffuser en spécifiant une heure de publication. Ceci est idéal pour envoyer un podcast alors que le propriétaire du flux est absent." +COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_4="Podcast Manager optimise les fonctionnalités offertes par le framework Joomla! et permet ainsi également une intégration optimale ainsi que son développement ultérieur en un minimum de codage ." +COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_5="Le produit final Podcast Manager réside dans son flux RSS, le module de liste de flux, ou la vue en frontend du flux. Il est conforme aux standards et passe tous les tests de conformité. Tous les affichages sont dérivés du composant natif de vues pour Joomla! et il est ainsi possible de réutiliser les mêmes options de style pour permettre une intégration rapide dans n'importe quel site." COM_PODCASTMANAGER_HTML_VIEW_OPTIONS="Options de vue de liste du flux" -COM_PODCASTMANAGER_LIMIT_DESCRIPTION="Entrez une limite optionnel au nombre d'épisodes à afficher dans le flux. IMPORTANT - Il est FORTEMENT recommandé de ne pas mettre de limites au flux soumis à iTunes, les épisodes risquent de ne pas s'afficher convenablement." -COM_PODCASTMANAGER_LIMIT_LABEL="# des items" -COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION="cet item de menu est lié au flux." +COM_PODCASTMANAGER_LIMIT_DESCRIPTION="Renseignez une limite optionnelle au nombre d'épisodes à afficher dans le flux. IMPORTANT - Il est FORTEMENT recommandé de ne pas mettre de limites au flux soumis à iTunes, les épisodes risquent de ne pas s'afficher convenablement." +COM_PODCASTMANAGER_LIMIT_LABEL="# d'éléments" +COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION="Le flux lié à cet élément de menu." COM_PODCASTMANAGER_MENU_FEEDNAME_LABEL="Flux" +COM_PODCASTMANAGER_MIGRATION_BUTTON="Effectuer la migration" +COM_PODCASTMANAGER_MIGRATION_ERROR_BAD_TASK="Une tâche de migration invalide, %s, a été demandée." +COM_PODCASTMANAGER_MIGRATION_ERROR_CONTENT_TYPES_TABLE="La Table Joomla! #__content_types n'est pas présente dans la base de données. Cela peut indiquer que le statu de la base de données de votre site n'est pas celle souhaitée." +COM_PODCASTMANAGER_MIGRATION_ERROR_DOWNLOADING_PACKAGE="Une erreur est survenue lors du téléchargement de la mise en page pour le template Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_EXTRACTING_PACKAGE="Une erreur est survenue lors de la tentative d'extraction des mises en page pour le template Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_INSERTING_UCM_RECORDS="Une erreur est survenue lors de l'insertion du type de contenu pour le type de données %1$s : %2$s" +COM_PODCASTMANAGER_MIGRATION_ERROR_INSTALLING_PACKAGE="Une erreur est survenue lors de l'installation des mises en page pour le template Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_FEED_TYPE="Aucune entrée pour les flux de Podcast Manager n'existe dans la table Joomla! #__content_types. Sans cet enregistrement, les fonctions de tags et d'historique de contenu de Joomla! ne fonctionneront pas correctement avec les flux de Podcast Manager." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_LAYOUTS="Les mises en page du template Podcast Manager pour le template Isis de Joomla! 3 n'ont pas été trouvées." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_PODCAST_TYPE="Aucune entrée pour les podcasts de Podcast Manager n'existe pas dans la table Joomla! #__content_types. Sans cet enregistrement, les fonctions de tags et d'historique du contenu de Joomla! ne fonctionneront pas correctement avec les flux des podcasts de Podcast Manager." +COM_PODCASTMANAGER_MIGRATION_ERRORS="La migration de Podcast Manager a rencontré quelques erreurs : %s" +COM_PODCASTMANAGER_MIGRATION_SUCCESSFUL="La migration de Podcast Manager s'est réalisée avec succès." COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_0="Aucun podcast vérifié avec succès" -COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_1="%d podcasts vérifiés avec succès" +COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_1="%d podcast vérifié avec succès" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_MORE="%d podcasts vérifiés avec succès" -COM_PODCASTMANAGER_N_ITEMS_DELETED="%d podcasts ont bien été supprimés" -COM_PODCASTMANAGER_N_ITEMS_DELETED_1="%d podcasts ont bien été supprimés" -COM_PODCASTMANAGER_N_ITEMS_PUBLISHED="%d podcasts ont bien été publiés" -COM_PODCASTMANAGER_N_ITEMS_PUBLISHED_1="%d podcasts ont bien été publiés" -COM_PODCASTMANAGER_N_ITEMS_TRASHED="%d podcasts ont bien été mis à la corbeille" -COM_PODCASTMANAGER_N_ITEMS_TRASHED_1="%d podcasts ont bien été mis à la corbeille" -COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED="%d podcasts ont bien été mis été dépubliés" -COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED_1="%d podcasts ont bien été mis été dépubliés" +COM_PODCASTMANAGER_N_ITEMS_DELETED="%d podcasts supprimés avec succès" +COM_PODCASTMANAGER_N_ITEMS_DELETED_1="%d podcast supprimé avec succès" +COM_PODCASTMANAGER_N_ITEMS_PUBLISHED="%d podcasts publiés avec succès" +COM_PODCASTMANAGER_N_ITEMS_PUBLISHED_1="%d podcast publié avec succès" +COM_PODCASTMANAGER_N_ITEMS_TRASHED="%d podcasts ont été mis à la corbeille avec succès" +COM_PODCASTMANAGER_N_ITEMS_TRASHED_1="%d podcast a été mis à la corbeille avec succès" +COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED="%d podcasts ont été dépubliés avec succès" +COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED_1="%d podcast a été dépublié avec succès" COM_PODCASTMANAGER_NO_RECORDS_FOUND="Aucun enregistrement trouvé" COM_PODCASTMANAGER_OPTION_BOTTOM="Bas" -COM_PODCASTMANAGER_OPTION_TOP="Toutes" -COM_PODCASTMANAGER_ORDER_DESCRIPTION="Sélectionnez la colonne pour trier le résultat, par défaut c'est la colonne "_QQ_"Publié"_QQ_"." -COM_PODCASTMANAGER_ORDER_LABEL="Ordonné par" -COM_PODCASTMANAGER_ORDER_PUBLISHED_LABEL="Date de publication" +COM_PODCASTMANAGER_OPTION_TOP="Haut" +COM_PODCASTMANAGER_ORDER_CREATED_LABEL="Date/heure de création" +COM_PODCASTMANAGER_ORDER_DESCRIPTION="Sélectionnez la colonne pour trier le résultat. Colonne "_QQ_"Publié"_QQ_"par défaut." +COM_PODCASTMANAGER_ORDER_LABEL="Trier par" +COM_PODCASTMANAGER_ORDER_PUBLISHED_LABEL="Date/heure de publication" COM_PODCASTMANAGER_ORDER_TITLE_LABEL="Titre" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" -COM_PODCASTMANAGER_RSS_FEED_URL="URL du Flux RSS" -COM_PODCASTMANAGER_SELECT_FEEDNAME="- Sélectionnez le flux -" -COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_DESCRIPTION="Si défini, montre la description du flux sur la page." -COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_LABEL="Montrer la Description du Flux" -COM_PODCASTMANAGER_SHOW_FEED_IMAGE_DESCRIPTION="Si défini, montre l'image du flux sur la page." -COM_PODCASTMANAGER_SHOW_FEED_IMAGE_LABEL="Montrer l'Image du Flux" -COM_PODCASTMANAGER_SHOW_FEED_TITLE_DESCRIPTION="Montre lae titre du flux en entête sur la page." -COM_PODCASTMANAGER_SHOW_FEED_TITLE_LABEL="Montrer le Titre du Flux" +COM_PODCASTMANAGER_PARSE_METADATA="Analyse des métadonnées" +COM_PODCASTMANAGER_RSS_FEED_URL="URL du flux RSS" +COM_PODCASTMANAGER_SELECT_FEEDNAME="- Sélection du flux -" +COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_DESCRIPTION="Si défini, affiche la description du flux sur la page." +COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_LABEL="Afficher la description du flux" +COM_PODCASTMANAGER_SHOW_FEED_IMAGE_DESCRIPTION="Si défini, affiche l'image du flux sur la page." +COM_PODCASTMANAGER_SHOW_FEED_IMAGE_LABEL="Afficher l'image du flux" +COM_PODCASTMANAGER_SHOW_FEED_TITLE_DESCRIPTION="Afficher le titre du flux comme entête sur la page." +COM_PODCASTMANAGER_SHOW_FEED_TITLE_LABEL="Afficher le titre du flux" COM_PODCASTMANAGER_SHOW_ITEM_AUTHOR_DESCRIPTION="Choisissez si vous souhaitez afficher l'auteur du podcast dans la grille." -COM_PODCASTMANAGER_SHOW_ITEM_AUTHOR_LABEL="Montrer l'Auteur du Podcast" -COM_PODCASTMANAGER_SHOW_ITEM_DESCRIPTION_DESCRIPTION="Si défini, montre la description de l'épisode du podcast avec chaque liste." -COM_PODCASTMANAGER_SHOW_ITEM_DESCRIPTION_LABEL="Montre la Description du Podcast" -COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_DESCRIPTION="Si défini, affiche dans la liste l'image associée à l'épisode en podcast." -COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_LABEL="Afficher l'Image Podcast" -COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_DESCRIPTION="Si la valeur est oui, alors afficher le lecteur multimédia pour chaque épisode listé. Le Plugin de Contenu du Gestionnaire de Podcast doit être activé pour que ce lecteur apparaisse." -COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_LABEL="Montrer le Lecteur de Podcast" +COM_PODCASTMANAGER_SHOW_ITEM_AUTHOR_LABEL="Afficher l'auteur du podcast" +COM_PODCASTMANAGER_SHOW_ITEM_DESCRIPTION_DESCRIPTION="Si défini, affiche la description de l'épisode du podcast avec chaque liste." +COM_PODCASTMANAGER_SHOW_ITEM_DESCRIPTION_LABEL="Affiche la description du podcast" +COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_DESCRIPTION="Si défini, affiche dans la liste, l'image associée à l'épisode du podcast." +COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_LABEL="Afficher l'image du podcast" +COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_DESCRIPTION="Si défini sur oui, affiche le lecteur multimédia pour chaque épisode listé. Le plugin de contenu Podcast Manager doit être activé pour que ce lecteur apparaisse." +COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_LABEL="Afficher le lecteur de podcast" +COM_PODCASTMANAGER_SPACE_IN_FILENAME="Un espace a été trouvé dans le nom de fichier du podcast. Cela peut provoquer des anomalies avec les services de streaming tiers tels que iTunes. Vous devriez renommer le fichier sans inclure d'espaces et mettre à jour l'enregistrement du podcast." COM_PODCASTMANAGER_SUBMENU_FEEDS="Flux" -COM_PODCASTMANAGER_SUBMENU_FILES="Gestionnaire de Fichiers" +COM_PODCASTMANAGER_SUBMENU_FILES="Gestionnaire de fichiers" COM_PODCASTMANAGER_SUBMENU_PODCASTS="Podcasts" -COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="Trop de plugins de médias sont activés, seulement un type de "_QQ_"mediapodcast"_QQ_" plugin peut être activé. Le chemin de fichiers Média sera remis à défaut." -COM_PODCASTMANAGER_VIEW_FEED_ADD_FEED="Podcast Manager : Ajouter un nouveau Flux" -COM_PODCASTMANAGER_VIEW_FEED_EDIT_FEED="Podcast Manager : Editer un Flux" +COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="De trop nombreux plugins de médias sont activés, un seul type de plugin "_QQ_"mediapodcast"_QQ_" peut être activé. Le chemin par défaut des fichiers médias a été appliqué." +COM_PODCASTMANAGER_VIEW_FEED_ADD_FEED="Podcast Manager : ajouter un nouveau flux" +COM_PODCASTMANAGER_VIEW_FEED_EDIT_FEED="Podcast Manager : éditer un flux" COM_PODCASTMANAGER_VIEW_FEED_FIELDSET_FEED="Données du flux" -COM_PODCASTMANAGER_VIEW_FEEDS_TITLE="Podcast Manager : Flux" -COM_PODCASTMANAGER_VIEW_PODCAST_ADD_PODCAST="Podcast Manager : Ajouter Metadata au Podcast" -COM_PODCASTMANAGER_VIEW_PODCAST_EDIT_PODCAST="Podcast Manager : Editer Metadata du Podcast" -COM_PODCASTMANAGER_VIEW_PODCAST_FIELDSET_METADATA="Metadonnées du podcast" -COM_PODCASTMANAGER_VIEW_PODCASTS_TITLE="Podcast Manager : Podcasts" -COM_PODCASTMANAGER_XML_DESCRIPTION="Le composant de Gestion de Podcast est utilisé pour gérer des podcasts." +COM_PODCASTMANAGER_VIEW_FEEDS_TITLE="Podcast Manager : flux" +COM_PODCASTMANAGER_VIEW_MIGRATION_TITLE="Podcast Manager : migration" +COM_PODCASTMANAGER_VIEW_PODCAST_ADD_PODCAST="Podcast Manager : ajouter des métadonnées au podcast" +COM_PODCASTMANAGER_VIEW_PODCAST_EDIT_PODCAST="Podcast Manager : éditer les métadonnées du podcast" +COM_PODCASTMANAGER_VIEW_PODCAST_FIELDSET_METADATA="Métadonnées du podcast" +COM_PODCASTMANAGER_VIEW_PODCASTS_TITLE="Podcast Manager : podcasts" +COM_PODCASTMANAGER_XML_DESCRIPTION="Le composant Podcast Manager est utilisé pour la gestion de podcasts." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Créé par" +JGLOBAL_HISTORY_LIMIT_OPTIONS_DESC="Le nombre maximum d'anciennes versions d'un élément à enregistrer. Si zéro, toutes les anciennes versions seront sauvegardées." +JGLOBAL_HISTORY_LIMIT_OPTIONS_LABEL="Versions maximum (Joomla! 3.2 et ultérieures uniquement)" +JGLOBAL_PUBLISHED_DATE="Date de publication" +JGLOBAL_SAVE_HISTORY_OPTIONS_DESC="Enregistrement automatique des anciennes versions d'un élément. Si défini sur Oui, les anciennes versions des éléments seront sauvegardées automatiquement. Lors de l'édition, vous pourrez restaurer à partir d'une version précédente de l'élément." +JGLOBAL_SAVE_HISTORY_OPTIONS_LABEL="Activer les versions (Joomla! 3.2 et ultérieures uniquement)" diff --git a/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.sys.ini b/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.sys.ini index e9378634..42875682 100644 --- a/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.sys.ini +++ b/com_podcastmanager/admin/language/fr-FR/fr-FR.com_podcastmanager.sys.ini @@ -1,28 +1,28 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" COM_PODCASTMANAGER="Podcast Manager" -COM_PODCASTMANAGER_ERROR_INSTALL_JVERSION="Cette version du Gestonnaire de Podcast nécessite Joomla! 2.5.6 ou plus récent" -COM_PODCASTMANAGER_ERROR_INSTALL_PHPVERSION="Cette version du Gestionnaire de Podcast nécessite PHP 5.3 ou plus récent" -COM_PODCASTMANAGER_ERROR_INSTALL_UPDATE="Impossible de récupérer la version depuis la base de données, impossible de supprimer les anciens fichiers de langue" -COM_PODCASTMANAGER_VIEW_DEFAULT_DESCRIPTION="Permet aux utilisateurs de proposer de nouveaux épisodes de Podcast." -COM_PODCASTMANAGER_VIEW_DEFAULT_OPTION="Ajouter un Episode au Podcast" -COM_PODCASTMANAGER_VIEW_DEFAULT_TITLE="Ajouter un Episode au Podcast" -COM_PODCASTMANAGER_VIEW_FORM_DESCRIPTION="Permet aux utilisateurs de proposer de nouveaux flux de Podcast." -COM_PODCASTMANAGER_VIEW_FORM_OPTION="Ajouter un Flux de Podcast" -COM_PODCASTMANAGER_VIEW_FORM_TITLE="Ajouter un Flux de Podcast" +COM_PODCASTMANAGER_ERROR_INSTALL_JVERSION="Cette version de Podcast Manager nécessite Joomla! 2.5.6 ou plus récent." +COM_PODCASTMANAGER_ERROR_INSTALL_PHPVERSION="Cette version de Podcast Manager nécessite PHP 5.3 ou plus récent." +COM_PODCASTMANAGER_ERROR_INSTALL_UPDATE="Impossible de récupérer la version depuis la base de données, impossible de supprimer les anciens fichiers de langue." +COM_PODCASTMANAGER_VIEW_DEFAULT_DESCRIPTION="Permet aux utilisateurs de proposer de nouveaux épisodes de podcast." +COM_PODCASTMANAGER_VIEW_DEFAULT_OPTION="Ajouter un épisode au podcast" +COM_PODCASTMANAGER_VIEW_DEFAULT_TITLE="Ajouter un épisode au podcast" +COM_PODCASTMANAGER_VIEW_FORM_DESCRIPTION="Permet aux utilisateurs de proposer de nouveaux flux de podcast." +COM_PODCASTMANAGER_VIEW_FORM_OPTION="Ajouter un flux de podcast" +COM_PODCASTMANAGER_VIEW_FORM_TITLE="Ajouter un flux de podcast" COM_PODCASTMANAGER_FEED_HTML_VIEW_DESCRIPTION="Une page qui liste les épisodes dans un flux de podcast." -COM_PODCASTMANAGER_FEED_HTML_VIEW_OPTION="Listage du Flux" -COM_PODCASTMANAGER_FEED_HTML_VIEW_TITLE="Listage du Flux" +COM_PODCASTMANAGER_FEED_HTML_VIEW_OPTION="Liste de flux" +COM_PODCASTMANAGER_FEED_HTML_VIEW_TITLE="Liste de flux" COM_PODCASTMANAGER_FEED_RAW_VIEW_DESCRIPTION="Le flux RSS d'un flux de podcast sélectionné." COM_PODCASTMANAGER_FEED_RAW_VIEW_OPTION="Flux RSS" COM_PODCASTMANAGER_FEED_RAW_VIEW_TITLE="Flux RSS" COM_PODCASTMANAGER_SUBMENU_FEEDS="Flux" -COM_PODCASTMANAGER_SUBMENU_FILES="Gestionnaire de Fichiers" +COM_PODCASTMANAGER_SUBMENU_FILES="Gestionnaire de fichiers" COM_PODCASTMANAGER_SUBMENU_PODCASTS="Podcasts" -COM_PODCASTMANAGER_XML_DESCRIPTION="Le Composant Gestionnaire de Podcast est utilisépour la gestion des podcasts." +COM_PODCASTMANAGER_XML_DESCRIPTION="Le composant Podcast Manger est utilisé pour la gestion des podcasts." COM_TAGS_CONTENT_TYPE_PODCAST_MANAGER_FEED="Flux de Podcast Manager" COM_TAGS_CONTENT_TYPE_PODCAST_MANAGER_PODCAST="Podcast de Podcast Manager" diff --git a/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.ini b/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.ini index 3e13423f..fb700fd7 100644 --- a/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.ini +++ b/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -118,8 +118,8 @@ COM_PODCASTMANAGER_FIELDSET_CONFIG_OPTIONS_LABEL="Setelan" COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Opsi Pengumpan iTunes" COM_PODCASTMANAGER_FIELDSET_RULES="Izin Pengumpan" COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Saring daftar berdasarkan judul." -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Tidak bisa memakai pustaka getID3 untuk membaca metadata dari berkas remote." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Tidak bisa memproses berkas metadata, berkas tidak ditemukan." COM_PODCASTMANAGER_GETID3_NOT_FOUND="Kepustakaan getID3 tidak ditemukan. TIdak bisa menghimpun berkas media dan mengekstrak metadata. Silakan isi data yang sesuai secara manual." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nama Pengumpan" COM_PODCASTMANAGER_HEADING_NUMBER_ITEMS="Jumlah episode podcast" @@ -148,10 +148,19 @@ COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_EDITOR="Plugin Editor - COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_PODCASTMEDIA="Plugin Pengelolaan Berkas - Tipe plugin "_QQ_"podcastmedia"_QQ_", baru pada rilis ke 2.0, mengaktifkan pengguna untuk mengubah standar jalur media unggahan berkas podcast. Termasuk plugin untuk disisipkan ke dalam nama pengguna dari pengguna tersebut untuk ke jalurnya." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_FEEDS="Pencarian Pintar - Pengumpan - Plugin ini mengintegrasikan pengumpan dari Podcast Manager ke dalam komponen Pencarian Pintar." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_PODCASTS="Pencarian Pintar - Podcast - Plugin ini mengintegrasikan data podcast dari Podcast Manager ke dalam komponen Pencarian Pintar." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_PARAGRAPH="Kami temukan galat berikut ini, tapi tidak perlu khawatir, kami bisa memperbaikinya dengan mudah." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_TITLE="Ditemukan Galat..." +COM_PODCASTMANAGER_INFO_MIGRATION_INTRO="Ini bukan apa yang diharapkan, bukan? Anda bisa sampai melihat ini karena beberapa alasan, termasuk migrasi Joomla! 2.5 ke 3 saat ini atau tata letak templat Podcast Manager untuk Joomla! 3 yang tidak terpasang. Tapi jangan khawatir, dari halaman ini kami bisa mutakhirkan pemasangan Podcast Manager Anda untuk memastikan semuanya akan baik-baik saja kedepannya." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_PARAGRAPH="Jadi tidak ada galat yang ditemukan, tapi Anda masih melihat halaman ini yang berarti tata letak templat Isis tidak disetel secara benar. Mari pasang ulang dan coba perbaiki ini." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_TITLE="Tidak ada Galat..." +COM_PODCASTMANAGER_INFO_MIGRATION_TITLE="Migrasi!? Mengapa Saya Ada Disini?" COM_PODCASTMANAGER_INFO_THANK_YOU_FOR_INSTALLING="Terima kasih telah memasang perangkat ekstensi Podcast Manager untuk Joomla! Dukungan atas isu-isu yang ada, silakan kunjungi %s untuk membaca dokumentasi dan tautan laporan bug." COM_PODCASTMANAGER_INFO_TRANSLATIONS="Terjemahan" COM_PODCASTMANAGER_INFO_TRANSLATIONS_CONTRIBUTE="Podcast Manager terdaftar di Transifex dan siap untuk diterjemahkan sebagai bagian dari proyek OpenTranslators. Kunjungi halaman proyek Podcast Manager di Transifex di %s untuk berkontribusi." COM_PODCASTMANAGER_INFO_TRANSLATIONS_INTRO="Podcast Manager didistribusikan di dalam bahasa yang sama dengan pemasangan standar Joomla!; British English (en-GB). Keseluruhan ekstensi memiliki string bahasa yang dikustom untuk mengizinkan penterjemahan ke sembarang bahasa. Terjemahan yang tersedia adalah sebagai berikut:" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRCA="fr-CA - French (Canadian) diterjemahkan oleh OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRFR="fr-FR - French (France) diterjemahkan oleh OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_IDID="id-ID - Indonesian (Indonesian) diterjemahkan oleh OpenTranslators" COM_PODCASTMANAGER_INFO_TRANSLATIONS_PTBR="pt-BR - Portuguese (Brazilian) diterjemahkan oleh OpenTranslators" COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT="Apa yang diharapkan" COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_1="Komponen Podcast Manager memberikan fleksibilitas penuh kepada pengguna atas pengumpan dan butir-butir podcast mereka, juga pengalaman yang mirip dengan Pengelolaan Artikel namun dengan setelan untuk melakukan podcast." @@ -164,6 +173,18 @@ COM_PODCASTMANAGER_LIMIT_DESCRIPTION="Masukkan batas opsional jumlah episode unt COM_PODCASTMANAGER_LIMIT_LABEL="# butir" COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION="Butir menu pengumpan ini tertaut ke." COM_PODCASTMANAGER_MENU_FEEDNAME_LABEL="Pengumpan" +COM_PODCASTMANAGER_MIGRATION_BUTTON="Lakukan Migrasi" +COM_PODCASTMANAGER_MIGRATION_ERROR_BAD_TASK="Sebuah migrasi yang salah, %s, diperlukan." +COM_PODCASTMANAGER_MIGRATION_ERROR_CONTENT_TYPES_TABLE="Tabel Joomla #__content_types tidak ada di database. Ini bisa mengindikasikan database situs Anda tidak pada status yang seharusnya." +COM_PODCASTMANAGER_MIGRATION_ERROR_DOWNLOADING_PACKAGE="Sebuah galat muncul ketika mengunduh tata letak templat Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_EXTRACTING_PACKAGE="Sebuah galat muncul ketika hendak mengekstrak tata letak templat Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_INSERTING_UCM_RECORDS="Sebuah galat muncul ketika memasukkan rekam tipe konten untuk tipe data %1$s: %2$s" +COM_PODCASTMANAGER_MIGRATION_ERROR_INSTALLING_PACKAGE="Sebuah galat muncul ketika memasang tata letak templat Isis." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_FEED_TYPE="Masukan pengumpan Podcast Manager tidak ada di tabel Joomla #__content_types. Tanpa rekam ini, tagar dan fitur sejarah konten Joomla tidak akan bekerja dengan baik untuk pengumpan Podcast Manager." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_LAYOUTS="Tata letak templat Podcast Manager untuk templat Isis Joomla 3 tidak bisa ditemukan." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_PODCAST_TYPE="Masukan podcast Podcast Manager tidak ada di tabel Joomla #__content_types. Tanpa rekam ini, tagar dan fitur sejarah konten Joomla tidak akan bekerja dengan baik untuk podcast Podcast Manager." +COM_PODCASTMANAGER_MIGRATION_ERRORS="Migrasi Podcast Manager mengalami beberapa galat: %s" +COM_PODCASTMANAGER_MIGRATION_SUCCESSFUL="Migrasi Podcast Manager berhasil diselesaikan." COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_0="Tidak ada podcast berhasil diperiksa" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_1="%d podcast berhasil diperiksa" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_MORE="%d podcast berhasil diperiksa" @@ -178,11 +199,12 @@ COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED_1="%d podcast berhasil tidak diterbitkan" COM_PODCASTMANAGER_NO_RECORDS_FOUND="Tidak Ada Rekaman Yang Ditemukan" COM_PODCASTMANAGER_OPTION_BOTTOM="Bawah" COM_PODCASTMANAGER_OPTION_TOP="Atas" +COM_PODCASTMANAGER_ORDER_CREATED_LABEL="Tanggal/Waktu Dibuat" COM_PODCASTMANAGER_ORDER_DESCRIPTION="Pilih kolom untuk hasil urutan, standar adalah Diterbitkan." COM_PODCASTMANAGER_ORDER_LABEL="Urut berdasarkan" COM_PODCASTMANAGER_ORDER_PUBLISHED_LABEL="Tanggal/Waktu Diterbitkan" COM_PODCASTMANAGER_ORDER_TITLE_LABEL="Judul" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" COM_PODCASTMANAGER_RSS_FEED_URL="URL Pengumpan RSS" COM_PODCASTMANAGER_SELECT_FEEDNAME="- Pilih Pengumpan -" COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_DESCRIPTION="Kalau ditentukan, akan menampilkan deksripsi pengumpan di halaman." @@ -199,6 +221,7 @@ COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_DESCRIPTION="Kalau ditentukan, akan menampilk COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_LABEL="Tampilkan Gambar Podcast" COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_DESCRIPTION="Kalau diatur ke 'Ya', maka akan menampilkan pemutar media untuk masing-masing episode terdaftar. Plugin Konten Podcast Manager harus diaktifkan agar pemutar bisa merender." COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_LABEL="Tampilkan Pemutar Podcast" +COM_PODCASTMANAGER_SPACE_IN_FILENAME="Spasi ditemukan di nama berkas podcast. Hal ini bisa menyebabkan masalah dengan layanan streaming pihak ketiga seperti iTunes. Disarankan agar menamakannya kembali tanpa spasi dan mutakhirkan rekam podcast." COM_PODCASTMANAGER_SUBMENU_FEEDS="Pengumpan" COM_PODCASTMANAGER_SUBMENU_FILES="Pengelolaan Berkas" COM_PODCASTMANAGER_SUBMENU_PODCASTS="Podcast" @@ -207,8 +230,17 @@ COM_PODCASTMANAGER_VIEW_FEED_ADD_FEED="Podcast Manager: Tambah Pengumpan Baru" COM_PODCASTMANAGER_VIEW_FEED_EDIT_FEED="Podcast Manager: Edit Pengumpan" COM_PODCASTMANAGER_VIEW_FEED_FIELDSET_FEED="Data Pengumpan" COM_PODCASTMANAGER_VIEW_FEEDS_TITLE="Podcast Manager: Pengumpan" +COM_PODCASTMANAGER_VIEW_MIGRATION_TITLE="Podcast Manager: Migrasi" COM_PODCASTMANAGER_VIEW_PODCAST_ADD_PODCAST="Podcast Manager: Tambah Metadata Podcast" COM_PODCASTMANAGER_VIEW_PODCAST_EDIT_PODCAST="Podcast Manager: Edit Metadata Podcast" COM_PODCASTMANAGER_VIEW_PODCAST_FIELDSET_METADATA="Metadata Podcast" COM_PODCASTMANAGER_VIEW_PODCASTS_TITLE="Podcast Manager: Podcasts" COM_PODCASTMANAGER_XML_DESCRIPTION="Komponen Podcast Manager digunakan untuk mengelola podcast." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Dibuat oleh" +JGLOBAL_HISTORY_LIMIT_OPTIONS_DESC="Jumlah maksimal versi lama yang akan disimpan. Kalau nol, seluruh versi lama akan disimpan." +JGLOBAL_HISTORY_LIMIT_OPTIONS_LABEL="Versi Maksimal (hanya Joomla! 3.2 dan terbaru)" +JGLOBAL_PUBLISHED_DATE="Tanggal Penerbitan" +JGLOBAL_SAVE_HISTORY_OPTIONS_DESC="Apakah akan menyimpan versi lama. Kalau diatur ke Ya, butir-butir versi yang lama akan disimpan secara otomatis. Saat mengedit, Anda bisa mengembalikan ke versi sebelumnya." +JGLOBAL_SAVE_HISTORY_OPTIONS_LABEL="Aktifkan Versi (hanya Joomla! 3.2 dan terbaru)" diff --git a/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.sys.ini b/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.sys.ini index c0475bbf..94dc399f 100644 --- a/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.sys.ini +++ b/com_podcastmanager/admin/language/id-ID/id-ID.com_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.ini b/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.ini index 294a6582..4ecfe1a6 100644 --- a/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.ini +++ b/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -118,8 +118,8 @@ COM_PODCASTMANAGER_FIELDSET_CONFIG_OPTIONS_LABEL="Configurações" COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Opções de Feed iTunes" COM_PODCASTMANAGER_FIELDSET_RULES="Permissões de Feed" COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Filtrar a lista pelo título." -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." COM_PODCASTMANAGER_GETID3_NOT_FOUND="A biblioteca getID3 não foi encontrada. Não é possível analisar o seu arquivo de mídia e extrair metadados. Por favor, preencha manualmente os dados apropriados." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nome do Feed" COM_PODCASTMANAGER_HEADING_NUMBER_ITEMS="Número de episódios do podcast" @@ -148,10 +148,19 @@ COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_EDITOR="Editor Plugin - COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_PODCASTMEDIA="File Manager Plugin - O plugin tipo "_QQ_"podcastmedia"_QQ_" , novo no lançamento 2.0, habilita usuários a modificar o caminho padrão de mídia para arquivos podcasts enviados. Incluso está um plugin para anexar o nome do usuário logado ao caminho." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_FEEDS="Busca Inteligente - Feeds - Este plugin integra os dados do Gerenciador de Podcast dentro do componente de Busca Inteligente." COM_PODCASTMANAGER_INFO_HOW_PODCAST_MANAGER_WORKS_PLUGIN_SMARTSEARCH_PODCASTS="Busca Inteligente - Feeds - Este plugin integra os dados do Gerenciador de Podcast dentro do componente de Busca Inteligente." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_PARAGRAPH="We found the following errors, but don't worry, we should be able to fix them with ease." +COM_PODCASTMANAGER_INFO_MIGRATION_ERRORS_TITLE="Errors Found..." +COM_PODCASTMANAGER_INFO_MIGRATION_INTRO="This wasn't what you were expecting, was it? You could have reached this view for a few different reasons, including a recent Joomla! 2.5 to 3 migration or the Podcast Manager template layouts for Joomla! 3 not being installed. But don't worry, from this page we can update your Podcast Manager installation to ensure that everything is just fine going forward." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_PARAGRAPH="So no errors were found, but you are still seeing this view which means that the Isis template layouts are not set up correctly. Let's reinstall them and try to fix this." +COM_PODCASTMANAGER_INFO_MIGRATION_NO_ERRORS_TITLE="No Errors..." +COM_PODCASTMANAGER_INFO_MIGRATION_TITLE="Migration!? Why Am I Here?" COM_PODCASTMANAGER_INFO_THANK_YOU_FOR_INSTALLING="Obrigado por instalar a suite de estensões Podcast Manager para Joomla! Para questões de suporte, favor visitar %s para documentação e links para reportar bugs." COM_PODCASTMANAGER_INFO_TRANSLATIONS="Traduções" COM_PODCASTMANAGER_INFO_TRANSLATIONS_CONTRIBUTE="Podcast Manager está listado no Transifex e está pronto para tradução como parte do projeto Open Translators. Visite a página do projeto Podcast Manager no Transifex em %s para contribuir uma tradução." COM_PODCASTMANAGER_INFO_TRANSLATIONS_INTRO="Podcast Manager é distribuído no mesmo idioma da instalação padrão do Joomla! ; Inglês Britânico (en-GB). Toda a suite de extensões tem linhas de idioma completamente personalizáveis para permitir tradução para qualquer idioma. Para o lançamento 1.8, as seguinte traduções estão disponíveis:" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRCA="fr-CA - French (Canadian) translated by OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_FRFR="fr-FR - French (France) translated by OpenTranslators" +COM_PODCASTMANAGER_INFO_TRANSLATIONS_IDID="id-ID - Indonesian (Indonesian) translated by OpenTranslators" COM_PODCASTMANAGER_INFO_TRANSLATIONS_PTBR="pt-BR - Português (Brasileiro) traduzido por Manoel Silva" COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT="O quê esperar" COM_PODCASTMANAGER_INFO_WHAT_TO_EXPECT_PARA_1="O componente Podcast Manager oferece ao usuário flexibilidade completa sobre seus feeds e ítens de podcast, e pode esperar uma experiência similar à do Gerenciador de Artigos, no entanto mais refinado para podcasting." @@ -164,6 +173,18 @@ COM_PODCASTMANAGER_LIMIT_DESCRIPTION="Digite um limite opcional ao número de ep COM_PODCASTMANAGER_LIMIT_LABEL="# de ítens" COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION="O feed ao qual este ítem de menu está linkado." COM_PODCASTMANAGER_MENU_FEEDNAME_LABEL="Feed" +COM_PODCASTMANAGER_MIGRATION_BUTTON="Perform Migration" +COM_PODCASTMANAGER_MIGRATION_ERROR_BAD_TASK="An invalid migration task, %s, was requested." +COM_PODCASTMANAGER_MIGRATION_ERROR_CONTENT_TYPES_TABLE="Joomla's #__content_types table is not present in the database. This may indicate your site's database is not in the state it is expected to be in." +COM_PODCASTMANAGER_MIGRATION_ERROR_DOWNLOADING_PACKAGE="An error occurred while downloading the Isis template layouts." +COM_PODCASTMANAGER_MIGRATION_ERROR_EXTRACTING_PACKAGE="An error occurred while attempting to extract the Isis template layouts." +COM_PODCASTMANAGER_MIGRATION_ERROR_INSERTING_UCM_RECORDS="An error occurred while inserting the content type record for the %1$s data type: %2$s" +COM_PODCASTMANAGER_MIGRATION_ERROR_INSTALLING_PACKAGE="An error occurred while installing the Isis template layouts." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_FEED_TYPE="An entry for Podcast Manager's feeds does not exist in Joomla's #__content_types table. Without this record, the tags and content history features of Joomla will not work correctly with Podcast Manager's feeds." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_LAYOUTS="The Podcast Manager template layouts for Joomla 3's Isis template could not be found." +COM_PODCASTMANAGER_MIGRATION_ERROR_NO_PODCAST_TYPE="An entry for Podcast Manager's podcasts does not exist in Joomla's #__content_types table. Without this record, the tags and content history features of Joomla will not work correctly with Podcast Manager's podcasts." +COM_PODCASTMANAGER_MIGRATION_ERRORS="The Podcast Manager migration experienced some errors: %s" +COM_PODCASTMANAGER_MIGRATION_SUCCESSFUL="The Podcast Manager migration has successfully completed." COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_0="Nenhum podcast checado com sucesso" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_1="%d podcast checado com sucesso" COM_PODCASTMANAGER_N_ITEMS_CHECKED_IN_MORE="%d podcasts checados com sucesso" @@ -178,11 +199,12 @@ COM_PODCASTMANAGER_N_ITEMS_UNPUBLISHED_1="%d podcast despublicado com sucesso" COM_PODCASTMANAGER_NO_RECORDS_FOUND="Nenhum registro encontrado" COM_PODCASTMANAGER_OPTION_BOTTOM="Rodapé" COM_PODCASTMANAGER_OPTION_TOP="Topo" +COM_PODCASTMANAGER_ORDER_CREATED_LABEL="Created Date/Time" COM_PODCASTMANAGER_ORDER_DESCRIPTION="Selecionar a columa pela qual organizar o output, por padrão Publicado." COM_PODCASTMANAGER_ORDER_LABEL="Ordem por" COM_PODCASTMANAGER_ORDER_PUBLISHED_LABEL="Data/Horário Publicado" COM_PODCASTMANAGER_ORDER_TITLE_LABEL="Título" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" COM_PODCASTMANAGER_RSS_FEED_URL="URL para Alimentador de RSS" COM_PODCASTMANAGER_SELECT_FEEDNAME=" - Selecione Feed - " COM_PODCASTMANAGER_SHOW_FEED_DESCRIPTION_DESCRIPTION="Se definido, exibe a descrição do feed na página." @@ -199,6 +221,7 @@ COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_DESCRIPTION="Se definido, exibe a imagem asso COM_PODCASTMANAGER_SHOW_ITEM_IMAGE_LABEL="Exibir Imagem do Podcast" COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_DESCRIPTION="Se configurado para sim, então exibe o media player para cada episódio listado. O Podcast Manager Content Plugin deve estar habilidato para este player ser exibido." COM_PODCASTMANAGER_SHOW_ITEM_PLAYER_LABEL="Exibir Podcast Player" +COM_PODCASTMANAGER_SPACE_IN_FILENAME="A space was found in the podcast's file name. This may cause issues with third party streaming services such as iTunes. It is suggested you rename the file to not include spaces and update the podcast record." COM_PODCASTMANAGER_SUBMENU_FEEDS="Feeds" COM_PODCASTMANAGER_SUBMENU_FILES="Gerenciador de Arquivos" COM_PODCASTMANAGER_SUBMENU_PODCASTS="Podcasts" @@ -207,8 +230,17 @@ COM_PODCASTMANAGER_VIEW_FEED_ADD_FEED="Podcast Manager: Adicionar Novo Feed" COM_PODCASTMANAGER_VIEW_FEED_EDIT_FEED="Podcast Manager: Editar Feed" COM_PODCASTMANAGER_VIEW_FEED_FIELDSET_FEED="Feed Data" COM_PODCASTMANAGER_VIEW_FEEDS_TITLE="Podcast Manager: Feeds" +COM_PODCASTMANAGER_VIEW_MIGRATION_TITLE="Podcast Manager: Migration" COM_PODCASTMANAGER_VIEW_PODCAST_ADD_PODCAST="Podcast Manager: Adicionar Podcast Metadata" COM_PODCASTMANAGER_VIEW_PODCAST_EDIT_PODCAST="Podcast Manager: Editar Podcast Metadata" COM_PODCASTMANAGER_VIEW_PODCAST_FIELDSET_METADATA="Podcast Metadata" COM_PODCASTMANAGER_VIEW_PODCASTS_TITLE="Podcast Manager: Podcasts" COM_PODCASTMANAGER_XML_DESCRIPTION="O componente Podcast Manager é usado para gerenciar podcasts." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Created by" +JGLOBAL_HISTORY_LIMIT_OPTIONS_DESC="The maximum number of old versions of an item to save. If zero, all old versions will be saved." +JGLOBAL_HISTORY_LIMIT_OPTIONS_LABEL="Maximum Versions (Joomla! 3.2 and later only)" +JGLOBAL_PUBLISHED_DATE="Published Date" +JGLOBAL_SAVE_HISTORY_OPTIONS_DESC="Whether to automatically save old versions of an item. If set to Yes, old versions of items are saved automatically. When editing, you may restore from a previous version of the item." +JGLOBAL_SAVE_HISTORY_OPTIONS_LABEL="Enable Versions (Joomla! 3.2 and later only)" diff --git a/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.sys.ini b/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.sys.ini index 790eb2b1..77cbfc30 100644 --- a/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.sys.ini +++ b/com_podcastmanager/admin/language/pt-BR/pt-BR.com_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/com_podcastmanager/admin/liveupdate/config.php b/com_podcastmanager/admin/liveupdate/config.php index 88223510..4d00e66a 100644 --- a/com_podcastmanager/admin/liveupdate/config.php +++ b/com_podcastmanager/admin/liveupdate/config.php @@ -15,7 +15,7 @@ class LiveUpdateConfig extends LiveUpdateAbstractConfig var $_extensionName = 'pkg_podcastmanager'; var $_extensionTitle = 'Podcast Manager'; var $_requiresAuthorization = false; - var $_updateURL = 'http://www.babdev.com/index.php?option=com_ars&view=update&format=ini&id=3'; + var $_updateURL = 'https://www.babdev.com/index.php?option=com_ars&view=update&format=ini&id=3'; var $_versionStrategy = 'different'; var $_xmlFilename = 'pkg_podcastmanager.xml'; @@ -26,4 +26,4 @@ function __construct() $this->_minStability = $podmanparams->get('minstability', 'alpha'); parent::__construct(); } -} \ No newline at end of file +} diff --git a/com_podcastmanager/admin/models/cpanel.php b/com_podcastmanager/admin/models/cpanel.php new file mode 100644 index 00000000..f07d6bc7 --- /dev/null +++ b/com_podcastmanager/admin/models/cpanel.php @@ -0,0 +1,106 @@ +getDbo(); + $contentTypesPresent = true; + $errors = array(); + + // First, make sure the #__content_types table is actually present (3.1+) + if (version_compare(JVERSION, '3.1', 'ge')) + { + $tableList = $db->getTableList(); + + if (!in_array($db->replacePrefix('#__content_types'), $tableList)) + { + $errors['noTypes'] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_CONTENT_TYPES_TABLE'); + $contentTypesPresent = false; + } + } + + // Now check for rows if we have content types + if (version_compare(JVERSION, '3.1', 'ge') && $contentTypesPresent) + { + $feedTypeId = $db->setQuery( + $db->getQuery(true) + ->select($db->quoteName('type_id')) + ->from($db->quoteName('#__content_types')) + ->where($db->quoteName('type_alias') . ' = ' . $db->quote('com_podcastmanager.feed')) + )->loadResult(); + + $podcastTypeId = $db->setQuery( + $db->getQuery(true) + ->select($db->quoteName('type_id')) + ->from($db->quoteName('#__content_types')) + ->where($db->quoteName('type_alias') . ' = ' . $db->quote('com_podcastmanager.podcast')) + )->loadResult(); + + if (!$feedTypeId) + { + $errors['noFeedType'] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_NO_FEED_TYPE'); + } + + if (!$podcastTypeId) + { + $errors['noPodcastType'] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_NO_PODCAST_TYPE'); + } + } + + // Check to ensure the Isis overrides are installed + if (version_compare(JVERSION, '3.0', 'ge')) + { + // This check is done in two steps; first query the database for the record + try + { + /** @var JTableUpdate $table */ + $table = $this->getTable('Update', 'JTable'); + $extensionId = $table->find(array('element' => 'podcastmanager_strapped', 'type' => 'file')); + } + catch (RuntimeException $e) + { + // The check failed, just set a false flag and move to step two + $extensionId = false; + } + + // Step 2 - Check to make sure the cpanel override exists + $overrideExists = file_exists(JPATH_ADMINISTRATOR . '/templates/isis/html/com_podcastmanager/cpanel/default.php'); + + if (!$extensionId && !$overrideExists) + { + $errors['noLayouts'] = JText::_('COM_PODCASTMANAGER_MIGRATION_ERROR_NO_LAYOUTS'); + } + } + + return $errors; + } +} diff --git a/com_podcastmanager/admin/models/feed.php b/com_podcastmanager/admin/models/feed.php index 52f134a5..eec02086 100644 --- a/com_podcastmanager/admin/models/feed.php +++ b/com_podcastmanager/admin/models/feed.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/models/feeds.php b/com_podcastmanager/admin/models/feeds.php index eccf0a81..b25ff17a 100644 --- a/com_podcastmanager/admin/models/feeds.php +++ b/com_podcastmanager/admin/models/feeds.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/models/fields/feedname.php b/com_podcastmanager/admin/models/fields/feedname.php index 9db3de6d..aaf1487b 100644 --- a/com_podcastmanager/admin/models/fields/feedname.php +++ b/com_podcastmanager/admin/models/fields/feedname.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/models/fields/itunescategory.php b/com_podcastmanager/admin/models/fields/itunescategory.php index 0803cdb9..16e5d76b 100644 --- a/com_podcastmanager/admin/models/fields/itunescategory.php +++ b/com_podcastmanager/admin/models/fields/itunescategory.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/models/fields/modal/podcast.php b/com_podcastmanager/admin/models/fields/modal/podcast.php index 298b29b5..bc5fdc38 100644 --- a/com_podcastmanager/admin/models/fields/modal/podcast.php +++ b/com_podcastmanager/admin/models/fields/modal/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/models/fields/podcastmedia.php b/com_podcastmanager/admin/models/fields/podcastmedia.php index 0afd8f54..513ba4dd 100644 --- a/com_podcastmanager/admin/models/fields/podcastmedia.php +++ b/com_podcastmanager/admin/models/fields/podcastmedia.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -106,7 +106,6 @@ protected function getInput() $html[] = '
'; $html[] = ' '; - $html[] = '
'; } // Check if only one podcastmedia plugin is enabled diff --git a/com_podcastmanager/admin/models/podcast.php b/com_podcastmanager/admin/models/podcast.php index c670256b..20ef4cfd 100644 --- a/com_podcastmanager/admin/models/podcast.php +++ b/com_podcastmanager/admin/models/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -644,6 +644,15 @@ public function validate($form, $data, $group = null) } } + // If there's a space in the filename, notify the user but allow saving + if (strpos($data['filename'], ' ') !== false) + { + JFactory::getApplication()->enqueueMessage( + JText::_('COM_PODCASTMANAGER_SPACE_IN_FILENAME'), + 'warning' + ); + } + return $data; } } diff --git a/com_podcastmanager/admin/models/podcasts.php b/com_podcastmanager/admin/models/podcasts.php index de33b220..7350940c 100644 --- a/com_podcastmanager/admin/models/podcasts.php +++ b/com_podcastmanager/admin/models/podcasts.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -45,7 +45,8 @@ public function __construct($config = array()) 'feedname', 'a.feedname', 'published', 'a.published', 'created', 'a.created', - 'language', 'a.language' + 'language', 'a.language', + 'publish_up', 'a.publish_up' ); } diff --git a/com_podcastmanager/admin/podcastmanager.php b/com_podcastmanager/admin/podcastmanager.php index 5826f965..019ba160 100644 --- a/com_podcastmanager/admin/podcastmanager.php +++ b/com_podcastmanager/admin/podcastmanager.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/sql/updates/mysql/1.8.3.sql b/com_podcastmanager/admin/sql/updates/mysql/1.8.3.sql index c6a45eeb..abef67ce 100644 --- a/com_podcastmanager/admin/sql/updates/mysql/1.8.3.sql +++ b/com_podcastmanager/admin/sql/updates/mysql/1.8.3.sql @@ -1 +1 @@ -UPDATE `#__update_sites` SET `location` = "http://www.babdev.com/updates/podman.xml" WHERE `name` = "Podcast Manager Updates"; +UPDATE `#__update_sites` SET `location` = "https://www.babdev.com/updates/podman.xml" WHERE `name` = "Podcast Manager Updates"; diff --git a/com_podcastmanager/admin/tables/feed.php b/com_podcastmanager/admin/tables/feed.php index d87cc1d7..8b264f2b 100644 --- a/com_podcastmanager/admin/tables/feed.php +++ b/com_podcastmanager/admin/tables/feed.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/tables/podcast.php b/com_podcastmanager/admin/tables/podcast.php index f396edd1..85215b98 100644 --- a/com_podcastmanager/admin/tables/podcast.php +++ b/com_podcastmanager/admin/tables/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/cpanel/tmpl/default.php b/com_podcastmanager/admin/views/cpanel/tmpl/default.php index 0853a2ea..0f344d4b 100644 --- a/com_podcastmanager/admin/views/cpanel/tmpl/default.php +++ b/com_podcastmanager/admin/views/cpanel/tmpl/default.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -14,8 +14,12 @@ defined('_JEXEC') or die; +// If we're running Joomla! 3 and the Isis layouts aren't installed, assume we need to help the user migrate +if (version_compare(JVERSION, '3.0', 'ge')) : + echo $this->loadTemplate('migrate'); +else : // Site addresses to be processed outside JText -$babdev = 'http://www.babdev.com/extensions/podcast-manager'; +$babdev = 'https://www.babdev.com/extensions/podcast-manager'; $getid3 = 'getID3'; $liveupdate = 'Akeeba Live Update'; $mejs = 'MediaElement.JS'; @@ -94,3 +98,4 @@ +https://www.babdev.com/extensions/podcast-manager'; + +// Initialize the errors array +$errors = array(); +?> +
+ +
+
+ +
+
+

+

+ + migrationErrors)) : ?> +

+

+
    + migrationErrors as $key => $message) : ?> + +
  • + +
+ + +

+

+ + + + + + +
+
+
+ +
diff --git a/com_podcastmanager/admin/views/cpanel/tmpl/default_navigation.php b/com_podcastmanager/admin/views/cpanel/tmpl/default_navigation.php index 05f08958..942b25e4 100644 --- a/com_podcastmanager/admin/views/cpanel/tmpl/default_navigation.php +++ b/com_podcastmanager/admin/views/cpanel/tmpl/default_navigation.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/cpanel/view.html.php b/com_podcastmanager/admin/views/cpanel/view.html.php index ee2bfce1..a447e841 100644 --- a/com_podcastmanager/admin/views/cpanel/view.html.php +++ b/com_podcastmanager/admin/views/cpanel/view.html.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -23,6 +23,14 @@ */ class PodcastManagerViewCpanel extends JViewLegacy { + /** + * Container for Joomla! 3 migration errors + * + * @var array + * @since 2.2 + */ + protected $migrationErrors = array(); + /** * Display the view * @@ -42,12 +50,18 @@ public function display($tpl = null) return false; } + // Check for migration errors for Joomla! 3 + if (version_compare(JVERSION, '3.0', 'ge')) + { + $this->migrationErrors = $this->get('migrationErrors'); + } + // Add the component media JHtml::_('stylesheet', 'podcastmanager/template.css', false, true, false); $this->addToolbar(); - parent::display($tpl); + return parent::display($tpl); } /** diff --git a/com_podcastmanager/admin/views/feed/tmpl/edit.php b/com_podcastmanager/admin/views/feed/tmpl/edit.php index a13d8f4c..b1748155 100644 --- a/com_podcastmanager/admin/views/feed/tmpl/edit.php +++ b/com_podcastmanager/admin/views/feed/tmpl/edit.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/feed/view.html.php b/com_podcastmanager/admin/views/feed/view.html.php index b98881e9..841a5ef7 100644 --- a/com_podcastmanager/admin/views/feed/view.html.php +++ b/com_podcastmanager/admin/views/feed/view.html.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/feeds/tmpl/default.php b/com_podcastmanager/admin/views/feeds/tmpl/default.php index c72940b3..84a40e8a 100644 --- a/com_podcastmanager/admin/views/feeds/tmpl/default.php +++ b/com_podcastmanager/admin/views/feeds/tmpl/default.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/feeds/view.html.php b/com_podcastmanager/admin/views/feeds/view.html.php index 337268b5..e40bf2d2 100644 --- a/com_podcastmanager/admin/views/feeds/view.html.php +++ b/com_podcastmanager/admin/views/feeds/view.html.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/podcast/tmpl/edit.php b/com_podcastmanager/admin/views/podcast/tmpl/edit.php index 49574971..4cbe89a2 100644 --- a/com_podcastmanager/admin/views/podcast/tmpl/edit.php +++ b/com_podcastmanager/admin/views/podcast/tmpl/edit.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/podcast/view.html.php b/com_podcastmanager/admin/views/podcast/view.html.php index 85846f56..a2d1eb0a 100644 --- a/com_podcastmanager/admin/views/podcast/view.html.php +++ b/com_podcastmanager/admin/views/podcast/view.html.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/podcasts/tmpl/default.php b/com_podcastmanager/admin/views/podcasts/tmpl/default.php index 3de259ca..e3212731 100644 --- a/com_podcastmanager/admin/views/podcasts/tmpl/default.php +++ b/com_podcastmanager/admin/views/podcasts/tmpl/default.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -76,11 +76,11 @@ - - + + - - + + diff --git a/com_podcastmanager/admin/views/podcasts/tmpl/default_batch.php b/com_podcastmanager/admin/views/podcasts/tmpl/default_batch.php index a6a1dbbc..4f9b54ba 100644 --- a/com_podcastmanager/admin/views/podcasts/tmpl/default_batch.php +++ b/com_podcastmanager/admin/views/podcasts/tmpl/default_batch.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/admin/views/podcasts/tmpl/modal.php b/com_podcastmanager/admin/views/podcasts/tmpl/modal.php index b8250223..6daaf146 100644 --- a/com_podcastmanager/admin/views/podcasts/tmpl/modal.php +++ b/com_podcastmanager/admin/views/podcasts/tmpl/modal.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -17,7 +17,7 @@ // Check for a token if accessing from front end if (JFactory::getApplication()->isSite()) { - JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + JSession::checkToken('get') or jexit(JText::_('JINVALID_TOKEN')); } JHtml::_('behavior.tooltip'); diff --git a/com_podcastmanager/admin/views/podcasts/view.html.php b/com_podcastmanager/admin/views/podcasts/view.html.php index 4009fe8c..83e65223 100644 --- a/com_podcastmanager/admin/views/podcasts/view.html.php +++ b/com_podcastmanager/admin/views/podcasts/view.html.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/media/css/template.css b/com_podcastmanager/media/css/template.css index 92213770..b4fe2227 100644 --- a/com_podcastmanager/media/css/template.css +++ b/com_podcastmanager/media/css/template.css @@ -4,7 +4,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/media/js/mediamanager.js b/com_podcastmanager/media/js/mediamanager.js index fd673d1e..8df606de 100644 --- a/com_podcastmanager/media/js/mediamanager.js +++ b/com_podcastmanager/media/js/mediamanager.js @@ -1,7 +1,7 @@ /** * Podcast Manager for Joomla! * -* @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. +* @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * @package PodcastManager * @subpackage com_podcastmedia diff --git a/com_podcastmanager/media/js/podcast.js b/com_podcastmanager/media/js/podcast.js index 91bf43f3..876e0b7e 100644 --- a/com_podcastmanager/media/js/podcast.js +++ b/com_podcastmanager/media/js/podcast.js @@ -4,7 +4,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/media/js/popup-audiomanager.js b/com_podcastmanager/media/js/popup-audiomanager.js index 6d9ddc12..bc896a20 100644 --- a/com_podcastmanager/media/js/popup-audiomanager.js +++ b/com_podcastmanager/media/js/popup-audiomanager.js @@ -1,7 +1,7 @@ /** * Podcast Manager for Joomla! * -* @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. +* @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * @package PodcastManager * @subpackage com_podcastmedia diff --git a/com_podcastmanager/podcastmanager.xml b/com_podcastmanager/podcastmanager.xml index aadee72c..dfeb1dd2 100644 --- a/com_podcastmanager/podcastmanager.xml +++ b/com_podcastmanager/podcastmanager.xml @@ -3,9 +3,9 @@ com_podcastmanager ##DATE## Michael Babker - (C) 2011-2014 Michael Babker + (C) 2011-2015 Michael Babker mbabker@flbab.com - http://www.babdev.com + https://www.babdev.com ##VERSION## GNU/GPL Version 2 or later COM_PODCASTMANAGER_XML_DESCRIPTION diff --git a/com_podcastmanager/script.php b/com_podcastmanager/script.php index 28e31b5a..4be5528b 100644 --- a/com_podcastmanager/script.php +++ b/com_podcastmanager/script.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -192,177 +192,9 @@ public function postflight($type, $parent) } // Deal with UCM support in 3.1+ - if (version_compare(JVERSION, '3.1', 'ge')) - { - // Insert the columns in the #__content_types table if they don't exist already - $db = JFactory::getDbo(); - - // Get the type ID for a Podcast Manager feed - $query = $db->getQuery(true); - $query->select($db->quoteName('type_id')); - $query->from($db->quoteName('#__content_types')); - $query->where($db->quoteName('type_alias') . ' = ' . $db->quote('com_podcastmanager.feed')); - $db->setQuery($query); - $feedTypeId = $db->loadResult(); - - // Get the type ID for a Podcast Manager podcast - $query->clear('where'); - $query->where($db->quoteName('type_alias') . ' = ' . $db->quote('com_podcastmanager.podcast')); - $db->setQuery($query); - $podcastTypeId = $db->loadResult(); - - // If we don't have the feed type ID, assume the type data doesn't exist yet - if (!$feedTypeId) - { - // This object contains all fields that are mapped to the core_content table - $commonObject = new stdClass; - $commonObject->core_title = 'name'; - $commonObject->core_alias = 'alias'; - $commonObject->core_body = 'description'; - $commonObject->core_state = 'published'; - $commonObject->core_checked_out_time = 'checked_out_time'; - $commonObject->core_checked_out_user_id = 'checked_out'; - $commonObject->core_created_user_id = 'created_by'; - $commonObject->core_created_by_alias = 'author'; - $commonObject->core_created_time = 'created'; - $commonObject->core_modified_user_id = 'modified_by'; - $commonObject->core_modified_time = 'modified'; - $commonObject->core_language = 'language'; - $commonObject->core_content_item_id = 'id'; - $commonObject->asset_id = 'asset_id'; - - // This object contains unique fields - $specialObject = new stdClass; - $specialObject->subtitle = 'subtitle'; - $specialObject->boilerplate = 'boilerplate'; - $specialObject->bp_position = 'bp_position'; - $specialObject->copyright = 'copyright'; - $specialObject->explicit = 'explicit'; - $specialObject->block = 'block'; - $specialObject->ownername = 'ownername'; - $specialObject->owneremail = 'owneremail'; - $specialObject->keywords = 'keywords'; - $specialObject->newFeed = 'newFeed'; - $specialObject->image = 'image'; - $specialObject->category1 = 'category1'; - $specialObject->category2 = 'category2'; - $specialObject->category3 = 'category3'; - - // Prepare the object - $fieldMappings = array( - 'common' => array( - $commonObject - ), - 'special' => array( - $specialObject - ) - ); - - // Set the table columns to insert table to - $columnsArray = array( - $db->quoteName('type_title'), $db->quoteName('type_alias'), $db->quoteName('table'), - $db->quoteName('rules'), $db->quoteName('field_mappings'), $db->quoteName('router') - ); - - $history = ''; - - // Content History support in 3.2+ - if (version_compare(JVERSION, '3.2', 'ge')) - { - $columnsArray[] = $db->quoteName('content_history_options'); - $history = ', ' . $db->quote('{"formFile":"administrator\\/components\\/com_podcastmanager\\/models\\/forms\\/feed.xml", "hideFields":["asset_id","checked_out","checked_out_time"],"ignoreChanges":["modified_by","modified","checked_out","checked_out_time"],"convertToInt":[],"displayLookup":[{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"}]}'); - } - - // Insert the data. - $query->clear(); - $query->insert($db->quoteName('#__content_types')); - $query->columns($columnsArray); - $query->values( - $db->quote('Podcast Manager Feed') . ', ' - . $db->quote('com_podcastmanager.feed') . ', ' - . $db->quote('{"special":{"dbtable":"#__podcastmanager_feeds","key":"id","type":"Feed","prefix":"PodcastManagerTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}') . ', ' - . $db->quote('') . ', ' - . $db->quote(json_encode($fieldMappings)) . ', ' - . $db->quote('PodcastManagerHelperRoute::getFeedHtmlRoute') . $history - ); - $db->setQuery($query); - $db->execute(); - } + include_once JPATH_ADMINISTRATOR . '/components/com_podcastmanager/helpers/podcastmanager.php'; - // If we don't have the podcast type ID, assume the type data doesn't exist yet - if (!$podcastTypeId) - { - // This object contains all fields that are mapped to the core_content table - $commonObject = new stdClass; - $commonObject->core_title = 'title'; - $commonObject->core_alias = 'alias'; - $commonObject->core_body = 'itSummary'; - $commonObject->core_state = 'published'; - $commonObject->core_checked_out_time = 'checked_out_time'; - $commonObject->core_checked_out_user_id = 'checked_out'; - $commonObject->core_created_user_id = 'created_by'; - $commonObject->core_created_by_alias = 'itAuthor'; - $commonObject->core_created_time = 'created'; - $commonObject->core_modified_user_id = 'modified_by'; - $commonObject->core_modified_time = 'modified'; - $commonObject->core_language = 'language'; - $commonObject->core_publish_up = 'publish_up'; - $commonObject->core_content_item_id = 'id'; - $commonObject->asset_id = 'asset_id'; - - // This object contains unique fields - $specialObject = new stdClass; - $specialObject->filename = 'filename'; - $specialObject->feedname = 'feedname'; - $specialObject->itBlock = 'itBlock'; - $specialObject->itDuration = 'itDuration'; - $specialObject->itExplicit = 'itExplicit'; - $specialObject->itImage = 'itImage'; - $specialObject->itKeywords = 'itKeywords'; - $specialObject->itSubtitle = 'itSubtitle'; - $specialObject->mime = 'mime'; - - // Prepare the object - $fieldMappings = array( - 'common' => array( - $commonObject - ), - 'special' => array( - $specialObject - ) - ); - - // Set the table columns to insert table to - $columnsArray = array( - $db->quoteName('type_title'), $db->quoteName('type_alias'), $db->quoteName('table'), - $db->quoteName('rules'), $db->quoteName('field_mappings'), $db->quoteName('router') - ); - - $history = ''; - - // Content History support in 3.2+ - if (version_compare(JVERSION, '3.2', 'ge')) - { - $columnsArray[] = $db->quoteName('content_history_options'); - $history = ', ' . $db->quote('{"formFile":"administrator\\/components\\/com_podcastmanager\\/models\\/forms\\/podcast.xml", "hideFields":["asset_id","checked_out","checked_out_time"],"ignoreChanges":["modified_by","modified","checked_out","checked_out_time"],"convertToInt":["publish_up"],"displayLookup":[{"sourceColumn":"feedname","targetTable":"#__podcastmanager_feeds","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"}]}'); - } - - // Insert the link. - $query->clear(); - $query->insert($db->quoteName('#__content_types')); - $query->columns($columnsArray); - $query->values( - $db->quote('Podcast Manager Podcast') . ', ' - . $db->quote('com_podcastmanager.podcast') . ', ' - . $db->quote('{"special":{"dbtable":"#__podcastmanager","key":"id","type":"Podcast","prefix":"PodcastManagerTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}') . ', ' - . $db->quote('') . ', ' - . $db->quote(json_encode($fieldMappings)) . ', ' - . $db->quote('PodcastManagerHelperRoute::getPodcastRoute') . $history - ); - $db->setQuery($query); - $db->execute(); - } - } + PodcastManagerHelper::insertUcmRecords(); } /** diff --git a/com_podcastmanager/site/controller.php b/com_podcastmanager/site/controller.php index 27f5e8a8..799ce01c 100644 --- a/com_podcastmanager/site/controller.php +++ b/com_podcastmanager/site/controller.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/controllers/form.php b/com_podcastmanager/site/controllers/form.php index f7371edf..b0271d2e 100644 --- a/com_podcastmanager/site/controllers/form.php +++ b/com_podcastmanager/site/controllers/form.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/controllers/podcast.json.php b/com_podcastmanager/site/controllers/podcast.json.php index 9823c86f..42a92496 100644 --- a/com_podcastmanager/site/controllers/podcast.json.php +++ b/com_podcastmanager/site/controllers/podcast.json.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/controllers/podcast.php b/com_podcastmanager/site/controllers/podcast.php index 17e63679..542459dc 100644 --- a/com_podcastmanager/site/controllers/podcast.php +++ b/com_podcastmanager/site/controllers/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/helpers/html/icon.php b/com_podcastmanager/site/helpers/html/icon.php index bc673602..5039d698 100644 --- a/com_podcastmanager/site/helpers/html/icon.php +++ b/com_podcastmanager/site/helpers/html/icon.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/helpers/route.php b/com_podcastmanager/site/helpers/route.php index 1b097a12..3afee95c 100644 --- a/com_podcastmanager/site/helpers/route.php +++ b/com_podcastmanager/site/helpers/route.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.ini b/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.ini index 913a1222..02aed6b0 100644 --- a/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.ini +++ b/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -82,3 +82,7 @@ COM_PODCASTMANAGER_OPTION_TOP="Top" COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" COM_PODCASTMANAGER_SELECT_FEEDNAME=" - Select Feed - " COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="Too many media plugins are enabled, only one "_QQ_"podcastmedia"_QQ_" type plugin can be enabled. Media path reverting to default." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Created by" +JGLOBAL_PUBLISHED_DATE="Published Date" diff --git a/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.sys.ini b/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.sys.ini index 4bdd3f9d..6b57acb2 100644 --- a/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.sys.ini +++ b/com_podcastmanager/site/language/en-GB/en-GB.com_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/com_podcastmanager/site/language/fr-CA/fr-CA.com_podcastmanager.ini b/com_podcastmanager/site/language/fr-CA/fr-CA.com_podcastmanager.ini index 94ac9d0e..80632298 100644 --- a/com_podcastmanager/site/language/fr-CA/fr-CA.com_podcastmanager.ini +++ b/com_podcastmanager/site/language/fr-CA/fr-CA.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -71,14 +71,18 @@ COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Filtrer les éléments affichés s COM_PODCASTMANAGER_FILTER_SEARCH_LABEL="Filtre de recherche" COM_PODCASTMANAGER_FORM_ADD_PODCAST="Ajouter une nouvelle balado" COM_PODCASTMANAGER_FORM_EDIT_PODCAST="Modifier la balado" -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Impossible d'utiliser la bibliothèque getID3 pour lire les métadonnées des fichiers distants." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Impossible de traiter les métadonnées du fichier car il est introuvable." COM_PODCASTMANAGER_GETID3_NOT_FOUND="La bibliothèque getID3 n'a pas été trouvée. Impossible d'analyser votre fichier média et d'extraire les métadonnées. Veuillez remplir manuellement les données appropriées." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nom du flux" COM_PODCASTMANAGER_METADATA="Métadonnées de la balado" COM_PODCASTMANAGER_NO_ITEMS="Il n'y a pas de balado dans ce flux." COM_PODCASTMANAGER_OPTION_BOTTOM="Bas" COM_PODCASTMANAGER_OPTION_TOP="Haut" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Analyse des métadonnées" COM_PODCASTMANAGER_SELECT_FEEDNAME="- Choisir le flux -" COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="Trop de plugiciels de médias sont activés, seulement un plugiciel de type « podcastmedia » peut être activé. Le chemin des médias retourne à sa valeur par défaut." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Créé par" +JGLOBAL_PUBLISHED_DATE="Date de publication" diff --git a/com_podcastmanager/site/language/fr-FR/fr-FR.com_podcastmanager.ini b/com_podcastmanager/site/language/fr-FR/fr-FR.com_podcastmanager.ini index 53fdf988..b793cee3 100644 --- a/com_podcastmanager/site/language/fr-FR/fr-FR.com_podcastmanager.ini +++ b/com_podcastmanager/site/language/fr-FR/fr-FR.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -7,21 +7,21 @@ COM_PODCASTMANAGER="Gestionnaire de Podcast" COM_PODCASTMANAGER_DEFAULT_PAGE_TITLE="Flux du podcast" COM_PODCASTMANAGER_EDIT_FEED="Editer le flux" COM_PODCASTMANAGER_EDIT_PODCAST="Editer le podcast" -COM_PODCASTMANAGER_ERROR_FINDING_FILE="Impossible de localiser le fichier %s dans le système de fichiers, l'élement du flux sera ignoré" +COM_PODCASTMANAGER_ERROR_FINDING_FILE="Impossible de localiser le fichier %s dans le système de fichiers, l’élément du flux sera ignoré." COM_PODCASTMANAGER_FEED_DATA="Données du flux" -COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_DESCRIPTION="Entrer du texte standard optionnel dans les résumés de vos nouveaux podcasts. " +COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_DESCRIPTION="Renseignez du texte optionnel à insérer dans les résumés des nouveaux podcasts. " COM_PODCASTMANAGER_FEED_FIELD_BOILERPLATE_LABEL="Texte standard" -COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_DESCRIPTION="Sélectionnez une position dans laquelle insérer le texte standard dans le résumé lorsque vous créerez de nouveaux podcasts." +COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_DESCRIPTION="Sélectionnez une position dans laquelle insérer le texte de résumé lors de la création de nouveaux podcasts." COM_PODCASTMANAGER_FEED_FIELD_BP_POSITION_LABEL="Position du texte standard" COM_PODCASTMANAGER_FEED_FIELD_COPYRIGHT_DESCRIPTION="Les droits d'auteur du podcast." COM_PODCASTMANAGER_FEED_FIELD_COPYRIGHT_LABEL="Droits d'auteur" COM_PODCASTMANAGER_FEED_FIELD_DESCRIPTION_DESCRIPTION="Une brève description du podcast." COM_PODCASTMANAGER_FEED_FIELD_DESCRIPTION_LABEL="Description" -COM_PODCASTMANAGER_FEED_FIELD_ITIMAGE_DESCRIPTION="Image a utiliser depuis le flux de iTunes. L'image doit être un .png ou .jpg sinon iTunes le rejetera.

iTunes préfère les images carrées .jpg qui sont au moins 600 x 600 pixels, ceci diffère des standards spécifiés pour les étiquettes d'image RSS. Afin qu'un podcast soit éligible pour une caractéristique de la Boutique iTunes, il faut que l'image qui l'accompagne soit d'au moins 600 x 600 pixels." +COM_PODCASTMANAGER_FEED_FIELD_ITIMAGE_DESCRIPTION="Image a utiliser depuis le flux iTunes. L'image doit être en .png ou .jpg sinon iTunes le rejettera.

iTunes préfère les images carrées .jpg qui sont d'un minimum de 600 x 600 pixels ce qui diffère des standards spécifiés pour les miniatures RSS. Afin qu'un podcast soit éligible à la boutique iTunes, il faut que l'image qui l'accompagne soit d'au moins 600 x 600 pixels." COM_PODCASTMANAGER_FEED_FIELD_ITIMAGE_LABEL="Image" COM_PODCASTMANAGER_FEED_FIELD_NAME_DESCRIPTION="Le nom du flux du podcast." COM_PODCASTMANAGER_FEED_FIELD_NAME_LABEL="Nom du flux" -COM_PODCASTMANAGER_FEED_FIELD_NEWFEED_DESCRIPTION="Si vous avez modifié l'URL de votre flux, veuillez introduire alors la nouvelle URL à cet endroit." +COM_PODCASTMANAGER_FEED_FIELD_NEWFEED_DESCRIPTION="Si vous avez modifié l'URL de votre flux, renseignez la nouvelle URL ici." COM_PODCASTMANAGER_FEED_FIELD_NEWFEED_LABEL="Nouvel URL du flux" COM_PODCASTMANAGER_FIELD_CREATED_DESCRIPTION="Date à laquelle le podcast a été créé." COM_PODCASTMANAGER_FIELD_CREATED_LABEL="Date de création" @@ -31,54 +31,58 @@ COM_PODCASTMANAGER_FIELD_FILENAME_DESCRIPTION="Le nom de fichier du fichier podc COM_PODCASTMANAGER_FIELD_FILENAME_LABEL="Nom de fichier" COM_PODCASTMANAGER_FIELD_ITAUTHOR_DESCRIPTION="L'auteur du podcast." COM_PODCASTMANAGER_FIELD_ITAUTHOR_LABEL="Auteur" -COM_PODCASTMANAGER_FIELD_ITBLOCK_DESCRIPTION="Prévient qu'un podcast n'apparaisse sur iTunes." +COM_PODCASTMANAGER_FIELD_ITBLOCK_DESCRIPTION="Empêche qu'un podcast n'apparaisse sur iTunes." COM_PODCASTMANAGER_FIELD_ITBLOCK_LABEL="Bloc iTunes" COM_PODCASTMANAGER_FIELD_ITCATEGORY1_DESCRIPTION="Sélection de la première catégorie." COM_PODCASTMANAGER_FIELD_ITCATEGORY1_LABEL="Catégorie 1" COM_PODCASTMANAGER_FIELD_ITCATEGORY2_DESCRIPTION="Sélection de la seconde catégorie." -COM_PODCASTMANAGER_FIELD_ITCATEGORY2_LABEL="Ctégorie 2" +COM_PODCASTMANAGER_FIELD_ITCATEGORY2_LABEL="Catégorie 2" COM_PODCASTMANAGER_FIELD_ITCATEGORY3_DESCRIPTION="Sélection de la troisième catégorie." COM_PODCASTMANAGER_FIELD_ITCATEGORY3_LABEL="Catégorie 3" COM_PODCASTMANAGER_FIELD_ITDURATION_DESCRIPTION="La durée du podcast." -COM_PODCASTMANAGER_FIELD_ITDURATION_LABEL="urée" -COM_PODCASTMANAGER_FIELD_ITEXPLICIT_DESCRIPTION="Choisissez si vous souhaitez l'étiquetter comme explicite sur iTunes." -COM_PODCASTMANAGER_FIELD_ITEXPLICIT_LABEL="Explicite sur iTunes" -COM_PODCASTMANAGER_FIELD_ITEXPLICIT_OPTION_CLEAN="Propre" -COM_PODCASTMANAGER_FIELD_ITKEYWORDS_DESCRIPTION="Entrez jusqu'à 12 mots clefs pour la recherche de iTunes." -COM_PODCASTMANAGER_FIELD_ITKEYWORDS_LABEL="ots clefs iTunes" +COM_PODCASTMANAGER_FIELD_ITDURATION_LABEL="Durée" +COM_PODCASTMANAGER_FIELD_ITEXPLICIT_DESCRIPTION="Choisissez si vous souhaitez étiqueter le contenu comme explicite sur iTunes." +COM_PODCASTMANAGER_FIELD_ITEXPLICIT_LABEL="Contenu explicite sur iTunes" +COM_PODCASTMANAGER_FIELD_ITEXPLICIT_OPTION_CLEAN="Nettoyer" +COM_PODCASTMANAGER_FIELD_ITKEYWORDS_DESCRIPTION="Entrez jusqu'à 12 mots clefs pour la recherche sur iTunes." +COM_PODCASTMANAGER_FIELD_ITKEYWORDS_LABEL="Mots clefs iTunes" COM_PODCASTMANAGER_FIELD_ITOWNEREMAIL_DESCRIPTION="Entrez une adresse de courriel où les utilisateurs iTunes peuvent vous contacter (invisible au public)." COM_PODCASTMANAGER_FIELD_ITOWNEREMAIL_LABEL="Courriel du propriétaire" -COM_PODCASTMANAGER_FIELD_ITOWNERNAME_DESCRIPTION="Entrez votre nom pour l'information de contact auprès d'iTunes (non visible publiquement)." +COM_PODCASTMANAGER_FIELD_ITOWNERNAME_DESCRIPTION="Entrez votre nom pour l'information de contact sur iTunes (invisible au public)." COM_PODCASTMANAGER_FIELD_ITOWNERNAME_LABEL="Nom du propriétaire" COM_PODCASTMANAGER_FIELD_ITSUBTITLE_DESCRIPTION="Un sous-titre pour le podcast." COM_PODCASTMANAGER_FIELD_ITSUBTITLE_LABEL="Sous-titre" COM_PODCASTMANAGER_FIELD_ITSUMMARY_DESCRIPTION="Un résumé de l'épisode du podcast." COM_PODCASTMANAGER_FIELD_ITSUMMARY_LABEL="Résumé" -COM_PODCASTMANAGER_FIELD_LANGUAGE_DESCRIPTION="La langue dans laquelle l'épisode du podcast se déroule." -COM_PODCASTMANAGER_FIELD_MIMETYPE_DESCRIPTION="Type MIME du fichier média" +COM_PODCASTMANAGER_FIELD_LANGUAGE_DESCRIPTION="La langue utilisée pour l'épisode du podcast." +COM_PODCASTMANAGER_FIELD_MIMETYPE_DESCRIPTION="Type MIME du fichier média." COM_PODCASTMANAGER_FIELD_MIMETYPE_LABEL="Type MIME" -COM_PODCASTMANAGER_FIELD_MODIFIED_DESCRIPTION="La date et heure à laquelle le podcast a été modifié en dernier." +COM_PODCASTMANAGER_FIELD_MODIFIED_DESCRIPTION="La date et heure à laquelle le podcast a été modifié pour la dernière fois." COM_PODCASTMANAGER_FIELD_MODIFIED_LABEL="Modifié" COM_PODCASTMANAGER_FIELD_MODIFIED_BY_LABEL="Modifié par" COM_PODCASTMANAGER_FIELD_PUBLISH_UP_DESCRIPTION="La date à laquelle il faut commencer à publier le podcast." COM_PODCASTMANAGER_FIELD_PUBLISH_UP_LABEL="Commencer la publication" -COM_PODCASTMANAGER_FIELD_PUBLISHED_DESCRIPTION="L'état de publication de l'épisode du podcast. IMPORTANT - Dépublier un épisode déjà publié peut interrompre votre flux de podcast, sélectionnez l'option du Bloc d'iTunes d'abord." +COM_PODCASTMANAGER_FIELD_PUBLISHED_DESCRIPTION="Statut de publication de l'épisode du podcast. IMPORTANT - Dépublier un épisode déjà publié peut interrompre votre flux de podcast, paramétrez d'abord l'option Block iTunes." COM_PODCASTMANAGER_FIELD_TITLE_DESCRIPTION="Le titre de l'épisode du podcast." COM_PODCASTMANAGER_FIELD_TITLE_LABEL="Titre" -COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Options iTunes du flux" +COM_PODCASTMANAGER_FIELDSET_ITUNES_OPTIONS="Options du flux iTunes" COM_PODCASTMANAGER_FIELDSET_PUBLISHING="Options de publication" -COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Filtrer les éléments affichés selon un terme spécifié." +COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Filtrer les éléments à afficher selon un terme spécifié." COM_PODCASTMANAGER_FILTER_SEARCH_LABEL="Filtre de recherche" COM_PODCASTMANAGER_FORM_ADD_PODCAST="Ajouter un nouveau podcast" -COM_PODCASTMANAGER_FORM_EDIT_PODCAST="Editer el podcast" -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." -COM_PODCASTMANAGER_GETID3_NOT_FOUND="La librairie getID3 n'a pas été trouvée. Impossible d'analyser le fichier média et de récupérer les méta-données. Merci de remplir manuellement les données nécessaires." +COM_PODCASTMANAGER_FORM_EDIT_PODCAST="Éditer le podcast" +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Impossible d'utiliser la bibliothèque getID3 pour lire les métadonnées des fichiers distants." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Impossible de traiter les métadonnées, le fichier n'a pu être trouvé." +COM_PODCASTMANAGER_GETID3_NOT_FOUND="La bibliothèque getID3 n'a pas été trouvée. Impossible d'analyser le fichier média et de récupérer les métadonnées. Veuillez remplir manuellement les données nécessaires." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nom du flux" -COM_PODCASTMANAGER_METADATA="Metadonnées du podcast" +COM_PODCASTMANAGER_METADATA="Métadonnées du podcast" COM_PODCASTMANAGER_NO_ITEMS="Il n'y a pas de podcasts dans ce flux." COM_PODCASTMANAGER_OPTION_BOTTOM="Bas" COM_PODCASTMANAGER_OPTION_TOP="Haut" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Analyse des métadonnées" COM_PODCASTMANAGER_SELECT_FEEDNAME="- Sélectionnez le flux -" -COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="Trop de plugins de médias sont activés, seulement un type de "_QQ_"mediapodcast"_QQ_" plugin peut être activé. Le chemin de fichiers Média sera remis à défaut." +COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="De trop nombreux plugins de médias sont activés, un seul type de plugin "_QQ_"podcastmedia"_QQ_" peut être activé. Le chemin par défaut des fichiers médias a été appliqué." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Créé par" +JGLOBAL_PUBLISHED_DATE="Date de publication" diff --git a/com_podcastmanager/site/language/id-ID/id-ID.com_podcastmanager.ini b/com_podcastmanager/site/language/id-ID/id-ID.com_podcastmanager.ini index 460ca659..0b73996c 100644 --- a/com_podcastmanager/site/language/id-ID/id-ID.com_podcastmanager.ini +++ b/com_podcastmanager/site/language/id-ID/id-ID.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -71,14 +71,18 @@ COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Saring menampilkan butir-butir ber COM_PODCASTMANAGER_FILTER_SEARCH_LABEL="Saring Cari" COM_PODCASTMANAGER_FORM_ADD_PODCAST="Tambah Podcast Baru" COM_PODCASTMANAGER_FORM_EDIT_PODCAST="Edit Podcast" -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Tidak bisa memakai pustaka getID3 untuk membaca metadata dari berkas remote." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Tidak dapat memproses berkas metadata, berkas tidak ditemukan." COM_PODCASTMANAGER_GETID3_NOT_FOUND="Kepustakaan getID3 tidak ditemukan. TIdak bisa menghimpun berkas media dan mengekstrak metadata. Silakan isi data yang sesuai secara manual." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nama Pengumpan" COM_PODCASTMANAGER_METADATA="Metadata Podcast" COM_PODCASTMANAGER_NO_ITEMS="Tidak ada podcast yang dipersembahkan di dalam pengumpan ini." COM_PODCASTMANAGER_OPTION_BOTTOM="Bawah" COM_PODCASTMANAGER_OPTION_TOP="Atas" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" COM_PODCASTMANAGER_SELECT_FEEDNAME="- Pilih Pengumpan -" COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="Terlalu banyak plugin media yang diaktifkan, hanya plugin tipe "_QQ_"podcastmedia"_QQ_" yang bisa diaktifkan. Jalur media dikembalikan ke standar." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Dibuat oleh" +JGLOBAL_PUBLISHED_DATE="Tanggal Penerbitan" diff --git a/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.ini b/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.ini index baa64054..b8f9ca2d 100644 --- a/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.ini +++ b/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" @@ -71,14 +71,18 @@ COM_PODCASTMANAGER_FILTER_SEARCH_DESCRIPTION="Pesquisa de Filtro de Feed" COM_PODCASTMANAGER_FILTER_SEARCH_LABEL="Filtro de Busca" COM_PODCASTMANAGER_FORM_ADD_PODCAST="Adicionar Novo Podcast" COM_PODCASTMANAGER_FORM_EDIT_PODCAST="Editar Podcast" -; COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." -; COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." +COM_PODCASTMANAGER_GETID3_CANNOT_PROCESS_REMOTE="Cannot use the getID3 library to read metadata for remote files." +COM_PODCASTMANAGER_GETID3_FILE_NOT_FOUND="Could not process file metadata, the file could not be found." COM_PODCASTMANAGER_GETID3_NOT_FOUND="A biblioteca getID3 não foi encontrada. Não é possível analisar o seu arquivo de mídia e extrair metadados. Por favor, preencha manualmente os dados apropriados." COM_PODCASTMANAGER_HEADING_FEEDNAME="Nome do Feed" COM_PODCASTMANAGER_METADATA="Metadata do Podcast" COM_PODCASTMANAGER_NO_ITEMS="Não há podcasts presentes neste feed." COM_PODCASTMANAGER_OPTION_BOTTOM="Rodapé" COM_PODCASTMANAGER_OPTION_TOP="Topo" -; COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" +COM_PODCASTMANAGER_PARSE_METADATA="Parse Metadata" COM_PODCASTMANAGER_SELECT_FEEDNAME=" - Selecione o Feed - " COM_PODCASTMANAGER_TOO_MANY_MEDIA_PLUGINS="Plugins de mídia demais estão habilitados, somente um plugin do tipo "_QQ_"podcastmedia"_QQ_" pode estar habilitado. o caminho para mídia está sendo revertido para padrão." + +; Overrides for strings that may not exist +JGLOBAL_FIELD_CREATED_BY_LABEL="Created by" +JGLOBAL_PUBLISHED_DATE="Published Date" diff --git a/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.sys.ini b/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.sys.ini index 4bdd3f9d..6b57acb2 100644 --- a/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.sys.ini +++ b/com_podcastmanager/site/language/pt-BR/pt-BR.com_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/com_podcastmanager/site/models/feed.php b/com_podcastmanager/site/models/feed.php index 1be86326..8c6831dc 100644 --- a/com_podcastmanager/site/models/feed.php +++ b/com_podcastmanager/site/models/feed.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -188,19 +188,23 @@ protected function populateState($ordering = null, $direction = null) $limitstart = $input->get('limitstart', 0, 'uint'); $this->setState('list.start', $limitstart); - // Item sort, order, and limit - if ($format == 'raw') - { - $orderCol = 'a.publish_up'; - $listOrder = 'DESC'; - $limit = '*'; - } - else - { - $orderCol = $app->getUserStateFromRequest('com_podcastmanager.feed.list.' . $itemid . '.filter_order', 'filter_order', '', 'string'); - $listOrder = $app->getUserStateFromRequest('com_podcastmanager.feed.list.' . $itemid . '.filter_order_Dir', 'filter_order_Dir', '', 'cmd'); - $limit = $app->getUserStateFromRequest('com_podcastmanager.feed.list.' . $itemid . '.limit', 'limit', 20, 'uint'); - } + $orderCol = $app->getUserStateFromRequest( + 'com_podcastmanager.feed.list.' . $itemid . '.filter_order', 'filter_order', '', 'string' + ); + + $listOrder = $app->getUserStateFromRequest( + 'com_podcastmanager.feed.list.' . $itemid . '.filter_order_Dir', 'filter_order_Dir', '', 'cmd' + ); + + /* + * Assign our default limit based on request format; RAW is the RSS feed and as such should default to + * displaying all items, otherwise we default to the app configuration + */ + $defaultLimit = ($format == 'raw') ? '*' : $app->getCfg('list_limit', 20); + + $limit = $app->getUserStateFromRequest( + 'com_podcastmanager.feed.list.' . $itemid . '.limit', 'limit', $defaultLimit, 'uint' + ); $this->setState('list.limit', $limit); diff --git a/com_podcastmanager/site/models/form.php b/com_podcastmanager/site/models/form.php index 2298fbb3..e952bfed 100644 --- a/com_podcastmanager/site/models/form.php +++ b/com_podcastmanager/site/models/form.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/models/podcast.php b/com_podcastmanager/site/models/podcast.php index 02a78d68..dc610428 100644 --- a/com_podcastmanager/site/models/podcast.php +++ b/com_podcastmanager/site/models/podcast.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/podcastmanager.php b/com_podcastmanager/site/podcastmanager.php index 47d81fee..34fa95a5 100644 --- a/com_podcastmanager/site/podcastmanager.php +++ b/com_podcastmanager/site/podcastmanager.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/router.php b/com_podcastmanager/site/router.php index 70f0828e..555d40fe 100644 --- a/com_podcastmanager/site/router.php +++ b/com_podcastmanager/site/router.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage com_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/com_podcastmanager/site/views/feed/tmpl/default.xml b/com_podcastmanager/site/views/feed/tmpl/default.xml index 59727755..02b65105 100644 --- a/com_podcastmanager/site/views/feed/tmpl/default.xml +++ b/com_podcastmanager/site/views/feed/tmpl/default.xml @@ -15,6 +15,21 @@ description="COM_PODCASTMANAGER_MENU_FEEDNAME_DESCRIPTION" label="COM_PODCASTMANAGER_MENU_FEEDNAME_LABEL" required="true" /> + + + + + + + + + + + feed->id && $this->user->authorise('core.edit', 'com_podcastmanager.feed.' . $this->feed->id); +$canEdit = isset($this->feed->id) && $this->user->authorise('core.edit', 'com_podcastmanager.feed.' . $this->feed->id); ?>
params->def('show_page_heading', 1)) : ?>

escape($this->params->get('page_heading')); ?>

feed->name && $this->params->get('show_feed_title', 1)) : ?> +if (isset($this->feed->name) && $this->params->get('show_feed_title', 1)) : ?>

feed->name); ?>

params->get('show_feed_description', 1) || $this->params->get('show_feed_image', 1)) : ?> diff --git a/com_podcastmanager/site/views/feed/tmpl/feed.xml b/com_podcastmanager/site/views/feed/tmpl/feed.xml index 405d3ede..64f45eed 100644 --- a/com_podcastmanager/site/views/feed/tmpl/feed.xml +++ b/com_podcastmanager/site/views/feed/tmpl/feed.xml @@ -22,6 +22,7 @@ + - params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->pagesTotal > 1)) : ?> + + params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get($paginationParam) > 1)) : ?> ') .appendTo(controls) .click(function(e) { @@ -3173,21 +3294,41 @@ if (typeof jQuery != 'undefined') { } return false; - }); + }), + play_btn = play.find('button'); + + + function togglePlayPause(which) { + if ('play' === which) { + play.removeClass('mejs-play').addClass('mejs-pause'); + play_btn.attr({ + 'title': op.pauseText, + 'aria-label': op.pauseText + }); + } else { + play.removeClass('mejs-pause').addClass('mejs-play'); + play_btn.attr({ + 'title': op.playText, + 'aria-label': op.playText + }); + } + }; + togglePlayPause('pse'); + media.addEventListener('play',function() { - play.removeClass('mejs-play').addClass('mejs-pause'); + togglePlayPause('play'); }, false); media.addEventListener('playing',function() { - play.removeClass('mejs-play').addClass('mejs-pause'); + togglePlayPause('play'); }, false); media.addEventListener('pause',function() { - play.removeClass('mejs-pause').addClass('mejs-play'); + togglePlayPause('pse'); }, false); media.addEventListener('paused',function() { - play.removeClass('mejs-pause').addClass('mejs-play'); + togglePlayPause('pse'); }, false); } }); @@ -3229,24 +3370,31 @@ if (typeof jQuery != 'undefined') { })(mejs.$); (function($) { + + $.extend(mejs.MepDefaults, { + progessHelpText: mejs.i18n.t( + 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.') + }); + // progress/loaded bar $.extend(MediaElementPlayer.prototype, { buildprogress: function(player, controls, layers, media) { - $('
'+ - ''+ - ''+ - ''+ - ''+ - ''+ - '' + - '00:00' + - '' + - ''+ - ''+ - '
') + $('') .appendTo(controls); - controls.find('.mejs-time-buffering').hide(); + controls.find('.mejs-time-buffering').hide(); var t = this, @@ -3256,15 +3404,22 @@ if (typeof jQuery != 'undefined') { handle = controls.find('.mejs-time-handle'), timefloat = controls.find('.mejs-time-float'), timefloatcurrent = controls.find('.mejs-time-float-current'), + slider = controls.find('.mejs-time-slider'), handleMouseMove = function (e) { - // mouse position relative to the object - var x = e.pageX, - offset = total.offset(), + + var offset = total.offset(), width = total.outerWidth(true), percentage = 0, newTime = 0, - pos = 0; - + pos = 0, + x; + + // mouse or touch position relative to the object + if (e.originalEvent.changedTouches) { + x = e.originalEvent.changedTouches[0].pageX; + }else{ + x = e.pageX; + } if (media.duration) { if (x < offset.left) { @@ -3291,25 +3446,118 @@ if (typeof jQuery != 'undefined') { } }, mouseIsDown = false, - mouseIsOver = false; + mouseIsOver = false, + lastKeyPressTime = 0, + startedPaused = false, + autoRewindInitial = player.options.autoRewind; + // Accessibility for slider + var updateSlider = function (e) { + + var seconds = media.currentTime, + timeSliderText = mejs.i18n.t('Time Slider'), + time = mejs.Utility.secondsToTimeCode(seconds), + duration = media.duration; + + slider.attr({ + 'aria-label': timeSliderText, + 'aria-valuemin': 0, + 'aria-valuemax': duration, + 'aria-valuenow': seconds, + 'aria-valuetext': time, + 'role': 'slider', + 'tabindex': 0 + }); + + }; + + var restartPlayer = function () { + var now = new Date(); + if (now - lastKeyPressTime >= 1000) { + media.play(); + } + }; + + slider.bind('focus', function (e) { + player.options.autoRewind = false; + }); + + slider.bind('blur', function (e) { + player.options.autoRewind = autoRewindInitial; + }); + + slider.bind('keydown', function (e) { + + if ((new Date() - lastKeyPressTime) >= 1000) { + startedPaused = media.paused; + } + + var keyCode = e.keyCode, + duration = media.duration, + seekTime = media.currentTime; + + switch (keyCode) { + case 37: // left + seekTime -= 1; + break; + case 39: // Right + seekTime += 1; + break; + case 38: // Up + seekTime += Math.floor(duration * 0.1); + break; + case 40: // Down + seekTime -= Math.floor(duration * 0.1); + break; + case 36: // Home + seekTime = 0; + break; + case 35: // end + seekTime = duration; + break; + case 10: // enter + media.paused ? media.play() : media.pause(); + return; + case 13: // space + media.paused ? media.play() : media.pause(); + return; + default: + return; + } + + seekTime = seekTime < 0 ? 0 : (seekTime >= duration ? duration : Math.floor(seekTime)); + lastKeyPressTime = new Date(); + if (!startedPaused) { + media.pause(); + } + + if (seekTime < media.duration && !startedPaused) { + setTimeout(restartPlayer, 1100); + } + + media.setCurrentTime(seekTime); + + e.preventDefault(); + e.stopPropagation(); + return false; + }); + // handle clicks //controls.find('.mejs-time-rail').delegate('span', 'click', handleMouseMove); total - .bind('mousedown', function (e) { - // only handle left clicks - if (e.which === 1) { + .bind('mousedown touchstart', function (e) { + // only handle left clicks or touch + if (e.which === 1 || e.which === 0) { mouseIsDown = true; handleMouseMove(e); - t.globalBind('mousemove.dur', function(e) { + t.globalBind('mousemove.dur touchmove.dur', function(e) { handleMouseMove(e); }); - t.globalBind('mouseup.dur', function (e) { + t.globalBind('mouseup.dur touchend.dur', function (e) { mouseIsDown = false; timefloat.hide(); t.globalUnbind('.dur'); }); - return false; } }) .bind('mouseenter', function(e) { @@ -3339,6 +3587,7 @@ if (typeof jQuery != 'undefined') { media.addEventListener('timeupdate', function(e) { player.setProgressRail(e); player.setCurrentRail(e); + updateSlider(e); }, false); @@ -3352,8 +3601,8 @@ if (typeof jQuery != 'undefined') { var t = this, - target = (e != undefined) ? e.target : t.media, - percent = null; + target = (e !== undefined) ? e.target : t.media, + percent = null; // newest HTML5 spec has buffered array (FF4, Webkit) if (target && target.buffered && target.buffered.length > 0 && target.buffered.end && target.duration) { @@ -3364,12 +3613,12 @@ if (typeof jQuery != 'undefined') { // to be anything other than 0. If the byte count is available we use this instead. // Browsers that support the else if do not seem to have the bufferedBytes value and // should skip to there. Tested in Safari 5, Webkit head, FF3.6, Chrome 6, IE 7/8. - else if (target && target.bytesTotal != undefined && target.bytesTotal > 0 && target.bufferedBytes != undefined) { + else if (target && target.bytesTotal !== undefined && target.bytesTotal > 0 && target.bufferedBytes !== undefined) { percent = target.bufferedBytes / target.bytesTotal; } // Firefox 3 with an Ogg file seems to go this way - else if (e && e.lengthComputable && e.total != 0) { - percent = e.loaded/e.total; + else if (e && e.lengthComputable && e.total !== 0) { + percent = e.loaded / e.total; } // finally update the progress bar @@ -3385,7 +3634,7 @@ if (typeof jQuery != 'undefined') { var t = this; - if (t.media.currentTime != undefined && t.media.duration) { + if (t.media.currentTime !== undefined && t.media.duration) { // update bar and handle if (t.total && t.handle) { @@ -3398,10 +3647,9 @@ if (typeof jQuery != 'undefined') { } } - } + } }); })(mejs.$); - (function($) { // options @@ -3416,11 +3664,13 @@ if (typeof jQuery != 'undefined') { buildcurrent: function(player, controls, layers, media) { var t = this; - $('
'+ - '' + (player.options.alwaysShowHours ? '00:' : '') - + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')+ ''+ - '
') - .appendTo(controls); + $('
' + + '' + + (player.options.alwaysShowHours ? '00:' : '') + + (player.options.showTimecodeFrameCount? '00:00:00':'00:00') + + ''+ + '
') + .appendTo(controls); t.currenttime = t.controls.find('.mejs-currenttime'); @@ -3438,8 +3688,8 @@ if (typeof jQuery != 'undefined') { '' + (t.options.duration > 0 ? mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25) : - ((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')) - ) + + ((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')) + ) + '') .appendTo(controls.find('.mejs-time')); } else { @@ -3451,8 +3701,8 @@ if (typeof jQuery != 'undefined') { '' + (t.options.duration > 0 ? mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25) : - ((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')) - ) + + ((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')) + ) + '' + '
') .appendTo(controls); @@ -3491,6 +3741,7 @@ if (typeof jQuery != 'undefined') { $.extend(mejs.MepDefaults, { muteText: mejs.i18n.t('Mute Toggle'), + allyVolumeControlText: mejs.i18n.t('Use Up/Down Arrow keys to increase or decrease volume.'), hideVolumeOnTouchDevices: true, audioVolume: 'horizontal', @@ -3501,7 +3752,7 @@ if (typeof jQuery != 'undefined') { buildvolume: function(player, controls, layers, media) { // Android and iOS don't support volume controls - if (mejs.MediaFeatures.hasTouch && this.options.hideVolumeOnTouchDevices) + if ((mejs.MediaFeatures.isAndroid || mejs.MediaFeatures.isiOS) && this.options.hideVolumeOnTouchDevices) return; var t = this, @@ -3509,25 +3760,33 @@ if (typeof jQuery != 'undefined') { mute = (mode == 'horizontal') ? // horizontal version - $('
'+ - ''+ + $('
' + + ''+ '
' + - '' + '' ) .appendTo(controls) : // vertical version $('') .appendTo(controls), volumeSlider = t.container.find('.mejs-volume-slider, .mejs-horizontal-volume-slider'), @@ -3540,32 +3799,30 @@ if (typeof jQuery != 'undefined') { if (!volumeSlider.is(':visible') && typeof secondTry == 'undefined') { volumeSlider.show(); positionVolumeHandle(volume, true); - volumeSlider.hide() + volumeSlider.hide(); return; } - + // correct to 0-1 volume = Math.max(0,volume); - volume = Math.min(volume,1); - + volume = Math.min(volume,1); + // ajust mute button style - if (volume == 0) { + if (volume === 0) { mute.removeClass('mejs-mute').addClass('mejs-unmute'); } else { mute.removeClass('mejs-unmute').addClass('mejs-mute'); - } + } + // top/left of full size volume slider background + var totalPosition = volumeTotal.position(); // position slider if (mode == 'vertical') { - var - - // height of the full size volume slider background + var + // height of the full size volume slider background totalHeight = volumeTotal.height(), - - // top/left of full size volume slider background - totalPosition = volumeTotal.position(), - - // the new top position based on the current volume + + // the new top position based on the current volume // 70% volume on 100px height == top:30px newTop = totalHeight - (totalHeight * volume); @@ -3576,14 +3833,10 @@ if (typeof jQuery != 'undefined') { volumeCurrent.height(totalHeight - newTop ); volumeCurrent.css('top', totalPosition.top + newTop); } else { - var - + var // height of the full size volume slider background totalWidth = volumeTotal.width(), - // top/left of full size volume slider background - totalPosition = volumeTotal.position(), - // the new left position based on the current volume newLeft = totalWidth * volume; @@ -3600,7 +3853,7 @@ if (typeof jQuery != 'undefined') { totalOffset = volumeTotal.offset(); // calculate the new volume based on the moust position - if (mode == 'vertical') { + if (mode === 'vertical') { var railHeight = volumeTotal.height(), @@ -3610,8 +3863,9 @@ if (typeof jQuery != 'undefined') { volume = (railHeight - newY) / railHeight; // the controls just hide themselves (usually when mouse moves too far up) - if (totalOffset.top == 0 || totalOffset.left == 0) + if (totalOffset.top === 0 || totalOffset.left === 0) { return; + } } else { var @@ -3625,16 +3879,16 @@ if (typeof jQuery != 'undefined') { volume = Math.max(0,volume); volume = Math.min(volume,1); - // position the slider and handle + // position the slider and handle positionVolumeHandle(volume); // set the media object (this will trigger the volumechanged event) - if (volume == 0) { + if (volume === 0) { media.setMuted(true); } else { media.setMuted(false); } - media.setVolume(volume); + media.setVolume(volume); }, mouseIsDown = false, mouseIsOver = false; @@ -3646,12 +3900,28 @@ if (typeof jQuery != 'undefined') { volumeSlider.show(); mouseIsOver = true; }, function() { - mouseIsOver = false; + mouseIsOver = false; if (!mouseIsDown && mode == 'vertical') { volumeSlider.hide(); } }); + + var updateVolumeSlider = function (e) { + + var volume = Math.floor(media.volume*100); + + volumeSlider.attr({ + 'aria-label': mejs.i18n.t('volumeSlider'), + 'aria-valuemin': 0, + 'aria-valuemax': 100, + 'aria-valuenow': volume, + 'aria-valuetext': volume+'%', + 'role': 'slider', + 'tabindex': 0 + }); + + }; volumeSlider .bind('mouseover', function() { @@ -3673,13 +3943,39 @@ if (typeof jQuery != 'undefined') { mouseIsDown = true; return false; - }); + }) + .bind('keydown', function (e) { + var keyCode = e.keyCode; + var volume = media.volume; + switch (keyCode) { + case 38: // Up + volume += 0.1; + break; + case 40: // Down + volume = volume - 0.1; + break; + default: + return true; + } + mouseIsDown = false; + positionVolumeHandle(volume); + media.setVolume(volume); + return false; + }) + .bind('blur', function () { + volumeSlider.hide(); + }); // MUTE button mute.find('button').click(function() { media.setMuted( !media.muted ); }); + + //Keyboard input + mute.find('button').bind('focus', function () { + volumeSlider.show(); + }); // listen for volume change events from other sources media.addEventListener('volumechange', function(e) { @@ -3692,6 +3988,7 @@ if (typeof jQuery != 'undefined') { mute.removeClass('mejs-unmute').addClass('mejs-mute'); } } + updateVolumeSlider(e); }, false); if (t.container.is(':visible')) { @@ -3699,9 +3996,9 @@ if (typeof jQuery != 'undefined') { positionVolumeHandle(player.options.startVolume); // mutes the media and sets the volume icon muted if the initial volume is set to 0 - if (player.options.startVolume === 0) { - media.setMuted(true); - } + if (player.options.startVolume === 0) { + media.setMuted(true); + } // shim gets the startvolume as a parameter, but we have to set it on the native
';else{var j=d[g].render(c);if(j!=null)e+='
'+j+"
"}c.contextMenu.empty().append(f(e)).css({top:b,left:a}).show();c.contextMenu.find(".mejs-contextmenu-item").each(function(){var m=f(this),q=parseInt(m.data("itemindex"),10),p=c.options.contextMenuItems[q];typeof p.show!= -"undefined"&&p.show(m,c);m.click(function(){typeof p.click!="undefined"&&p.click(c);c.contextMenu.hide()})});setTimeout(function(){c.killControlsTimer("rev3")},100)}})})(mejs.$); -(function(f){f.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")});f.extend(MediaElementPlayer.prototype,{buildpostroll:function(a,b,c){var e=this.container.find('link[rel="postroll"]').attr("href");if(typeof e!=="undefined"){a.postroll=f('').prependTo(c).hide();this.media.addEventListener("ended", -function(){f.ajax({dataType:"html",url:e,success:function(d){c.find(".mejs-postroll-layer-content").html(d)}});a.postroll.show()},false)}}})})(mejs.$); - + */ +"undefined"!=typeof jQuery?mejs.$=jQuery:"undefined"!=typeof ender&&(mejs.$=ender),function(a){mejs.MepDefaults={poster:"",showPosterWhenEnded:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return.05*a.duration},defaultSeekForwardInterval:function(a){return.05*a.duration},setDimensions:!0,audioWidth:-1,audioHeight:-1,startVolume:.8,loop:!1,autoRewind:!0,enableAutosize:!0,alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,autosizeProgress:!0,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,clickToPlayPause:!0,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:!0,enableKeyboard:!0,pauseOtherPlayers:!0,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.volume+.1,1);b.setVolume(c)}},{keys:[40],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.volume-.1,0);b.setVolume(c)}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){"undefined"!=typeof a.enterFullScreen&&(a.isFullScreen?a.exitFullScreen():a.enterFullScreen())}},{keys:[77],action:function(a){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer()),a.setMuted(a.media.muted?!1:!0)}}]},mejs.mepIndex=0,mejs.players={},mejs.MediaElementPlayer=function(b,c){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(b,c);var d=this;return d.$media=d.$node=a(b),d.node=d.media=d.$media[0],"undefined"!=typeof d.node.player?d.node.player:(d.node.player=d,"undefined"==typeof c&&(c=d.$node.data("mejsoptions")),d.options=a.extend({},mejs.MepDefaults,c),d.id="mep_"+mejs.mepIndex++,mejs.players[d.id]=d,d.init(),d)},mejs.MediaElementPlayer.prototype={hasFocus:!1,controlsAreVisible:!0,init:function(){var b=this,c=mejs.MediaFeatures,d=a.extend(!0,{},b.options,{success:function(a,c){b.meReady(a,c)},error:function(a){b.handleError(a)}}),e=b.media.tagName.toLowerCase();if(b.isDynamic="audio"!==e&&"video"!==e,b.isVideo=b.isDynamic?b.options.isVideo:"audio"!==e&&b.options.isVideo,c.isiPad&&b.options.iPadUseNativeControls||c.isiPhone&&b.options.iPhoneUseNativeControls)b.$media.attr("controls","controls"),c.isiPad&&null!==b.media.getAttribute("autoplay")&&b.play();else if(c.isAndroid&&b.options.AndroidUseNativeControls);else{b.$media.removeAttr("controls");var f=mejs.i18n.t(b.isVideo?"Video Player":"Audio Player");if(a(''+f+"").insertBefore(b.$media),b.container=a('
').addClass(b.$media[0].className).insertBefore(b.$media).focus(function(){if(!b.controlsAreVisible){b.showControls(!0);var a=b.container.find(".mejs-playpause-button > button");a.focus()}}),b.container.addClass((c.isAndroid?"mejs-android ":"")+(c.isiOS?"mejs-ios ":"")+(c.isiPad?"mejs-ipad ":"")+(c.isiPhone?"mejs-iphone ":"")+(b.isVideo?"mejs-video ":"mejs-audio ")),c.isiOS){var g=b.$media.clone();b.container.find(".mejs-mediaelement").append(g),b.$media.remove(),b.$node=b.$media=g,b.node=b.media=g[0]}else b.container.find(".mejs-mediaelement").append(b.$media);b.controls=b.container.find(".mejs-controls"),b.layers=b.container.find(".mejs-layers");var h=b.isVideo?"video":"audio",i=h.substring(0,1).toUpperCase()+h.substring(1);b.width=b.options[h+"Width"]>0||b.options[h+"Width"].toString().indexOf("%")>-1?b.options[h+"Width"]:""!==b.media.style.width&&null!==b.media.style.width?b.media.style.width:null!==b.media.getAttribute("width")?b.$media.attr("width"):b.options["default"+i+"Width"],b.height=b.options[h+"Height"]>0||b.options[h+"Height"].toString().indexOf("%")>-1?b.options[h+"Height"]:""!==b.media.style.height&&null!==b.media.style.height?b.media.style.height:null!==b.$media[0].getAttribute("height")?b.$media.attr("height"):b.options["default"+i+"Height"],b.setPlayerSize(b.width,b.height),d.pluginWidth=b.width,d.pluginHeight=b.height}mejs.MediaElement(b.$media[0],d),"undefined"!=typeof b.container&&b.controlsAreVisible&&b.container.trigger("controlsshown")},showControls:function(a){var b=this;a="undefined"==typeof a||a,b.controlsAreVisible||(a?(b.controls.css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0,b.container.trigger("controlsshown")}),b.container.find(".mejs-control").css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0})):(b.controls.css("visibility","visible").css("display","block"),b.container.find(".mejs-control").css("visibility","visible").css("display","block"),b.controlsAreVisible=!0,b.container.trigger("controlsshown")),b.setControlsSize())},hideControls:function(b){var c=this;b="undefined"==typeof b||b,!c.controlsAreVisible||c.options.alwaysShowControls||c.keyboardAction||(b?(c.controls.stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")}),c.container.find(".mejs-control").stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block")})):(c.controls.css("visibility","hidden").css("display","block"),c.container.find(".mejs-control").css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")))},controlsTimer:null,startControlsTimer:function(a){var b=this;a="undefined"!=typeof a?a:1500,b.killControlsTimer("start"),b.controlsTimer=setTimeout(function(){b.hideControls(),b.killControlsTimer("hide")},a)},killControlsTimer:function(){var a=this;null!==a.controlsTimer&&(clearTimeout(a.controlsTimer),delete a.controlsTimer,a.controlsTimer=null)},controlsEnabled:!0,disableControls:function(){var a=this;a.killControlsTimer(),a.hideControls(!1),this.controlsEnabled=!1},enableControls:function(){var a=this;a.showControls(!1),a.controlsEnabled=!0},meReady:function(b,c){var d,e,f=this,g=mejs.MediaFeatures,h=c.getAttribute("autoplay"),i=!("undefined"==typeof h||null===h||"false"===h);if(!f.created){if(f.created=!0,f.media=b,f.domNode=c,!(g.isAndroid&&f.options.AndroidUseNativeControls||g.isiPad&&f.options.iPadUseNativeControls||g.isiPhone&&f.options.iPhoneUseNativeControls)){f.buildposter(f,f.controls,f.layers,f.media),f.buildkeyboard(f,f.controls,f.layers,f.media),f.buildoverlays(f,f.controls,f.layers,f.media),f.findTracks();for(d in f.options.features)if(e=f.options.features[d],f["build"+e])try{f["build"+e](f,f.controls,f.layers,f.media)}catch(j){}f.container.trigger("controlsready"),f.setPlayerSize(f.width,f.height),f.setControlsSize(),f.isVideo&&(mejs.MediaFeatures.hasTouch?f.$media.bind("touchstart",function(){f.controlsAreVisible?f.hideControls(!1):f.controlsEnabled&&f.showControls(!1)}):(f.clickToPlayPauseCallback=function(){f.options.clickToPlayPause&&(f.media.paused?f.play():f.pause())},f.media.addEventListener("click",f.clickToPlayPauseCallback,!1),f.container.bind("mouseenter mouseover",function(){f.controlsEnabled&&(f.options.alwaysShowControls||(f.killControlsTimer("enter"),f.showControls(),f.startControlsTimer(2500)))}).bind("mousemove",function(){f.controlsEnabled&&(f.controlsAreVisible||f.showControls(),f.options.alwaysShowControls||f.startControlsTimer(2500))}).bind("mouseleave",function(){f.controlsEnabled&&(f.media.paused||f.options.alwaysShowControls||f.startControlsTimer(1e3))})),f.options.hideVideoControlsOnLoad&&f.hideControls(!1),i&&!f.options.alwaysShowControls&&f.hideControls(),f.options.enableAutosize&&f.media.addEventListener("loadedmetadata",function(a){f.options.videoHeight<=0&&null===f.domNode.getAttribute("height")&&!isNaN(a.target.videoHeight)&&(f.setPlayerSize(a.target.videoWidth,a.target.videoHeight),f.setControlsSize(),f.media.setVideoSize(a.target.videoWidth,a.target.videoHeight))},!1)),b.addEventListener("play",function(){var a;for(a in mejs.players){var b=mejs.players[a];b.id==f.id||!f.options.pauseOtherPlayers||b.paused||b.ended||b.pause(),b.hasFocus=!1}f.hasFocus=!0},!1),f.media.addEventListener("ended",function(){if(f.options.autoRewind)try{f.media.setCurrentTime(0),window.setTimeout(function(){a(f.container).find(".mejs-overlay-loading").parent().hide()},20)}catch(b){}f.media.pause(),f.setProgressRail&&f.setProgressRail(),f.setCurrentRail&&f.setCurrentRail(),f.options.loop?f.play():!f.options.alwaysShowControls&&f.controlsEnabled&&f.showControls()},!1),f.media.addEventListener("loadedmetadata",function(){f.updateDuration&&f.updateDuration(),f.updateCurrent&&f.updateCurrent(),f.isFullScreen||(f.setPlayerSize(f.width,f.height),f.setControlsSize())},!1),f.container.focusout(function(b){if(b.relatedTarget){var c=a(b.relatedTarget);f.keyboardAction&&0===c.parents(".mejs-container").length&&(f.keyboardAction=!1,f.hideControls(!0))}}),setTimeout(function(){f.setPlayerSize(f.width,f.height),f.setControlsSize()},50),f.globalBind("resize",function(){f.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||f.setPlayerSize(f.width,f.height),f.setControlsSize()}),"youtube"==f.media.pluginType&&(g.isiOS||g.isAndroid)&&f.container.find(".mejs-overlay-play").hide()}i&&"native"==b.pluginType&&f.play(),f.options.success&&("string"==typeof f.options.success?window[f.options.success](f.media,f.domNode,f):f.options.success(f.media,f.domNode,f))}},handleError:function(a){var b=this;b.controls.hide(),b.options.error&&b.options.error(a)},setPlayerSize:function(b,c){var d=this;if(!d.options.setDimensions)return!1;if("undefined"!=typeof b&&(d.width=b),"undefined"!=typeof c&&(d.height=c),d.height.toString().indexOf("%")>0||"100%"===d.$node.css("max-width")||d.$node[0].currentStyle&&"100%"===d.$node[0].currentStyle.maxWidth){var e=function(){return d.isVideo?d.media.videoWidth&&d.media.videoWidth>0?d.media.videoWidth:null!==d.media.getAttribute("width")?d.media.getAttribute("width"):d.options.defaultVideoWidth:d.options.defaultAudioWidth}(),f=function(){return d.isVideo?d.media.videoHeight&&d.media.videoHeight>0?d.media.videoHeight:null!==d.media.getAttribute("height")?d.media.getAttribute("height"):d.options.defaultVideoHeight:d.options.defaultAudioHeight}(),g=d.container.parent().closest(":visible").width(),h=d.container.parent().closest(":visible").height(),i=d.isVideo||!d.options.autosizeProgress?parseInt(g*f/e,10):f;isNaN(i)&&(i=h),"body"===d.container.parent()[0].tagName.toLowerCase()&&(g=a(window).width(),i=a(window).height()),i&&g&&(d.container.width(g).height(i),d.$media.add(d.container.find(".mejs-shim")).width("100%").height("100%"),d.isVideo&&d.media.setVideoSize&&d.media.setVideoSize(g,i),d.layers.children(".mejs-layer").width("100%").height("100%"))}else d.container.width(d.width).height(d.height),d.layers.children(".mejs-layer").width(d.width).height(d.height);var j=d.layers.find(".mejs-overlay-play"),k=j.find(".mejs-overlay-button");j.height(d.container.height()-d.controls.height()),k.css("margin-top","-"+(k.height()/2-d.controls.height()/2).toString()+"px")},setControlsSize:function(){var b=this,c=0,d=0,e=b.controls.find(".mejs-time-rail"),f=b.controls.find(".mejs-time-total"),g=(b.controls.find(".mejs-time-current"),b.controls.find(".mejs-time-loaded"),e.siblings()),h=g.last(),i=null;if(b.container.is(":visible")&&e.length&&e.is(":visible")){b.options&&!b.options.autosizeProgress&&(d=parseInt(e.css("width"),10)),0!==d&&d||(g.each(function(){var b=a(this);"absolute"!=b.css("position")&&b.is(":visible")&&(c+=a(this).outerWidth(!0))}),d=b.controls.width()-c-(e.outerWidth(!0)-e.width()));do e.width(d),f.width(d-(f.outerWidth(!0)-f.width())),"absolute"!=h.css("position")&&(i=h.position(),d--);while(null!==i&&i.top>0&&d>0);b.setProgressRail&&b.setProgressRail(),b.setCurrentRail&&b.setCurrentRail()}},buildposter:function(b,c,d,e){var f=this,g=a('
').appendTo(d),h=b.$media.attr("poster");""!==b.options.poster&&(h=b.options.poster),h?f.setPoster(h):g.hide(),e.addEventListener("play",function(){g.hide()},!1),b.options.showPosterWhenEnded&&b.options.autoRewind&&e.addEventListener("ended",function(){g.show()},!1)},setPoster:function(b){var c=this,d=c.container.find(".mejs-poster"),e=d.find("img");0===e.length&&(e=a('').appendTo(d)),e.attr("src",b),d.css({"background-image":"url("+b+")"})},buildoverlays:function(b,c,d,e){var f=this;if(b.isVideo){var g=a('
').hide().appendTo(d),h=a('
').hide().appendTo(d),i=a('
').appendTo(d).bind("click",function(){f.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("playing",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("seeking",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("seeked",function(){g.hide(),c.find(".mejs-time-buffering").hide()},!1),e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||i.show()},!1),e.addEventListener("waiting",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("loadeddata",function(){g.show(),c.find(".mejs-time-buffering").show(),mejs.MediaFeatures.isAndroid&&(e.canplayTimeout=window.setTimeout(function(){if(document.createEvent){var a=document.createEvent("HTMLEvents");return a.initEvent("canplay",!0,!0),e.dispatchEvent(a)}},300))},!1),e.addEventListener("canplay",function(){g.hide(),c.find(".mejs-time-buffering").hide(),clearTimeout(e.canplayTimeout)},!1),e.addEventListener("error",function(){g.hide(),c.find(".mejs-time-buffering").hide(),h.show(),h.find("mejs-overlay-error").html("Error loading this resource")},!1),e.addEventListener("keydown",function(a){f.onkeydown(b,e,a)},!1)}},buildkeyboard:function(b,c,d,e){var f=this;f.container.keydown(function(){f.keyboardAction=!0}),f.globalBind("keydown",function(a){return f.onkeydown(b,e,a)}),f.globalBind("click",function(c){b.hasFocus=0!==a(c.target).closest(".mejs-container").length})},onkeydown:function(a,b,c){if(a.hasFocus&&a.options.enableKeyboard)for(var d=0,e=a.options.keyActions.length;e>d;d++)for(var f=a.options.keyActions[d],g=0,h=f.keys.length;h>g;g++)if(c.keyCode==f.keys[g])return"function"==typeof c.preventDefault&&c.preventDefault(),f.action(a,b,c.keyCode),!1;return!0},findTracks:function(){var b=this,c=b.$media.find("track");b.tracks=[],c.each(function(c,d){d=a(d),b.tracks.push({srclang:d.attr("srclang")?d.attr("srclang").toLowerCase():"",src:d.attr("src"),kind:d.attr("kind"),label:d.attr("label")||"",entries:[],isLoaded:!1})})},changeSkin:function(a){this.container[0].className="mejs-container "+a,this.setPlayerSize(this.width,this.height),this.setControlsSize()},play:function(){this.load(),this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load(),this.isLoaded=!0},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b,c=this;for(a in c.options.features)if(b=c.options.features[a],c["clean"+b])try{c["clean"+b](c)}catch(d){}c.isDynamic?c.$node.insertBefore(c.container):(c.$media.prop("controls",!0),c.$node.clone().insertBefore(c.container).show(),c.$node.remove()),"native"!==c.media.pluginType&&c.media.remove(),delete mejs.players[c.id],"object"==typeof c.container&&c.container.remove(),c.globalUnbind(),delete c.node.player}},function(){function b(b,d){var e={d:[],w:[]};return a.each((b||"").split(" "),function(a,b){var f=b+"."+d;0===f.indexOf(".")?(e.d.push(f),e.w.push(f)):e[c.test(b)?"w":"d"].push(f)}),e.d=e.d.join(" "),e.w=e.w.join(" "),e}var c=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,d,e){var f=this;c=b(c,f.id),c.d&&a(document).bind(c.d,d,e),c.w&&a(window).bind(c.w,d,e)},mejs.MediaElementPlayer.prototype.globalUnbind=function(c,d){var e=this;c=b(c,e.id),c.d&&a(document).unbind(c.d,d),c.w&&a(window).unbind(c.w,d)}}(),"undefined"!=typeof a&&(a.fn.mediaelementplayer=function(b){return this.each(b===!1?function(){var b=a(this).data("mediaelementplayer");b&&b.remove(),a(this).removeData("mediaelementplayer")}:function(){a(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,b))}),this},a(document).ready(function(){a(".mejs-player").mediaelementplayer()})),window.MediaElementPlayer=mejs.MediaElementPlayer}(mejs.$),function(a){a.extend(mejs.MepDefaults,{playText:mejs.i18n.t("Play"),pauseText:mejs.i18n.t("Pause")}),a.extend(MediaElementPlayer.prototype,{buildplaypause:function(b,c,d,e){function f(a){"play"===a?(i.removeClass("mejs-play").addClass("mejs-pause"),j.attr({title:h.pauseText,"aria-label":h.pauseText})):(i.removeClass("mejs-pause").addClass("mejs-play"),j.attr({title:h.playText,"aria-label":h.playText}))}var g=this,h=g.options,i=a('
').appendTo(c).click(function(a){return a.preventDefault(),e.paused?e.play():e.pause(),!1}),j=i.find("button");f("pse"),e.addEventListener("play",function(){f("play")},!1),e.addEventListener("playing",function(){f("play")},!1),e.addEventListener("pause",function(){f("pse")},!1),e.addEventListener("paused",function(){f("pse")},!1)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{stopText:"Stop"}),a.extend(MediaElementPlayer.prototype,{buildstop:function(b,c,d,e){{var f=this;a('
').appendTo(c).click(function(){e.paused||e.pause(),e.currentTime>0&&(e.setCurrentTime(0),e.pause(),c.find(".mejs-time-current").width("0px"),c.find(".mejs-time-handle").css("left","0px"),c.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0)),c.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0)),d.find(".mejs-poster").show())})}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{progessHelpText:mejs.i18n.t("Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.")}),a.extend(MediaElementPlayer.prototype,{buildprogress:function(b,c,d,e){a('').appendTo(c),c.find(".mejs-time-buffering").hide();var f=this,g=c.find(".mejs-time-total"),h=c.find(".mejs-time-loaded"),i=c.find(".mejs-time-current"),j=c.find(".mejs-time-handle"),k=c.find(".mejs-time-float"),l=c.find(".mejs-time-float-current"),m=c.find(".mejs-time-slider"),n=function(a){var b,c=g.offset(),d=g.outerWidth(!0),f=0,h=0,i=0;b=a.originalEvent.changedTouches?a.originalEvent.changedTouches[0].pageX:a.pageX,e.duration&&(bd+c.left&&(b=d+c.left),i=b-c.left,f=i/d,h=.02>=f?0:f*e.duration,o&&h!==e.currentTime&&e.setCurrentTime(h),mejs.MediaFeatures.hasTouch||(k.css("left",i),l.html(mejs.Utility.secondsToTimeCode(h)),k.show()))},o=!1,p=!1,q=0,r=!1,s=b.options.autoRewind,t=function(){var a=e.currentTime,b=mejs.i18n.t("Time Slider"),c=mejs.Utility.secondsToTimeCode(a),d=e.duration;m.attr({"aria-label":b,"aria-valuemin":0,"aria-valuemax":d,"aria-valuenow":a,"aria-valuetext":c,role:"slider",tabindex:0})},u=function(){var a=new Date;a-q>=1e3&&e.play()};m.bind("focus",function(){b.options.autoRewind=!1}),m.bind("blur",function(){b.options.autoRewind=s}),m.bind("keydown",function(a){new Date-q>=1e3&&(r=e.paused);var b=a.keyCode,c=e.duration,d=e.currentTime;switch(b){case 37:d-=1;break;case 39:d+=1;break;case 38:d+=Math.floor(.1*c);break;case 40:d-=Math.floor(.1*c);break;case 36:d=0;break;case 35:d=c;break;case 10:return void(e.paused?e.play():e.pause());case 13:return void(e.paused?e.play():e.pause());default:return}return d=0>d?0:d>=c?c:Math.floor(d),q=new Date,r||e.pause(),d0&&c.buffered.end&&c.duration?d=c.buffered.end(0)/c.duration:c&&void 0!==c.bytesTotal&&c.bytesTotal>0&&void 0!==c.bufferedBytes?d=c.bufferedBytes/c.bytesTotal:a&&a.lengthComputable&&0!==a.total&&(d=a.loaded/a.total),null!==d&&(d=Math.min(1,Math.max(0,d)),b.loaded&&b.total&&b.loaded.width(b.total.width()*d))},setCurrentRail:function(){var a=this;if(void 0!==a.media.currentTime&&a.media.duration&&a.total&&a.handle){var b=Math.round(a.total.width()*a.media.currentTime/a.media.duration),c=b-Math.round(a.handle.outerWidth(!0)/2);a.current.width(b),a.handle.css("left",c)}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:" | "}),a.extend(MediaElementPlayer.prototype,{buildcurrent:function(b,c,d,e){var f=this;a('
'+(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00")+"
").appendTo(c),f.currenttime=f.controls.find(".mejs-currenttime"),e.addEventListener("timeupdate",function(){b.updateCurrent()},!1)},buildduration:function(b,c,d,e){var f=this;c.children().last().find(".mejs-currenttime").length>0?a(f.options.timeAndDurationSeparator+''+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"").appendTo(c.find(".mejs-time")):(c.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container"),a('
'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"
").appendTo(c)),f.durationD=f.controls.find(".mejs-duration"),e.addEventListener("timeupdate",function(){b.updateDuration()},!1)},updateCurrent:function(){var a=this;a.currenttime&&a.currenttime.html(mejs.Utility.secondsToTimeCode(a.media.currentTime,a.options.alwaysShowHours||a.media.duration>3600,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))},updateDuration:function(){var a=this;a.container.toggleClass("mejs-long-video",a.media.duration>3600),a.durationD&&(a.options.duration>0||a.media.duration)&&a.durationD.html(mejs.Utility.secondsToTimeCode(a.options.duration>0?a.options.duration:a.media.duration,a.options.alwaysShowHours,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),allyVolumeControlText:mejs.i18n.t("Use Up/Down Arrow keys to increase or decrease volume."),hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical"}),a.extend(MediaElementPlayer.prototype,{buildvolume:function(b,c,d,e){if(!mejs.MediaFeatures.isAndroid&&!mejs.MediaFeatures.isiOS||!this.options.hideVolumeOnTouchDevices){var f=this,g=f.isVideo?f.options.videoVolume:f.options.audioVolume,h="horizontal"==g?a('
'+f.options.allyVolumeControlText+'
').appendTo(c):a('').appendTo(c),i=f.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),j=f.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),k=f.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),l=f.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),m=function(a,b){if(!i.is(":visible")&&"undefined"==typeof b)return i.show(),m(a,!0),void i.hide();a=Math.max(0,a),a=Math.min(a,1),0===a?h.removeClass("mejs-mute").addClass("mejs-unmute"):h.removeClass("mejs-unmute").addClass("mejs-mute");var c=j.position();if("vertical"==g){var d=j.height(),e=d-d*a;l.css("top",Math.round(c.top+e-l.height()/2)),k.height(d-e),k.css("top",c.top+e)}else{var f=j.width(),n=f*a;l.css("left",Math.round(c.left+n-l.width()/2)),k.width(Math.round(n))}},n=function(a){var b=null,c=j.offset();if("vertical"===g){var d=j.height(),f=(parseInt(j.css("top").replace(/px/,""),10),a.pageY-c.top);if(b=(d-f)/d,0===c.top||0===c.left)return}else{var h=j.width(),i=a.pageX-c.left;b=i/h}b=Math.max(0,b),b=Math.min(b,1),m(b),e.setMuted(0===b?!0:!1),e.setVolume(b)},o=!1,p=!1;h.hover(function(){i.show(),p=!0},function(){p=!1,o||"vertical"!=g||i.hide()});var q=function(){var a=Math.floor(100*e.volume);i.attr({"aria-label":mejs.i18n.t("volumeSlider"),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,"aria-valuetext":a+"%",role:"slider",tabindex:0})};i.bind("mouseover",function(){p=!0}).bind("mousedown",function(a){return n(a),f.globalBind("mousemove.vol",function(a){n(a)}),f.globalBind("mouseup.vol",function(){o=!1,f.globalUnbind(".vol"),p||"vertical"!=g||i.hide()}),o=!0,!1}).bind("keydown",function(a){var b=a.keyCode,c=e.volume;switch(b){case 38:c+=.1;break;case 40:c-=.1;break;default:return!0}return o=!1,m(c),e.setVolume(c),!1}).bind("blur",function(){i.hide()}),h.find("button").click(function(){e.setMuted(!e.muted)}),h.find("button").bind("focus",function(){i.show()}),e.addEventListener("volumechange",function(a){o||(e.muted?(m(0),h.removeClass("mejs-mute").addClass("mejs-unmute")):(m(e.volume),h.removeClass("mejs-unmute").addClass("mejs-mute"))),q(a)},!1),f.container.is(":visible")&&(m(b.options.startVolume),0===b.options.startVolume&&e.setMuted(!0),"native"===e.pluginType&&e.setVolume(b.options.startVolume))}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{usePluginFullScreen:!0,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")}),a.extend(MediaElementPlayer.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,buildfullscreen:function(b,c,d,e){if(b.isVideo){if(b.isInIframe=window.location!=window.parent.location,mejs.MediaFeatures.hasTrueNativeFullScreen){var f=function(){b.isFullScreen&&(mejs.MediaFeatures.isFullScreen()?(b.isNativeFullScreen=!0,b.setControlsSize()):(b.isNativeFullScreen=!1,b.exitFullScreen()))};b.globalBind(mejs.MediaFeatures.fullScreenEventName,f)}var g=this,h=(b.container,a('
').appendTo(c));if("native"===g.media.pluginType||!g.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)h.click(function(){var a=mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||b.isFullScreen;a?b.exitFullScreen():b.enterFullScreen()});else{var i=null,j=function(){var a,b=document.createElement("x"),c=document.documentElement,d=window.getComputedStyle;return"pointerEvents"in b.style?(b.style.pointerEvents="auto",b.style.pointerEvents="x",c.appendChild(b),a=d&&"auto"===d(b,"").pointerEvents,c.removeChild(b),!!a):!1}();if(j&&!mejs.MediaFeatures.isOpera){var k,l,m=!1,n=function(){if(m){for(var a in o)o[a].hide();h.css("pointer-events",""),g.controls.css("pointer-events",""),g.media.removeEventListener("click",g.clickToPlayPauseCallback),m=!1}},o={},p=["top","left","right","bottom"],q=function(){var a=h.offset().left-g.container.offset().left,b=h.offset().top-g.container.offset().top,c=h.outerWidth(!0),d=h.outerHeight(!0),e=g.container.width(),f=g.container.height();for(k in o)o[k].css({position:"absolute",top:0,left:0});o.top.width(e).height(b),o.left.width(a).height(d).css({top:b}),o.right.width(e-a-c).height(d).css({top:b,left:a+c}),o.bottom.width(e).height(f-d-b).css({top:b+d})};for(g.globalBind("resize",function(){q()}),k=0,l=p.length;l>k;k++)o[p[k]]=a('
').appendTo(g.container).mouseover(n).hide();h.on("mouseover",function(){if(!g.isFullScreen){var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!1),h.css("pointer-events","none"),g.controls.css("pointer-events","none"),g.media.addEventListener("click",g.clickToPlayPauseCallback);for(k in o)o[k].show();q(),m=!0}}),e.addEventListener("fullscreenchange",function(){g.isFullScreen=!g.isFullScreen,g.isFullScreen?g.media.removeEventListener("click",g.clickToPlayPauseCallback):g.media.addEventListener("click",g.clickToPlayPauseCallback),n()}),g.globalBind("mousemove",function(a){if(m){var b=h.offset();(a.pageYb.top+h.outerHeight(!0)||a.pageXb.left+h.outerWidth(!0))&&(h.css("pointer-events",""),g.controls.css("pointer-events",""),m=!1) +}})}else h.on("mouseover",function(){null!==i&&(clearTimeout(i),delete i);var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!0)}).on("mouseout",function(){null!==i&&(clearTimeout(i),delete i),i=setTimeout(function(){e.hideFullscreenButton()},1500)})}b.fullscreenBtn=h,g.globalBind("keydown",function(a){(mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||g.isFullScreen)&&27==a.keyCode&&b.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},containerSizeTimeout:null,enterFullScreen:function(){var b=this;if("native"===b.media.pluginType||!mejs.MediaFeatures.isFirefox&&!b.options.usePluginFullScreen){if(a(document.documentElement).addClass("mejs-fullscreen"),normalHeight=b.container.height(),normalWidth=b.container.width(),"native"===b.media.pluginType)if(mejs.MediaFeatures.hasTrueNativeFullScreen)mejs.MediaFeatures.requestFullScreen(b.container[0]),b.isInIframe&&setTimeout(function d(){if(b.isNativeFullScreen){var c=window.devicePixelRatio||1,e=.002,f=c*a(window).width(),g=screen.width,h=Math.abs(g-f),i=g*e;h>i?b.exitFullScreen():setTimeout(d,500)}},500);else if(mejs.MediaFeatures.hasSemiNativeFullScreen)return void b.media.webkitEnterFullscreen();if(b.isInIframe){var c=b.options.newWindowCallback(this);if(""!==c){if(!mejs.MediaFeatures.hasTrueNativeFullScreen)return b.pause(),void window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");setTimeout(function(){b.isNativeFullScreen||(b.pause(),window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no"))},250)}}b.container.addClass("mejs-container-fullscreen").width("100%").height("100%"),b.containerSizeTimeout=setTimeout(function(){b.container.css({width:"100%",height:"100%"}),b.setControlsSize()},500),"native"===b.media.pluginType?b.$media.width("100%").height("100%"):(b.container.find(".mejs-shim").width("100%").height("100%"),b.media.setVideoSize(a(window).width(),a(window).height())),b.layers.children("div").width("100%").height("100%"),b.fullscreenBtn&&b.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen"),b.setControlsSize(),b.isFullScreen=!0,b.container.find(".mejs-captions-text").css("font-size",screen.width/b.width*1*100+"%"),b.container.find(".mejs-captions-position").css("bottom","45px")}},exitFullScreen:function(){var b=this;return clearTimeout(b.containerSizeTimeout),"native"!==b.media.pluginType&&mejs.MediaFeatures.isFirefox?void b.media.setFullscreen(!1):(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||b.isFullScreen)&&mejs.MediaFeatures.cancelFullScreen(),a(document.documentElement).removeClass("mejs-fullscreen"),b.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight),"native"===b.media.pluginType?b.$media.width(normalWidth).height(normalHeight):(b.container.find(".mejs-shim").width(normalWidth).height(normalHeight),b.media.setVideoSize(normalWidth,normalHeight)),b.layers.children("div").width(normalWidth).height(normalHeight),b.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen"),b.setControlsSize(),b.isFullScreen=!1,b.container.find(".mejs-captions-text").css("font-size",""),void b.container.find(".mejs-captions-position").css("bottom",""))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x"}),a.extend(MediaElementPlayer.prototype,{buildspeed:function(b,c,d,e){var f=this;if("native"==f.media.pluginType){var g=null,h=null,i='
    ';-1===a.inArray(f.options.defaultSpeed,f.options.speeds)&&f.options.speeds.push(f.options.defaultSpeed),f.options.speeds.sort(function(a,b){return parseFloat(b)-parseFloat(a)});for(var j=0,k=f.options.speeds.length;k>j;j++)i+='
  • ";i+="
",g=a(i).appendTo(c),h=g.find(".mejs-speed-selector"),playbackspeed=f.options.defaultSpeed,h.on("click",'input[type="radio"]',function(){var b=a(this).attr("value");playbackspeed=b,e.playbackRate=parseFloat(b),g.find("button").html("test"+b+f.options.speedChar),g.find(".mejs-speed-selected").removeClass("mejs-speed-selected"),g.find('input[type="radio"]:checked').next().addClass("mejs-speed-selected")}),h.height(g.find(".mejs-speed-selector ul").outerHeight(!0)+g.find(".mejs-speed-translations").outerHeight(!0)).css("top",-1*h.height()+"px")}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),a.extend(MediaElementPlayer.prototype,{hasChapters:!1,buildtracks:function(b,c,d,e){if(0!==b.tracks.length){var f,g=this;if(g.domNode.textTracks)for(f=g.domNode.textTracks.length-1;f>=0;f--)g.domNode.textTracks[f].mode="hidden";b.chapters=a('
').prependTo(d).hide(),b.captions=a('
').prependTo(d).hide(),b.captionsText=b.captions.find(".mejs-captions-text"),b.captionsButton=a('
").appendTo(c);var h=0;for(f=0;f0&&c.displayChapters(d)},!1),"slides"==d.kind&&c.setupSlides(d)},error:function(){c.loadNextTrack()}})},enableTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("input[value="+b+"]").prop("disabled",!1).siblings("label").html(c),d.options.startLanguage==b&&a("#"+d.id+"_captions_"+b).prop("checked",!0).trigger("click"),d.adjustLanguageBox()},addTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("ul").append(a('
  • ")),d.adjustLanguageBox(),d.container.find(".mejs-captions-translations option[value="+b+"]").remove()},adjustLanguageBox:function(){var a=this;a.captionsButton.find(".mejs-captions-selector").height(a.captionsButton.find(".mejs-captions-selector ul").outerHeight(!0)+a.captionsButton.find(".mejs-captions-translations").outerHeight(!0))},checkForTracks:function(){var a=this,b=!1;if(a.options.hideCaptionsButtonWhenEmpty){for(i=0;i=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return b.captionsText.html(c.entries.text[a]).attr("class","mejs-captions-text "+(c.entries.times[a].identifier||"")),void b.captions.show().height(0);b.captions.hide()}else b.captions.hide()}},setupSlides:function(a){var b=this;b.slides=a,b.slides.entries.imgs=[b.slides.entries.text.length],b.showSlide(0)},showSlide:function(b){if("undefined"!=typeof this.tracks&&"undefined"!=typeof this.slidesContainer){var c=this,d=c.slides.entries.text[b],e=c.slides.entries.imgs[b];"undefined"==typeof e||"undefined"==typeof e.fadeIn?c.slides.entries.imgs[b]=e=a('').on("load",function(){e.appendTo(c.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()}):e.is(":visible")||e.is(":animated")||e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if("undefined"!=typeof this.slides){var a,b=this,c=b.slides;for(a=0;a=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return void b.showSlide(a)}},displayChapters:function(){var a,b=this;for(a=0;a100||c==b.entries.times.length-1&&100>f+g)&&(f=100-g),e.chapters.append(a('
    '+b.entries.text[c]+''+mejs.Utility.secondsToTimeCode(b.entries.times[c].start)+"–"+mejs.Utility.secondsToTimeCode(b.entries.times[c].stop)+"
    ")),g+=f;e.chapters.find("div.mejs-chapter").click(function(){e.media.setCurrentTime(parseFloat(a(this).attr("rel"))),e.media.paused&&e.media.play()}),e.chapters.show()}}),mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",fl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}},mejs.TrackFormatParser={webvtt:{pattern_timecode:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(b){for(var c,d,e,f=0,g=mejs.TrackFormatParser.split2(b,/\r?\n/),h={text:[],times:[]};f=0&&""!==g[f-1]&&(e=g[f-1]),f++,d=g[f],f++;""!==g[f]&&f$1"),h.text.push(d),h.times.push({identifier:e,start:0===mejs.Utility.convertSMPTEtoSeconds(c[1])?.2:mejs.Utility.convertSMPTEtoSeconds(c[1]),stop:mejs.Utility.convertSMPTEtoSeconds(c[3]),settings:c[5]})}e=""}return h}},dfxp:{parse:function(b){b=a(b).filter("tt");var c,d,e=0,f=b.children("div").eq(0),g=f.find("p"),h=b.find("#"+f.attr("style")),i={text:[],times:[]};if(h.length){var j=h.removeAttr("id").get(0).attributes;if(j.length)for(c={},e=0;e$1"),i.text.push(d),0===i.times.start&&(i.times.start=2)}return i}},split2:function(a,b){return a.split(b)}},3!="x\n\ny".split(/\n/gi).length&&(mejs.TrackFormatParser.split2=function(a,b){var c,d=[],e="";for(c=0;c
    ').appendTo(a("body")).hide(),b.container.bind("contextmenu",function(a){return b.isContextMenuEnabled?(a.preventDefault(),b.renderContextMenu(a.clientX-1,a.clientY-1),!1):void 0}),b.container.bind("click",function(){b.contextMenu.hide()}),b.contextMenu.bind("mouseleave",function(){b.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},isContextMenuEnabled:!0,enableContextMenu:function(){this.isContextMenuEnabled=!0},disableContextMenu:function(){this.isContextMenuEnabled=!1},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer(),a.contextMenuTimer=setTimeout(function(){a.hideContextMenu(),a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;null!=a&&(clearTimeout(a),delete a,a=null)},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(b,c){for(var d=this,e="",f=d.options.contextMenuItems,g=0,h=f.length;h>g;g++)if(f[g].isSeparator)e+='
    ';else{var i=f[g].render(d);null!=i&&(e+='
    '+i+"
    ")}d.contextMenu.empty().append(a(e)).css({top:c,left:b}).show(),d.contextMenu.find(".mejs-contextmenu-item").each(function(){var b=a(this),c=parseInt(b.data("itemindex"),10),e=d.options.contextMenuItems[c];"undefined"!=typeof e.show&&e.show(b,d),b.click(function(){"undefined"!=typeof e.click&&e.click(d),d.contextMenu.hide()})}),setTimeout(function(){d.killControlsTimer("rev3")},100)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")}),a.extend(MediaElementPlayer.prototype,{buildpostroll:function(b,c,d){var e=this,f=e.container.find('link[rel="postroll"]').attr("href");"undefined"!=typeof f&&(b.postroll=a('').prependTo(d).hide(),e.media.addEventListener("ended",function(){a.ajax({dataType:"html",url:f,success:function(a){d.find(".mejs-postroll-layer-content").html(a)}}),b.postroll.show()},!1))}})}(mejs.$); \ No newline at end of file diff --git a/plg_content_podcastmanager/mediaelements/js/silverlightmediaelement.xap b/plg_content_podcastmanager/mediaelements/js/silverlightmediaelement.xap index 9d55c2e4..3704748f 100644 Binary files a/plg_content_podcastmanager/mediaelements/js/silverlightmediaelement.xap and b/plg_content_podcastmanager/mediaelements/js/silverlightmediaelement.xap differ diff --git a/plg_content_podcastmanager/player.php b/plg_content_podcastmanager/player.php index f0db9985..21f874dc 100644 --- a/plg_content_podcastmanager/player.php +++ b/plg_content_podcastmanager/player.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_content_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_content_podcastmanager/podcastmanager.php b/plg_content_podcastmanager/podcastmanager.php index c6019855..f0f92ba0 100644 --- a/plg_content_podcastmanager/podcastmanager.php +++ b/plg_content_podcastmanager/podcastmanager.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_content_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -88,6 +88,16 @@ public function onContentPrepare($context, &$article, &$params, $page = 0) $feedView = $context; } + // Special handling for com_tags if needed + if ($context == 'com_tags.tag') + { + // If there isn't a text element, set it as that's what we're using + if (!isset($article->text) || !$article->text) + { + $article->text = $article->core_body; + } + } + // Simple performance check to determine whether plugin should process further if (strpos($article->text, 'podcast') === false) { diff --git a/plg_content_podcastmanager/podcastmanager.xml b/plg_content_podcastmanager/podcastmanager.xml index cdc9a761..838d62d1 100644 --- a/plg_content_podcastmanager/podcastmanager.xml +++ b/plg_content_podcastmanager/podcastmanager.xml @@ -3,9 +3,9 @@ plg_content_podcastmanager ##DATE## Michael Babker - (C) 2011-2014 Michael Babker + (C) 2011-2015 Michael Babker mbabker@flbab.com - http://www.babdev.com + https://www.babdev.com ##VERSION## GNU/GPL Version 2 or later PLG_CONTENT_PODCASTMANAGER_XML_DESCRIPTION diff --git a/plg_content_podcastmanager/script.php b/plg_content_podcastmanager/script.php index c07e0192..901441d5 100644 --- a/plg_content_podcastmanager/script.php +++ b/plg_content_podcastmanager/script.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_content_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.ini b/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.ini index e36e48e9..84fe4321 100644 --- a/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.ini +++ b/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.sys.ini b/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.sys.ini index 61dafd6e..4a0a8cf5 100644 --- a/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.sys.ini +++ b/plg_editors-xtd_podcastmanager/language/en-GB/en-GB.plg_editors-xtd_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.ini b/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.ini index 55269b3b..c59876f4 100644 --- a/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.ini +++ b/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.sys.ini b/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.sys.ini index 3f787516..adacd5d4 100644 --- a/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.sys.ini +++ b/plg_editors-xtd_podcastmanager/language/fr-CA/fr-CA.plg_editors-xtd_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.ini b/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.ini index 1c82824d..ae30bbcb 100644 --- a/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.ini +++ b/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.ini @@ -1,9 +1,9 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" PLG_EDITORS-XTD_PODCASTMANAGER="Bouton - Podcast Manager" PLG_EDITORS-XTD_PODCASTMANAGER_BUTTON="Podcast" PLG_EDITORS-XTD_PODCASTMANAGER_BUTTON_TOOLTIP="Sélectionner un épisode du podcast pour l'ajouter dans l'article." -PLG_EDITORS-XTD_PODCASTMANAGER_XML_DESCRIPTION="Le plugin "_QQ_"Podcast Manager Button"_QQ_" ajoute un bouton "_QQ_"Podcast"_QQ_" dans l'éditeur des articles." +PLG_EDITORS-XTD_PODCASTMANAGER_XML_DESCRIPTION="Le plugin "_QQ_"Bouton - Podcast Manager"_QQ_" ajoute un bouton "_QQ_"Podcast"_QQ_" dans l'éditeur d'articles." diff --git a/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.sys.ini b/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.sys.ini index 0ae85043..81806369 100644 --- a/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.sys.ini +++ b/plg_editors-xtd_podcastmanager/language/fr-FR/fr-FR.plg_editors-xtd_podcastmanager.sys.ini @@ -1,9 +1,9 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" PLG_EDITORS-XTD_PODCASTMANAGER="Bouton - Podcast Manager" PLG_EDITORS-XTD_PODCASTMANAGER_ERROR_ACTIVATING_PLUGIN="Impossible d'activer automatiquement le plugin "_QQ_"Bouton - Podcast Manager"_QQ_"" -PLG_EDITORS-XTD_PODCASTMANAGER_ERROR_COMPONENT="Vous n'avez pas installé le Gestionnaire de Podcast. Svp veuillez l'installer avant d'installer ce plugin." -PLG_EDITORS-XTD_PODCASTMANAGER_XML_DESCRIPTION="Le plugin "_QQ_"Podcast Manager Button"_QQ_" ajoute un bouton "_QQ_"Podcast"_QQ_" dans l'éditeur des articles." +PLG_EDITORS-XTD_PODCASTMANAGER_ERROR_COMPONENT="Vous n'avez pas installé Podcast Manager. Veuillez l'installer avant d'installer ce plugin." +PLG_EDITORS-XTD_PODCASTMANAGER_XML_DESCRIPTION="Le plugin "_QQ_"Bouton - Podcast Manager"_QQ_" ajoute un bouton "_QQ_"Podcast"_QQ_" dans l'éditeur d'articles." diff --git a/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.ini b/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.ini index b8873085..47f8711e 100644 --- a/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.ini +++ b/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.sys.ini b/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.sys.ini index e1c067cf..71d35bcd 100644 --- a/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.sys.ini +++ b/plg_editors-xtd_podcastmanager/language/id-ID/id-ID.plg_editors-xtd_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.ini b/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.ini index 5ba56878..e79f718b 100644 --- a/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.ini +++ b/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.sys.ini b/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.sys.ini index 24ca4030..27101539 100644 --- a/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.sys.ini +++ b/plg_editors-xtd_podcastmanager/language/pt-BR/pt-BR.plg_editors-xtd_podcastmanager.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_editors-xtd_podcastmanager/podcastmanager.php b/plg_editors-xtd_podcastmanager/podcastmanager.php index da6ede47..9596ee7d 100644 --- a/plg_editors-xtd_podcastmanager/podcastmanager.php +++ b/plg_editors-xtd_podcastmanager/podcastmanager.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_editors-xtd_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_editors-xtd_podcastmanager/podcastmanager.xml b/plg_editors-xtd_podcastmanager/podcastmanager.xml index afaa0fca..7005ae4d 100644 --- a/plg_editors-xtd_podcastmanager/podcastmanager.xml +++ b/plg_editors-xtd_podcastmanager/podcastmanager.xml @@ -3,9 +3,9 @@ plg_editors-xtd_podcastmanager ##DATE## Michael Babker - (C) 2011-2014 Michael Babker + (C) 2011-2015 Michael Babker mbabker@flbab.com - http://www.babdev.com + https://www.babdev.com ##VERSION## GNU/GPL Version 2 or later PLG_EDITORS-XTD_PODCASTMANAGER_XML_DESCRIPTION diff --git a/plg_editors-xtd_podcastmanager/script.php b/plg_editors-xtd_podcastmanager/script.php index 886f0295..bc194c36 100644 --- a/plg_editors-xtd_podcastmanager/script.php +++ b/plg_editors-xtd_podcastmanager/script.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_editors-xtd_podcastmanager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.ini b/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.ini index a50fdff1..812f9dff 100644 --- a/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.ini +++ b/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.sys.ini b/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.sys.ini index 41c54f31..4d8cc724 100644 --- a/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.sys.ini +++ b/plg_finder_podcastmanager_feeds/language/en-GB/en-GB.plg_finder_podcastmanager_feeds.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.ini b/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.ini index 0e4be8d3..45b667bc 100644 --- a/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.ini +++ b/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.ini @@ -1,10 +1,10 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -PLG_FINDER_PODCASTMANAGER_FEEDS="Recherche intelligente - Flux du gestionnaire de balados" -PLG_FINDER_PODCASTMANAGER_FEEDS_XML_DESCRIPTION="Ce plugiciel indexe les flux du gestionnaire de balados." +PLG_FINDER_PODCASTMANAGER_PODCASTS="Recherche intelligente - Balados du gestionnaire de balados" +PLG_FINDER_PODCASTMANAGER_PODCASTS_XML_DESCRIPTION="Ce plugiciel indexe les balados du gestionnaire de balados." -PLG_FINDER_QUERY_FILTER_BRANCH_S_PODCAST_FEED="Flux de balado" -PLG_FINDER_QUERY_FILTER_BRANCH_P_PODCAST_FEED="Flux de balados" +PLG_FINDER_QUERY_FILTER_BRANCH_S_PODCAST="Balado" +PLG_FINDER_QUERY_FILTER_BRANCH_P_PODCAST="Podcasts" diff --git a/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.sys.ini b/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.sys.ini index b74bc6f5..0e659c2d 100644 --- a/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.sys.ini +++ b/plg_finder_podcastmanager_feeds/language/fr-CA/fr-CA.plg_finder_podcastmanager_feeds.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.ini b/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.ini index f3c94eef..308c8e43 100644 --- a/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.ini +++ b/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.ini @@ -1,10 +1,10 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -PLG_FINDER_PODCASTMANAGER_FEEDS="Recherche intelligente - Flux du Gestionnaire de Podcast" -PLG_FINDER_PODCASTMANAGER_FEEDS_XML_DESCRIPTION="Ce plugin indexe les flux du Gestionnaire de Podcast." +PLG_FINDER_PODCASTMANAGER_FEEDS="Recherche avancée - Flux de Podcast Manager" +PLG_FINDER_PODCASTMANAGER_FEEDS_XML_DESCRIPTION="Ce plugin permet d'indexer les flux de Podcast Manager." PLG_FINDER_QUERY_FILTER_BRANCH_S_PODCAST_FEED="Flux du podcast" -PLG_FINDER_QUERY_FILTER_BRANCH_P_PODCAST_FEED="Flux des podcasts" +PLG_FINDER_QUERY_FILTER_BRANCH_P_PODCAST_FEED="Flux du podcast" diff --git a/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.sys.ini b/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.sys.ini index cf3fa7cd..aaf6a471 100644 --- a/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.sys.ini +++ b/plg_finder_podcastmanager_feeds/language/fr-FR/fr-FR.plg_finder_podcastmanager_feeds.sys.ini @@ -1,8 +1,8 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -PLG_FINDER_PODCASTMANAGER_FEEDS="Recherche intelligente - Flux du Gestionnaire de Podcast" -PLG_FINDER_PODCASTMANAGER_FEEDS_ERROR_COMPONENT="Vous n'avez pas installé le Gestionnaire de Podcast. Svp veuillez l'installer avant d'installer ce plugin." -PLG_FINDER_PODCASTMANAGER_FEEDS_XML_DESCRIPTION="Ce plugin indexe les flux du Gestionnaire de Podcast." +PLG_FINDER_PODCASTMANAGER_FEEDS="Recherche avancée - Flux de Podcast Manager" +PLG_FINDER_PODCASTMANAGER_FEEDS_ERROR_COMPONENT="Vous n'avez pas installé Podcast Manager. Veuillez l'installer avant d'installer ce plugin." +PLG_FINDER_PODCASTMANAGER_FEEDS_XML_DESCRIPTION="Ce plugin permet d'indexer les flux de Podcast Manager." diff --git a/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.ini b/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.ini index ad7108a5..f9ddaf12 100644 --- a/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.ini +++ b/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.sys.ini b/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.sys.ini index 3dcfe6a6..61e77480 100644 --- a/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.sys.ini +++ b/plg_finder_podcastmanager_feeds/language/id-ID/id-ID.plg_finder_podcastmanager_feeds.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.ini b/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.ini index d5dd648d..25a663a5 100644 --- a/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.ini +++ b/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.sys.ini b/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.sys.ini index 6ca88a7b..095e6518 100644 --- a/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.sys.ini +++ b/plg_finder_podcastmanager_feeds/language/pt-BR/pt-BR.plg_finder_podcastmanager_feeds.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_feeds/podcastmanager_feeds.php b/plg_finder_podcastmanager_feeds/podcastmanager_feeds.php index a3b7a80a..bc5e1de4 100644 --- a/plg_finder_podcastmanager_feeds/podcastmanager_feeds.php +++ b/plg_finder_podcastmanager_feeds/podcastmanager_feeds.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_finder_podcastmanager_feeds * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_finder_podcastmanager_feeds/podcastmanager_feeds.xml b/plg_finder_podcastmanager_feeds/podcastmanager_feeds.xml index e5c58f31..0d8e6a20 100644 --- a/plg_finder_podcastmanager_feeds/podcastmanager_feeds.xml +++ b/plg_finder_podcastmanager_feeds/podcastmanager_feeds.xml @@ -3,9 +3,9 @@ plg_finder_podcastmanager_feeds ##DATE## Michael Babker - (C) 2011-2014 Michael Babker + (C) 2011-2015 Michael Babker mbabker@flbab.com - http://www.babdev.com + https://www.babdev.com ##VERSION## GNU/GPL Version 2 or later PLG_FINDER_PODCASTMANAGER_FEEDS_XML_DESCRIPTION diff --git a/plg_finder_podcastmanager_feeds/script.php b/plg_finder_podcastmanager_feeds/script.php index 0e5c8791..aab17a83 100644 --- a/plg_finder_podcastmanager_feeds/script.php +++ b/plg_finder_podcastmanager_feeds/script.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_finder_podcastmanager_feeds * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.ini b/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.ini index 1b41318e..bfccd9f0 100644 --- a/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.ini +++ b/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.sys.ini b/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.sys.ini index e3ee886f..66db51fd 100644 --- a/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.sys.ini +++ b/plg_finder_podcastmanager_podcasts/language/en-GB/en-GB.plg_finder_podcastmanager_podcasts.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_podcasts/language/fr-CA/fr-CA.plg_finder_podcastmanager_podcasts.sys.ini b/plg_finder_podcastmanager_podcasts/language/fr-CA/fr-CA.plg_finder_podcastmanager_podcasts.sys.ini index 3e154ec2..b1b66f8d 100644 --- a/plg_finder_podcastmanager_podcasts/language/fr-CA/fr-CA.plg_finder_podcastmanager_podcasts.sys.ini +++ b/plg_finder_podcastmanager_podcasts/language/fr-CA/fr-CA.plg_finder_podcastmanager_podcasts.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_podcasts/language/fr-FR/fr-FR.plg_finder_podcastmanager_podcasts.sys.ini b/plg_finder_podcastmanager_podcasts/language/fr-FR/fr-FR.plg_finder_podcastmanager_podcasts.sys.ini index 524d1dd5..c8c2af78 100644 --- a/plg_finder_podcastmanager_podcasts/language/fr-FR/fr-FR.plg_finder_podcastmanager_podcasts.sys.ini +++ b/plg_finder_podcastmanager_podcasts/language/fr-FR/fr-FR.plg_finder_podcastmanager_podcasts.sys.ini @@ -1,8 +1,8 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -PLG_FINDER_PODCASTMANAGER_PODCASTS="Recherche intelligente - Les podcasts du Gestionnaire de Podcasts" -PLG_FINDER_PODCASTMANAGER_PODCASTS_ERROR_COMPONENT="Vous n'avez pas installé le Gestionnaire de Podcast. Svp veuillez l'installer avant d'installer ce plugin." -PLG_FINDER_PODCASTMANAGER_PODCASTS_XML_DESCRIPTION="Ce plugin indexe les podcasts du Gestionnaire de Podcast." +PLG_FINDER_PODCASTMANAGER_PODCASTS="Recherche avancée - Les podcasts de Podcast Manager" +PLG_FINDER_PODCASTMANAGER_PODCASTS_ERROR_COMPONENT="Vous n'avez pas installé Podcast Manager. Veuillez l'installer avant d'installer ce plugin." +PLG_FINDER_PODCASTMANAGER_PODCASTS_XML_DESCRIPTION="Ce plugin permet d'indexer les podcasts de Podcast Manager." diff --git a/plg_finder_podcastmanager_podcasts/language/id-ID/id-ID.plg_finder_podcastmanager_podcasts.sys.ini b/plg_finder_podcastmanager_podcasts/language/id-ID/id-ID.plg_finder_podcastmanager_podcasts.sys.ini index 529cdeae..15c67bec 100644 --- a/plg_finder_podcastmanager_podcasts/language/id-ID/id-ID.plg_finder_podcastmanager_podcasts.sys.ini +++ b/plg_finder_podcastmanager_podcasts/language/id-ID/id-ID.plg_finder_podcastmanager_podcasts.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.ini b/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.ini index b1e6e017..afde899d 100644 --- a/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.ini +++ b/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.sys.ini b/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.sys.ini index a9379eb8..aa4734cb 100644 --- a/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.sys.ini +++ b/plg_finder_podcastmanager_podcasts/language/pt-BR/pt-BR.plg_finder_podcastmanager_podcasts.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.php b/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.php index bc22d02f..77bc2687 100644 --- a/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.php +++ b/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_finder_podcastmanager_podcasts * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.xml b/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.xml index 109dbb47..6552bc07 100644 --- a/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.xml +++ b/plg_finder_podcastmanager_podcasts/podcastmanager_podcasts.xml @@ -3,9 +3,9 @@ plg_finder_podcastmanager_podcasts ##DATE## Michael Babker - (C) 2011-2014 Michael Babker + (C) 2011-2015 Michael Babker mbabker@flbab.com - http://www.babdev.com + https://www.babdev.com ##VERSION## GNU/GPL Version 2 or later PLG_FINDER_PODCASTMANAGER_PODCASTS_XML_DESCRIPTION diff --git a/plg_finder_podcastmanager_podcasts/script.php b/plg_finder_podcastmanager_podcasts/script.php index cc98afea..bfdbf013 100644 --- a/plg_finder_podcastmanager_podcasts/script.php +++ b/plg_finder_podcastmanager_podcasts/script.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_finder_podcastmanager_podcasts * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.ini b/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.ini index 06f81340..9b4fc6df 100644 --- a/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.ini +++ b/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.sys.ini b/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.sys.ini index 06f81340..9b4fc6df 100644 --- a/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.sys.ini +++ b/plg_podcastmedia_user/language/en-GB/en-GB.plg_podcastmedia_user.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.ini b/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.ini index 5f337557..bee7969f 100644 --- a/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.ini +++ b/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.sys.ini b/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.sys.ini index 5f337557..bee7969f 100644 --- a/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.sys.ini +++ b/plg_podcastmedia_user/language/fr-CA/fr-CA.plg_podcastmedia_user.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.ini b/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.ini index dda690f1..c8ff6145 100644 --- a/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.ini +++ b/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.ini @@ -1,7 +1,7 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -PLG_PODCASTMEDIA_USER="Podcast Manager: Gestionnaire de fichiers - Dossier utilisateur" -PLG_PODCASTMEDIA_USER_XML_DESCRIPTION="Le plug-in Répertoire d'utilisateur indique le champ de média pour l'édition du podcast afin que le répertoire par défaut sera le répertoire personnel de l'utilisateur dans le chemin par défaut" +PLG_PODCASTMEDIA_USER="Podcast Manager : Gestionnaire de fichiers - Répertoire utilisateur" +PLG_PODCASTMEDIA_USER_XML_DESCRIPTION="Le plugin Répertoire d'utilisateur indique le champ de média pour l'édition du podcast afin que le répertoire par défaut soit le répertoire personnel de l'utilisateur dans le chemin par défaut." diff --git a/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.sys.ini b/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.sys.ini index 9409fdbb..16e75fcd 100644 --- a/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.sys.ini +++ b/plg_podcastmedia_user/language/fr-FR/fr-FR.plg_podcastmedia_user.sys.ini @@ -1,7 +1,7 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" -PLG_PODCASTMEDIA_USER="Gestionnaire de podcast: Gestionnaire de fichiers - Annuaire d'utilisateurs" -PLG_PODCASTMEDIA_USER_XML_DESCRIPTION="Le plugin d'annuaire utilisateur indique au champ médias pour l'édition de podcasts que le répertoire par défaut sera le répertoire personnel de l'utilisateur dasn l'assignation du chemin par défaut" +PLG_PODCASTMEDIA_USER="Podcast Manager : Gestionnaire de fichiers - Répertoire de l'utilisateur" +PLG_PODCASTMEDIA_USER_XML_DESCRIPTION="Le plugin de répertoire de l'utilisateur permet de renseigner le champ média de l'éditeur de podcast et d'indiquer que le répertoire par défaut sera le répertoire personnel de l'utilisateur comme chemin par défaut." diff --git a/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.ini b/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.ini index 2bca2eda..64eaecff 100644 --- a/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.ini +++ b/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.sys.ini b/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.sys.ini index 2bca2eda..64eaecff 100644 --- a/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.sys.ini +++ b/plg_podcastmedia_user/language/id-ID/id-ID.plg_podcastmedia_user.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.ini b/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.ini index afc3aaeb..517731aa 100644 --- a/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.ini +++ b/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.sys.ini b/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.sys.ini index 7e78175d..8fcea6f2 100644 --- a/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.sys.ini +++ b/plg_podcastmedia_user/language/pt-BR/pt-BR.plg_podcastmedia_user.sys.ini @@ -1,5 +1,5 @@ ; Podcast Manager for Joomla! -; Copyright (C) 2011-2014 Michael Babker. All rights reserved. +; Copyright (C) 2011-2015 Michael Babker. All rights reserved. ; Note : All ini files need to be saved as UTF-8 - No BOM ; Double quotes in the values have to be formatted as "_QQ_" diff --git a/plg_podcastmedia_user/user.php b/plg_podcastmedia_user/user.php index cd15b4a2..d4fa4682 100644 --- a/plg_podcastmedia_user/user.php +++ b/plg_podcastmedia_user/user.php @@ -5,7 +5,7 @@ * @package PodcastManager * @subpackage plg_podcastmedia_user * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc diff --git a/plg_podcastmedia_user/user.xml b/plg_podcastmedia_user/user.xml index 53d01bd3..002b8fd4 100644 --- a/plg_podcastmedia_user/user.xml +++ b/plg_podcastmedia_user/user.xml @@ -3,9 +3,9 @@ plg_podcastmedia_user ##DATE## Michael Babker - (C) 2011-2014 Michael Babker + (C) 2011-2015 Michael Babker mbabker@flbab.com - http://www.babdev.com + https://www.babdev.com ##VERSION## GNU/GPL Version 2 or later PLG_PODCASTMEDIA_USER_XML_DESCRIPTION diff --git a/script.php b/script.php index 99103840..d276f045 100644 --- a/script.php +++ b/script.php @@ -4,7 +4,7 @@ * * @package PodcastManager * - * @copyright Copyright (C) 2011-2014 Michael Babker. All rights reserved. + * @copyright Copyright (C) 2011-2015 Michael Babker. All rights reserved. * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html * * Podcast Manager is based upon the ideas found in Podcast Suite created by Joe LeBlanc @@ -104,19 +104,22 @@ public function uninstall($parent) // Get the list of child folders $children = JFolder::folders($path); - // Process the child folders and remove their files - foreach ($children as $child) + if (count($children)) { - // Set the path for the child - $cPath = $path . '/' . $child; + // Process the child folders and remove their files + foreach ($children as $child) + { + // Set the path for the child + $cPath = $path . '/' . $child; - // Get the list of files - $files = JFolder::files($cPath); + // Get the list of files + $files = JFolder::files($cPath); - // Now, remove the files - foreach ($files as $file) - { - JFile::delete($cPath . '/' . $file); + // Now, remove the files + foreach ($files as $file) + { + JFile::delete($cPath . '/' . $file); + } } } }