function getAliases($url) { $aliases = ""; $urls = MijoDatabase::loadObjectList("SELECT url_old FROM #__mijosef_urls_moved WHERE url_new = '{$url}' ORDER BY url_old"); if (!is_null($urls)) { foreach ($urls as $u) { $aliases .= $u->url_old . "\n"; } } return $aliases; }
function getURLs() { static $urls; if (!isset($urls) && !empty($this->_data)) { $items = ''; foreach ($this->_data as $item) { $items .= $item->id . ', '; } $items = rtrim($items, ', '); $select = 'u.url_sef, u.id, u.url_real, u.used'; $tables = '#__mijosef_urls AS u, #__mijosef_metadata AS m'; $where = "u.url_sef = m.url_sef AND m.id IN ({$items}) AND u.params LIKE '%\"notfound\":0%'"; $urls = MijoDatabase::loadObjectList("SELECT {$select} FROM {$tables} WHERE {$where} ORDER BY u.url_sef {$this->filter_order_Dir}"); } return $urls; }
function getEditDuplicates() { // Get vars $cid = JRequest::getVar('cid', array(0), 'method', 'array'); $id = $cid[0]; // Get URLs $rows = MijoDatabase::loadObjectList("SELECT * FROM #__mijosef_urls WHERE url_sef IN (SELECT url_sef FROM #__mijosef_urls WHERE id = '{$id}') ORDER BY url_real"); return $rows; }
function getCategoryList($query) { if (self::_is16()) { $field = 'extension'; } else { $field = 'section'; } $rows = MijoDatabase::loadObjectList("SELECT id, title AS name FROM #__categories WHERE {$field} = 'com_banners' ORDER BY title"); return $rows; }
function updateURLs($ext_id = "", $action = "") { $rows = ""; $where = ""; $sef = 0; $locked = 0; $custom = 0; // Get selections $urls_sef = JRequest::getInt('urls_sef', 0, 'post'); $urls_custom = JRequest::getInt('urls_custom', 0, 'post'); $urls_locked = JRequest::getInt('urls_locked', 0, 'post'); if (!empty($ext_id)) { $component = MijoDatabase::loadResult("SELECT extension FROM #__mijosef_extensions WHERE id = " . $ext_id); $where = " WHERE url_real LIKE '%option={$component}%' AND params LIKE '%\"notfound\":0%' AND params LIKE '%\"custom\":0%' AND params LIKE '%\"locked\":0%' AND params LIKE '%\"trashed\":0%'"; $rows = MijoDatabase::loadObjectList("SELECT url_sef, url_real FROM #__mijosef_urls{$where}"); return Mijosef::get('uri')->updateURLs($rows, $where); } if ($urls_sef) { $where = " WHERE params LIKE '%\"notfound\":0%' AND params LIKE '%\"custom\":0%' AND params LIKE '%\"locked\":0%' AND params LIKE '%\"trashed\":0%'"; $rows = MijoDatabase::loadObjectList("SELECT url_sef, url_real FROM #__mijosef_urls{$where}"); $sef = Mijosef::get('uri')->updateURLs($rows, $where); } if ($urls_custom) { $where = " WHERE params LIKE '%\"notfound\":0%' AND params LIKE '%\"custom\":1%' AND params LIKE '%\"locked\":0%' AND params LIKE '%\"trashed\":0%'"; $rows = MijoDatabase::loadObjectList("SELECT url_sef, url_real FROM #__mijosef_urls{$where}"); $custom = Mijosef::get('uri')->updateURLs($rows, $where); } if ($urls_locked) { $where = " WHERE params LIKE '%\"locked\":1%' AND params LIKE '%\"trashed\":0%'"; $rows = MijoDatabase::loadObjectList("SELECT url_sef, url_real FROM #__mijosef_urls{$where}"); $locked = Mijosef::get('uri')->updateURLs($rows, $where); } $rt = $sef + $custom + $locked; return $rt; }
function update($where = "", $fields) { // Get records $urls = MijoDatabase::loadObjectList("SELECT m.id, m.url_sef, u.url_real FROM #__mijosef_metadata AS m, #__mijosef_urls AS u WHERE m.url_sef = u.url_sef {$where}"); if (!empty($urls)) { $ret = ""; foreach ($urls as $i => $record) { $id = $record->id; $sef_url = $record->url_sef; $real_url = $record->url_real; if (!strpos($real_url, "option=")) { continue; } $component = Mijosef::get('utility')->getOptionFromRealURL($real_url); if (file_exists(JPATH_MIJOSEF_ADMIN . '/extensions/' . $component . '.php')) { $mijosef_ext = Mijosef::getExtension($component); $uri = Mijosef::get('uri')->_createURI($real_url); $mijosef_ext->beforeBuild($uri); $segments = array(); $do_sef = true; $meta = null; $item_limitstart = false; $vars = $uri->getQuery(true); $mijosef_ext->build($vars, $segments, $do_sef, $meta, $item_limitstart); if (is_array($meta) && count($meta) > 0 && !empty($fields) && is_array($fields)) { $metadata = ""; foreach ($fields as $index => $field) { if (!empty($meta[$field])) { $metadata .= "{$field} = '{$meta[$field]}', "; } } if (!empty($metadata)) { $metadata = rtrim($metadata, ', '); MijoDatabase::query("UPDATE #__mijosef_metadata SET {$metadata} WHERE id = {$id}"); $ret .= $sef_url . ' ===> ' . JText::_('COM_MIJOSEF_METADATA_UPDATED_OK') . '<br/>'; } else { $ret .= $sef_url . ' ===> ' . JText::_('COM_MIJOSEF_METADATA_UPDATED_CANT') . '<br/>'; } } else { $ret .= JText::_('COM_MIJOSEF_METADATA_UPDATED_NO'); } } else { $ret .= $sef_url . ' ===> ' . JText::_('COM_MIJOSEF_METADATA_UPDATED_NO_EXTENSION') . '<br/>'; } } return $ret; } else { return JText::_('COM_MIJOSEF_METADATA_UPDATED_NO'); } }
function backupDB($query, $file_name, $fields, $line) { $sql_data = ''; $rows = MijoDatabase::loadObjectList($query); if (!empty($rows)) { foreach ($rows as $row) { $values = array(); foreach ($fields as $field) { if (isset($row->{$field})) { $values[] = "'" . self::_cleanBackupFields($row->{$field}) . "'"; } else { $values[] = "''"; } } $sql_data .= $line . " VALUES (" . implode(', ', $values) . ");\n"; } } else { return false; } if (!headers_sent()) { // flush the output buffer while (ob_get_level() > 0) { ob_end_clean(); } ob_start(); header('Expires: 0'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); header('Pragma: public'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Accept-Ranges: bytes'); header('Content-Length: ' . strlen($sql_data)); header('Content-Type: Application/octet-stream'); header('Content-Disposition: attachment; filename="' . $file_name . '"'); header('Connection: close'); echo $sql_data; ob_end_flush(); die; return true; } else { return false; } }
function getBookmarks() { static $bookmarks; if (!isset($bookmarks)) { $bookmarks = MijoDatabase::loadObjectList("SELECT name, btype, html, placeholder FROM #__mijosef_bookmarks WHERE published = 1 ORDER BY name", "name"); } if (!empty($bookmarks)) { return $bookmarks; } return false; }
function getParams() { $params = MijoDatabase::loadObjectList("SELECT extension, params FROM #__mijosef_extensions", "extension"); return $params; }
function getExtensions() { static $extensions; if (!isset($extensions)) { $extensions = MijoDatabase::loadObjectList("SELECT * FROM #__mijosef_extensions WHERE name != '' ORDER BY name"); } return $extensions; }
function getCategoryList($query) { if (self::_is16()) { $rows = MijoDatabase::loadObjectList("SELECT id, title AS name, parent_id AS parent FROM #__categories WHERE parent_id > 0 AND published = 1 AND extension = 'com_content' ORDER BY parent_id, lft"); } else { $rows = MijoDatabase::loadObjectList("SELECT c.id, CONCAT_WS(' / ', s.title, c.title) AS name FROM #__categories AS c, #__sections AS s WHERE s.scope = 'content' AND c.section = s.id ORDER BY s.title, c.title"); } return $rows; }