* * @PlayJoom Component * @copyright Copyright (C) 2010-2011 by www.teglo.info * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL * @date $Date: 2011-05-19 21:40:50 +0200 (Do, 19 Mai 2011) $ * @revision $Revision: 187 $ * @author $Author: toto $ * @headurl $HeadURL: http://localhost/repos/playjoom/components/com_playjoom/views/infoabout/tmpl/default.php $ */ // No direct access to this file defined('_JEXEC') or die('Restricted access'); // load tooltip behavior JHtml::_('behavior.tooltip'); // add style sheet if ($this->params->get('css_type', 'pj_css') == 'pj_css') { $document =& JFactory::getDocument(); $document->addStyleSheet(JURI::base(true) . '/components/com_playjoom/assets/css/infoabout_view.css'); } //Set variablen $type = JRequest::getVar('type'); $about = base64_decode(JRequest::getVar('about')); $source = JRequest::getVar('source'); echo '<fieldset class="infoabout">'; $WikiText = PlayJoomWikiHelper::getcontent(JRequest::getVar($type), 'de'); $content = $WikiText['parse']['text']['*']; echo preg_replace('/href="\\/wiki/', 'href="http://de.wikipedia.org/wiki', $content); //Out the footrow echo '<br />'; echo '<br />'; echo '<center><button type="button" onclick="window.parent.SqueezeBox.close();">' . JText::_('COM_PLAYJOOM_ADDTRACK_LABEL_CLOSE') . '</button></center>'; echo '</fieldset>';
function CheckWikiContent($title, $wikilang) { $title = preg_replace("/ /", "_", $title); $data = array('action' => 'query', 'prop' => 'info', 'rvprop' => 'content', 'titles' => $title, 'format' => 'php'); list($header, $content) = PlayJoomWikiHelper::PostRequest('http://' . $wikilang . '.wikipedia.org/w/api.php', 'http://' . $_SERVER['REMOTE_ADDR'], $data); PlayJoomWikiHelper::parsecookies($header); $content = unserialize($content); $info = $content['query']['pages']; foreach ($info as $k => $v) { $pageid = $k; } $pagedata = array(); $pagedata['pageid'] = $pageid; $pagedata['ns'] = $info[$pageid]['ns']; $pagedata['title'] = $info[$pageid]['title']; $pagedata['missing'] = isset($info[$pageid]['missing']) ? (int) 1 : (int) 0; return $pagedata; }
public static function checkInfoAbout($type, $AboutInfo, $params) { if ($params->get('info_source', 'owndb') == 'wiki') { require_once JPATH_COMPONENT . '/apis/wiki.php'; } if ($params->get('info_source', 'owndb') == 'lastfm') { require_once JPATH_COMPONENT . '/apis/lastfm.php'; } $db = JFactory::getDBO(); $query = $db->getQuery(true); switch ($type) { case "album": $About = base64_decode($AboutInfo['album']); $query->select('title,album_release,label,production,infotxt'); $query->from('#__jpalbums'); $query->where('title = "' . $About . '"'); $db->setQuery($query); $checkResult = $db->loadObject(); if ($db->loadObject() && $checkResult->infotxt != '') { return array('source' => 'db', 'album' => $About, 'artist' => null, 'genre' => null); } else { /* * wiki source */ if ($params->get('info_source', 'owndb') == 'wiki') { $PageID = PlayJoomWikiHelper::CheckWikiContent($About, 'de'); if ($PageID['pageid'] != '') { return array('source' => 'wiki', 'album' => $PageID['pageid'], 'artist' => null, 'genre' => null); } else { return array('source' => null, 'artist' => null, 'album' => null, 'genre' => null); } } else { if ($params->get('info_source', 'owndb') == 'lastfm') { $ContentExist = PlayJoomLastfmHelper::CheckLastfmContent($type, $AboutInfo); if ($ContentExist == true) { return array('source' => 'lastfm', 'album' => $About, 'artist' => base64_decode($AboutInfo['artist']), 'genre' => null); } else { return array('source' => null, 'artist' => null, 'album' => null, 'genre' => null); } } } } break; case "artist": $About = base64_decode($AboutInfo['artist']); $query->select('name,formation,members,infotxt'); $query->from('#__jpartists'); $query->where('name = "' . $About . '"'); $db->setQuery($query); $checkResult = $db->loadObject(); if ($db->loadObject() && $checkResult->infotxt != '') { return array('source' => 'db', 'artist' => $About, 'album' => null, 'genre' => null); } else { /* * wiki source */ if ($params->get('info_source', 'owndb') == 'wiki') { $PageID = PlayJoomWikiHelper::CheckWikiContent($About, 'de'); if ($PageID['pageid'] != '') { return array('source' => 'wiki', 'artist' => $PageID['pageid'], 'album' => null, 'genre' => null); } else { return array('source' => null, 'artist' => null, 'album' => null, 'genre' => null); } } else { if ($params->get('info_source', 'owndb') == 'lastfm') { $ContentExist = PlayJoomLastfmHelper::CheckLastfmContent($type, $AboutInfo); if ($ContentExist == true) { return array('source' => 'lastfm', 'album' => $About, 'artist' => base64_decode($AboutInfo['artist']), 'genre' => null); } else { return array('source' => null, 'artist' => null, 'album' => null, 'genre' => null); } } } } break; case "genre": $About = base64_decode($AboutInfo['genre']); $query->select('title,description'); $query->from('#__categories'); $query->where('extension = "com_playjoom"'); $query->where('title = "' . $About . '"'); $db->setQuery($query); $checkResult = $db->loadObject(); if ($db->loadObject() && $checkResult->description != '') { return array('source' => 'db', 'album' => null, 'artist' => null, 'genre' => $About); } else { /* * wiki source */ if ($params->get('info_source', 'owndb') == 'wiki') { $PageID = PlayJoomWikiHelper::CheckWikiContent($About, 'de'); if ($PageID['pageid'] != '') { return array('source' => 'wiki', 'value' => $PageID['pageid']); } else { return array('source' => null, 'artist' => null, 'album' => null, 'genre' => null); } } else { if ($params->get('info_source', 'owndb') == 'lastfm') { } } } break; case "track": $query->select('title,description'); $query->from('#__jpaudiotracks'); $query->where('id = "' . $about . '"'); $db->setQuery($query); $checkResult = $db->loadObject(); if ($db->loadObject() && $checkResult->description != '') { return array('source' => 'db', 'value' => 'true'); } else { return null; } break; default: return null; } }