public function moveurltovideo() { $db = JFactory::getDBO(); $db->setQuery('SELECT * FROM #__djmt_items'); $items = $db->loadObjectList(); $moved = 0; foreach ($items as $item) { $item->params = new JRegistry($item->params); $linktype = explode(';', $item->params->get('link_type', '')); if ($linktype[0] == 'url') { $video = DJVideoHelper::getVideo($item->params->get('link_url')); if (count($video->getErrors())) { continue; } // not a video link if (empty($video->embed)) { continue; } $db->setQuery('UPDATE #__djmt_items SET video=' . $db->quote($video->embed) . ' WHERE id=' . $item->id . ' AND (video IS NULL OR video=\'\')'); $db->query(); $moved++; } } $this->setRedirect(JRoute::_('index.php?option=com_djmediatools', false), 'Url link parameter moved to Video link successfully.'); return true; }
function postflight($type, $parent) { $db = JFactory::getDBO(); if ($type == 'install') { $db->setQuery("UPDATE #__extensions SET enabled=1 WHERE type='plugin' AND (element='djmediatools' OR folder='djmediatools')"); $db->query(); } if ($type == 'update') { defined('DS') or define('DS', DIRECTORY_SEPARATOR); // fix doubled single album view if (version_compare($this->oldrelease, '2.0.0', 'lt')) { $path = JPATH_ROOT . DS . 'components' . DS . 'com_djmediatools' . DS . 'views' . DS . 'item' . DS . 'tmpl' . DS . 'default.xml'; //JFactory::getApplication()->enqueueMessage($path); if (JFile::exists($path)) { @unlink($path); } } // fix video column for updates from verion 1.3.4 to 1.4.beta2 $fixvideo = false; if (version_compare($this->oldrelease, '1.3.4', 'ge') && version_compare($this->oldrelease, '1.4.beta3', 'lt')) { $config = JFactory::getConfig(); $app = JFactory::getApplication(); $db->setQuery("SELECT count(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '" . $config->get('dbprefix') . "djmt_items' AND table_schema = '" . $config->get('db') . "' AND column_name = 'video'"); $result = $db->loadResult(); if (!$result) { $db->setQuery("ALTER TABLE `" . $config->get('dbprefix') . "djmt_items` ADD `video` VARCHAR( 255 ) NULL DEFAULT NULL AFTER `image`"); $db->query(); $fixvideo = true; } } // convert old video links into video field if ($fixvideo || version_compare($this->oldrelease, '1.3.4', 'lt')) { require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_djmediatools' . DS . 'lib' . DS . 'video.php'; $db->setQuery('SELECT * FROM #__djmt_items'); $items = $db->loadObjectList(); foreach ($items as $item) { $item->params = new JRegistry($item->params); $linktype = explode(';', $item->params->get('link_type', '')); if ($linktype[0] == 'video') { $video = DJVideoHelper::getVideo($item->params->get('video_link')); $db->setQuery('UPDATE #__djmt_items SET video=' . $db->quote($video->embed) . ' WHERE id=' . $item->id); $db->query(); } } } } }
function postflight($type, $parent) { $db = JFactory::getDBO(); $config = JFactory::getConfig(); if ($type == 'install') { $db->setQuery("UPDATE #__extensions SET enabled=1 WHERE type='plugin' AND (element='djmediatools' OR folder='djmediatools')"); $db->query(); } if ($type == 'update') { defined('DS') or define('DS', DIRECTORY_SEPARATOR); // fix doubled single album view if (version_compare($this->oldrelease, '2.0.0', 'lt')) { $path = JPATH_ROOT . DS . 'components' . DS . 'com_djmediatools' . DS . 'views' . DS . 'item' . DS . 'tmpl' . DS . 'default.xml'; //JFactory::getApplication()->enqueueMessage($path); if (JFile::exists($path)) { @unlink($path); } } // fix video column for updates from verion 1.3.4 to 1.4.beta2 $fixvideo = false; if (version_compare($this->oldrelease, '1.3.4', 'ge') && version_compare($this->oldrelease, '1.4.beta3', 'lt')) { $app = JFactory::getApplication(); $db->setQuery("SELECT count(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '" . $config->get('dbprefix') . "djmt_items' AND table_schema = '" . $config->get('db') . "' AND column_name = 'video'"); $result = $db->loadResult(); if (!$result) { $db->setQuery("ALTER TABLE `" . $config->get('dbprefix') . "djmt_items` ADD `video` VARCHAR( 255 ) NULL DEFAULT NULL AFTER `image`"); $db->query(); $fixvideo = true; } } // convert old video links into video field if ($fixvideo || version_compare($this->oldrelease, '1.3.4', 'lt')) { require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_djmediatools' . DS . 'lib' . DS . 'video.php'; $db->setQuery('SELECT * FROM #__djmt_items'); $items = $db->loadObjectList(); foreach ($items as $item) { $item->params = new JRegistry($item->params); $linktype = explode(';', $item->params->get('link_type', '')); if ($linktype[0] == 'video') { $video = DJVideoHelper::getVideo($item->params->get('video_link')); $db->setQuery('UPDATE #__djmt_items SET video=' . $db->quote($video->embed) . ' WHERE id=' . $item->id); $db->query(); } } } $db->setQuery("SELECT count(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '" . $config->get('dbprefix') . "djmt_albums' AND table_schema = '" . $config->get('db') . "' AND column_name = 'folder'"); $result = $db->loadResult(); if (!$result) { $db->setQuery("ALTER TABLE `" . $config->get('dbprefix') . "djmt_albums` ADD `folder` VARCHAR( 255 ) NULL DEFAULT NULL AFTER `alias`"); $db->query(); } // move images from joomla root to proper folder if (version_compare($this->oldrelease, '2.3.1', 'le')) { $db->setQuery("SELECT i.id, i.image, a.folder, a.id as aid, a.alias FROM #__djmt_items i, #__djmt_albums a WHERE i.catid=a.id AND i.publish_up > '2014-12-10 00:00:00'"); $items = $db->loadObjectList(); foreach ($items as $item) { if (strpos($item->image, 'images/') !== 0 && strcasecmp(substr($item->image, 0, 4), 'http') != 0 || strpos($item->image, 'images/djmediatools/0-/') === 0) { if (empty($item->folder) || $item->folder == 'images/djmediatools/0-') { $item->folder = 'images/djmediatools/' . $item->aid . '-' . $item->alias; } $tmpPath = JPATH_ROOT . (strpos($item->image, '/') !== 0 ? DS : '') . str_replace('/', DS, $item->image); $path = JPATH_ROOT . DS . str_replace('/', DS, $item->folder); JFolder::create($path); $filename = JFile::getName($item->image); $name = JFile::stripExt($filename); $ext = JFile::getExt($filename); // prevent overriding the existing file with the same name if (JFile::exists($path . DS . $filename)) { $iterator = 1; $newname = $name . '.' . $iterator . '.' . $ext; while (JFile::exists($path . DS . $newname)) { $iterator++; $newname = $name . '.' . $iterator . '.' . $ext; } $filename = $newname; } if (JFile::move($tmpPath, $path . DS . $filename)) { $db->setQuery('UPDATE #__djmt_items SET image=' . $db->quote($item->folder . '/' . $filename) . ' WHERE id=' . $item->id); $db->query(); } } } $db->setQuery("SELECT id, image, folder, alias FROM #__djmt_albums"); $items = $db->loadObjectList(); foreach ($items as $item) { if ($item->folder == 'images/djmediatools/0-') { $item->folder = 'images/djmediatools/' . $item->id . '-' . $item->alias; $db->setQuery('UPDATE #__djmt_albums SET folder=' . $db->quote($item->folder) . ' WHERE id=' . $item->id); $db->query(); } if (strpos($item->image, 'images/djmediatools/0-/') === 0) { $item->image = str_replace('images/djmediatools/0-', $item->folder, $item->image); $db->setQuery('UPDATE #__djmt_albums SET image=' . $db->quote($item->image) . ' WHERE id=' . $item->id); $db->query(); } if (strpos($item->image, 'images/') !== 0 && strcasecmp(substr($item->image, 0, 4), 'http') != 0) { $db->setQuery('UPDATE #__djmt_albums SET image=' . $db->quote($item->folder . $item->image) . ' WHERE id=' . $item->id); $db->query(); } } } } $src = JPath::clean(JPATH_ROOT . '/media/djmediatools/djextensions/js'); $dst = JPath::clean(JPATH_ROOT . '/media/djextensions/js'); if (JFolder::exists($src)) { JFolder::create(JPath::clean(JPATH_ROOT . '/media/djextensions')); JFolder::move($src, $dst); JFolder::delete(JPath::clean(JPATH_ROOT . '/media/djmediatools/djextensions')); } }