Example #1
0
 /**
  * @param string $dirname
  *
  * @return bool|Xoops\Module\Helper\HelperAbstract
  */
 public static function getHelper($dirname = 'system')
 {
     static $modules = array();
     $dirname = strtolower($dirname);
     if (!isset($modules[$dirname])) {
         $modules[$dirname] = false;
         $xoops = \Xoops::getInstance();
         if ($xoops->isActiveModule($dirname)) {
             //Load Module helper if available
             if (\XoopsLoad::loadFile($xoops->path("modules/{$dirname}/class/helper.php"))) {
                 $className = '\\' . ucfirst($dirname);
                 if (class_exists($className)) {
                     $class = new $className();
                     if ($class instanceof \Xoops\Module\Helper\HelperAbstract) {
                         $modules[$dirname] = $class::getInstance();
                     }
                 }
             } else {
                 //Create Module Helper
                 $xoops->registry()->set('module_helper_id', $dirname);
                 $class = \Xoops\Module\Helper\Dummy::getInstance();
                 $class->setDirname($dirname);
                 $modules[$dirname] = $class;
             }
         }
     }
     return $modules[$dirname];
 }
Example #2
0
 /**
  * @param string $pluginName
  * @param array|bool $inactiveModules
  *
  * @return mixed
  */
 public static function getPlugins($pluginName = 'system', $inactiveModules = false)
 {
     static $plugins = array();
     if (!isset($plugins[$pluginName])) {
         $plugins[$pluginName] = array();
         $xoops = \Xoops::getInstance();
         //Load interface for this plugin
         if (!\XoopsLoad::loadFile($xoops->path("modules/{$pluginName}/class/plugin/interface.php"))) {
             return $plugins[$pluginName];
         }
         $dirnames = $xoops->getActiveModules();
         if (is_array($inactiveModules)) {
             $dirnames = array_merge($dirnames, $inactiveModules);
         }
         foreach ($dirnames as $dirname) {
             if (\XoopsLoad::loadFile($xoops->path("modules/{$dirname}/class/plugin/{$pluginName}.php"))) {
                 $className = '\\' . ucfirst($dirname) . ucfirst($pluginName) . 'Plugin';
                 $interface = '\\' . ucfirst($pluginName) . 'PluginInterface';
                 $class = new $className($dirname);
                 if ($class instanceof \Xoops\Module\Plugin\PluginAbstract && $class instanceof $interface) {
                     $plugins[$pluginName][$dirname] = $class;
                 }
             }
         }
     }
     return $plugins[$pluginName];
 }
Example #3
0
 /**
  * @param string $name
  */
 public function loadLanguage($name)
 {
     $helper = Menus::getInstance();
     $language = XoopsLocale::getLegacyLanguage();
     $path = $helper->path("decorators/{$name}/language");
     if (!($ret = XoopsLoad::loadFile("{$path}/{$language}/decorator.php"))) {
         $ret = XoopsLoad::loadFile("{$path}/english/decorator.php");
     }
     return $ret;
 }
Example #4
0
function xoops_module_pre_uninstall_notifications(&$module)
{
    $xoops = Xoops::getInstance();
    XoopsLoad::loadFile($xoops->path('modules/notifications/class/helper.php'));
    $helper = Notifications::getInstance();
    $plugins = \Xoops\Module\Plugin::getPlugins('notifications');
    foreach (array_keys($plugins) as $dirname) {
        $helper->deleteModuleRelations($xoops->getModuleByDirname($dirname));
    }
    return true;
}
Example #5
0
 /**
  * @param   string   $name       Name of language file to be loaded, without extension
  * @param   mixed    $domain     string: Module dirname; global language file will be loaded if $domain is set to 'global' or not specified
  *                               array:  example; array('Frameworks/moduleclasses/moduleadmin')
  * @param   string   $language   Language to be loaded, current language content will be loaded if not specified
  *
  * @return  boolean
  */
 public static function loadLanguage($name, $domain = '', $language = null)
 {
     if (empty($name)) {
         return false;
     }
     $language = empty($language) ? XoopsLocale::getLegacyLanguage() : $language;
     // expanded domain to multiple categories, e.g. module:system, framework:filter, etc.
     if (empty($domain) || 'global' == $domain) {
         $path = '';
     } else {
         $path = is_array($domain) ? array_shift($domain) : "modules/{$domain}";
     }
     $xoops = Xoops::getInstance();
     $fullPath = $xoops->path("{$path}/language/{$language}/{$name}.php");
     if (!($ret = XoopsLoad::loadFile($fullPath))) {
         $fullPath2 = $xoops->path("{$path}/language/english/{$name}.php");
         $ret = XoopsLoad::loadFile($fullPath2);
     }
     return $ret;
 }
Example #6
0
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //
// Author: Kazumi Ono (AKA onokazu)                                          //
// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //
// Project: The XOOPS Project                                                //
// ------------------------------------------------------------------------- //
use Xoops\Core\Kernel\Criteria;
use Xoops\Core\Kernel\CriteriaCompo;
use Xoops\Core\Request;
use Xoops\Core\FixedGroups;
$xoops = Xoops::getInstance();
// Check users rights
if (!$xoops->isUser() || !$xoops->isModule() || !$xoops->userIsAdmin) {
    exit(XoopsLocale::E_NO_ACCESS_PERMISSION);
}
XoopsLoad::loadFile($xoops->path('modules/system/admin/users/users.php'));
// Get Action type
$op = $system->cleanVars($_REQUEST, 'op', 'default', 'string');
$member_handler = $xoops->getHandlerMember();
// Call Header
$xoops->header('admin:system/system_users.tpl');
$myts = MyTextSanitizer::getInstance();
// Define Stylesheet
$xoops->theme()->addStylesheet('modules/system/css/admin.css');
// Define scripts
$xoops->theme()->addScript('modules/system/js/admin.js');
// Define Breadcrumb and tips
$system_breadcrumb->addLink(SystemLocale::USERS_MANAGEMENT, system_adminVersion('users', 'adminpath'));
$uid = $system->cleanVars($_REQUEST, 'uid', 0);
switch ($op) {
    // Edit user
Example #7
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  */
 protected function setUp()
 {
     $xoops = \Xoops::getInstance();
     \XoopsLoad::loadFile($xoops->path('class/template.php'));
     $this->object = new XoopsTpl();
 }
Example #8
0
 * @since           1.0
 * @author          Bandit-X
 * @author          trabis <*****@*****.**>
 * @author          Xoops Modules Dev Team
 * @version         $Id$
 */
// ######################################################################
// # Original version:
// # [11-may-2001] Kenneth Lee - http://www.nexgear.com/
// ######################################################################
include_once __DIR__ . '/header.php';
$xoops = Xoops::getInstance();
$publisher = Publisher::getInstance();
$xoops->header('module:publisher/publisher_archive.tpl');
$xoopsTpl = $xoops->tpl();
XoopsLoad::loadFile($publisher->path('footer.php'));
$lastyear = 0;
$lastmonth = 0;
$months_arr = array(1 => XoopsLocale::L_MONTH_JANUARY, 2 => XoopsLocale::L_MONTH_FEBRUARY, 3 => XoopsLocale::L_MONTH_MARCH, 4 => XoopsLocale::L_MONTH_APRIL, 5 => XoopsLocale::L_MONTH_MAY, 6 => XoopsLocale::L_MONTH_JUNE, 7 => XoopsLocale::L_MONTH_JULY, 8 => XoopsLocale::L_MONTH_AUGUST, 9 => XoopsLocale::L_MONTH_SEPTEMBER, 10 => XoopsLocale::L_MONTH_OCTOBER, 11 => XoopsLocale::L_MONTH_NOVEMBER, 12 => XoopsLocale::L_MONTH_DECEMBER);
$fromyear = Request::getInt('year');
$frommonth = Request::getInt('month');
$pgtitle = '';
if ($fromyear && $frommonth) {
    $pgtitle = sprintf(" - %d - %d", $fromyear, $frommonth);
}
$dateformat = $publisher->getConfig('format_date');
if ($dateformat == '') {
    $dateformat = 'm';
}
$myts = MyTextSanitizer::getInstance();
$xoopsTpl->assign('xoops_pagetitle', $myts->htmlSpecialChars(_MD_PUBLISHER_ARCHIVES) . $pgtitle . ' - ' . $myts->htmlSpecialChars($xoopsModule->getVar('name')));
Example #9
0
 function getCategories($respond = true)
 {
     global $xoopsDB;
     if (!$this->_checkUser($this->params[1], $this->params[2])) {
         $this->response->add(new XoopsXmlRpcFault(104));
     } else {
         if (!XoopsLoad::loadFile(\XoopsBaseConfig::get('root-path') . '/class/xoopstopic.php', true)) {
             $this->response->add(new XoopsXmlRpcFault(103));
             return;
         }
         //$this->db = xoopsDB;
         $xt = new XoopsTopic($xoopsDB->prefix('topics'));
         $ret = $xt->getTopicsList();
         if (!$respond) {
             return $ret;
         } else {
             if (count($ret) == 0) {
                 $this->response->add(new XoopsXmlRpcFault(106, 'Found 0 Entries'));
             } else {
                 $arr = new XoopsXmlRpcArray();
                 foreach ($ret as $topic_id => $topic_vars) {
                     $struct = new XoopsXmlRpcStruct();
                     $struct->add('categoryId', new XoopsXmlRpcString($topic_id));
                     $struct->add('categoryName', new XoopsXmlRpcString($topic_vars['title']));
                     $struct->add('categoryPid', new XoopsXmlRpcString($topic_vars['pid']));
                     $arr->add($struct);
                     unset($struct);
                 }
                 $this->response->add($arr);
             }
         }
     }
 }
Example #10
0
<?php

/*
You may not change or alter any portion of this comment or credits
of supporting developers from this source code or any supporting source code
which is considered copyrighted (c) material of the original comment or credit authors.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
 * @copyright       The XUUPS Project http://sourceforge.net/projects/xuups/
 * @license         GNU GPL V2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package         Publisher
 * @subpackage      Action
 * @since           1.0
 * @author          trabis <*****@*****.**>
 * @version         $Id$
 */
include_once dirname(dirname(__DIR__)) . '/mainfile.php';
include_once __DIR__ . '/include/common.php';
$publisher = Publisher::getInstance();
if ($publisher->getConfig('seo_url_rewrite') !== 'none') {
    XoopsLoad::loadFile($publisher->path('include/seo.inc.php'));
}
Example #11
0
$xoopsConfigSearch = $xoops->getConfigs();
if (empty($xoopsConfigSearch["enable_search"])) {
    $xoops->redirect(PUBLISHER_URL . "/index.php", 2, XoopsLocale::E_NO_ACCESS_PERMISSION);
}
$groups = $xoops->getUserGroups();
$gperm_handler = $publisher->getGrouppermHandler();
$module_id = $publisher->getModule()->mid();
//Checking permissions
if (!$publisher->getConfig('perm_search') || !$gperm_handler->checkRight('global', _PUBLISHER_SEARCH, $groups, $module_id)) {
    $xoops->redirect(PUBLISHER_URL, 2, XoopsLocale::E_NO_ACCESS_PERMISSION);
}
$xoops->disableModuleCache();
$xoops->header('module:publisher/publisher_search.tpl');
$xoopsTpl = $xoops->tpl();
$module_info_search = $publisher->getModule()->getInfo("search");
XoopsLoad::loadFile($publisher->path($module_info_search["file"]));
$limit = 10;
//$publisher->getConfig('idxcat_perpage');
$uid = 0;
$queries = array();
$andor = Request::getString('andor');
$start = Request::getInt('start');
$category = Request::getArray('category');
$username = Request::getString('uname');
$searchin = Request::getArray('searchin');
$sortby = Request::getString('sortby');
$term = Request::getString('term');
if (empty($category) || is_array($category) && in_array("all", $category)) {
    $category = array();
} else {
    $category = !is_array($category) ? explode(",", $category) : $category;
Example #12
0
<?php

/*
You may not change or alter any portion of this comment or credits
of supporting developers from this source code or any supporting source code
which is considered copyrighted (c) material of the original comment or credit authors.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
 * @copyright       The XUUPS Project http://sourceforge.net/projects/xuups/
 * @license         GNU GPL V2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package         Publisher
 * @since           1.0
 * @author          trabis <*****@*****.**>
 * @author          The SmartFactory <www.smartfactory.ca>
 */
include_once dirname(dirname(dirname(__DIR__))) . '/mainfile.php';
$xoops = Xoops::getInstance();
$publisher = Publisher::getInstance();
$publisher->loadLanguage('modinfo');
XoopsLoad::loadFile($xoops->path(dirname(__DIR__) . '/include/common.php'));
XoopsLoad::loadFile($xoops->path(XOOPS_ROOT_PATH . '/include/cp_header.php'));
Example #13
0
You may not change or alter any portion of this comment or credits
of supporting developers from this source code or any supporting source code
which is considered copyrighted (c) material of the original comment or credit authors.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
 *  Publisher class
 *
 * @copyright       The XUUPS Project http://sourceforge.net/projects/xuups/
 * @license         GNU GPL V2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package         Publisher
 * @since           1.0
 * @author          trabis <*****@*****.**>
 * @version         $Id$
 */
$xoops = \Xoops::getInstance();
define("PUBLISHER_DIRNAME", basename(dirname(__DIR__)));
define("PUBLISHER_URL", $xoops->url('modules/' . PUBLISHER_DIRNAME));
define("PUBLISHER_ADMIN_URL", PUBLISHER_URL . '/admin');
define("PUBLISHER_UPLOADS_URL", $xoops->url('uploads/' . PUBLISHER_DIRNAME));
define("PUBLISHER_ROOT_PATH", $xoops->path('modules/' . PUBLISHER_DIRNAME));
define("PUBLISHER_UPLOADS_PATH", $xoops->path('uploads/' . PUBLISHER_DIRNAME));
$path = dirname(__DIR__);
XoopsLoad::addMap(array('publishermetagen' => $path . '/class/metagen.php', 'publisher' => $path . '/class/helper.php', 'publisherutils' => $path . '/class/utils.php', 'publisherblockform' => $path . '/class/blockform.php'));
$publisher = Publisher::getInstance();
$publisher->loadLanguage('common');
XoopsLoad::loadFile($publisher->path('include/constants.php'));
Example #14
0
*/
use Xoops\Core\Kernel\Criteria;
use Xoops\Core\Kernel\CriteriaCompo;
/**
 *  Publisher form class
 *
 * @copyright       The XUUPS Project http://sourceforge.net/projects/xuups/
 * @license         GNU GPL V2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package         Publisher
 * @since           1.0
 * @author          trabis <*****@*****.**>
 * @version         $Id$
 */
include_once dirname(dirname(__DIR__)) . '/include/common.php';
$publisher = Publisher::getInstance();
XoopsLoad::loadFile($publisher->path('class/formdatetime.php'));
class PublisherItemForm extends Xoops\Form\SimpleForm
{
    private $_checkperm = true;
    private $_tabs = array(_CO_PUBLISHER_TAB_MAIN => '_mainTab', _CO_PUBLISHER_TAB_IMAGES => '_imagesTab', _CO_PUBLISHER_TAB_FILES => '_filesTab', _CO_PUBLISHER_TAB_OTHERS => '_othersTab');
    private $_mainTab = array(_PUBLISHER_SUBTITLE, _PUBLISHER_ITEM_SHORT_URL, _PUBLISHER_ITEM_TAG, _PUBLISHER_SUMMARY, _PUBLISHER_DOHTML, _PUBLISHER_DOSMILEY, _PUBLISHER_DOXCODE, _PUBLISHER_DOIMAGE, _PUBLISHER_DOLINEBREAK, _PUBLISHER_DATESUB, _PUBLISHER_STATUS, _PUBLISHER_AUTHOR_ALIAS, _PUBLISHER_NOTIFY, _PUBLISHER_AVAILABLE_PAGE_WRAP, _PUBLISHER_UID);
    private $_imagesTab = array(_PUBLISHER_IMAGE_ITEM);
    private $_filesTab = array(_PUBLISHER_ITEM_UPLOAD_FILE);
    private $_othersTab = array(_PUBLISHER_ITEM_META_KEYWORDS, _PUBLISHER_ITEM_META_DESCRIPTION, _PUBLISHER_WEIGHT, _PUBLISHER_ALLOWCOMMENTS);
    /**
     * @param PublisherItem $obj
     */
    public function __construct(PublisherItem $obj)
    {
        $xoops = Xoops::getInstance();
        $publisher = Publisher::getInstance();
Example #15
0
 /**
  * update
  *
  * @param string $mod module dirname
  *
  * @return mixed boolean false if failed, XoopsModule if success
  */
 public function update($mod = '')
 {
     $xoops = Xoops::getInstance();
     $module_handler = $xoops->getHandlerModule();
     $module = $module_handler->getByDirname($mod);
     $xoops->templateClearModuleCache($module->getVar('mid'));
     // Save current version for use in the update function
     $prev_version = $module->getVar('version');
     // we dont want to change the module name set by admin
     $temp_name = $module->getVar('name');
     $module->loadInfoAsVar($module->getVar('dirname'));
     $module->setVar('name', $temp_name);
     $module->setVar('last_update', time());
     if (!$module_handler->insertModule($module)) {
         $this->error[] = sprintf(XoopsLocale::EF_NOT_UPDATED, "<strong>" . $module->getVar('name') . "</strong>");
         return false;
     } else {
         // execute module specific preupdate script if any
         $update_script = $module->getInfo('onUpdate');
         if (false != $update_script && trim($update_script) != '') {
             XoopsLoad::loadFile($xoops->path('modules/' . $mod . '/' . trim($update_script)));
             $func = 'xoops_module_preupdate_' . $mod;
             if (function_exists($func)) {
                 $result = $func($module, $prev_version);
                 if (!$result) {
                     $this->trace[] = sprintf(XoopsLocale::EF_NOT_EXECUTED, $func);
                     $this->trace = array_merge($this->error, $module->getErrors());
                 } else {
                     $this->trace[] = sprintf(XoopsLocale::SF_EXECUTED, "<strong>{$func}</strong>");
                     $this->trace = array_merge($this->trace, $module->getMessages());
                 }
             }
         }
         // update schema
         $schema_file = $module->getInfo('schema');
         if (!empty($schema_file)) {
             $schema_file_path = \XoopsBaseConfig::get('root-path') . '/modules/' . $mod . '/' . $schema_file;
             if (!XoopsLoad::fileExists($schema_file_path)) {
                 $this->error[] = sprintf(SystemLocale::EF_SQL_FILE_NOT_FOUND, "<strong>{$schema_file}</strong>");
                 return false;
             }
             $importer = new ImportSchema();
             $importSchema = $importer->importSchemaArray(Yaml::read($schema_file_path));
             $synchronizer = new SingleDatabaseSynchronizer($xoops->db());
             $synchronizer->updateSchema($importSchema, true);
         }
         // delete templates
         $this->deleteTemplates($module);
         // install templates
         $this->installTemplates($module);
         // install blocks
         $this->installBlocks($module);
         // reset compile_id
         $xoops->tpl()->setCompileId();
         // first delete all config entries
         $this->deleteConfigs($module);
         // Install Configs
         $this->installConfigs($module, 'update');
         // execute module specific update script if any
         $update_script = $module->getInfo('onUpdate');
         if (false != $update_script && trim($update_script) != '') {
             XoopsLoad::loadFile($xoops->path('modules/' . $mod . '/' . trim($update_script)));
             $func = 'xoops_module_update_' . $mod;
             if (function_exists($func)) {
                 $result = $func($module, $prev_version);
                 if (!$result) {
                     $this->trace[] = sprintf(XoopsLocale::EF_NOT_EXECUTED, $func);
                     $this->trace = array_merge($this->error, $module->getErrors());
                 } else {
                     $this->trace[] = sprintf(XoopsLocale::SF_EXECUTED, "<strong>{$func}</strong>");
                     $this->trace = array_merge($this->trace, $module->getMessages());
                 }
             }
         }
         $this->trace[] = sprintf(XoopsLocale::SF_UPDATED, '<strong>' . $module->getVar('name', 's') . '</strong>');
         return $module;
     }
 }
Example #16
0
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
 * @copyright       The XUUPS Project http://sourceforge.net/projects/xuups/
 * @license         GNU GPL V2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package         Publisher
 * @since           1.0
 * @author          trabis <*****@*****.**>
 * @author          The SmartFactory <www.smartfactory.ca>
 * @version         $Id$
 */
$xoops = Xoops::getInstance();
XoopsLoad::loadFile($xoops->path(__DIR__ . '/include/constants.php'));
$modversion['name'] = _MI_PUBLISHER_MD_NAME;
$modversion['description'] = _MI_PUBLISHER_MD_DESC;
$modversion['version'] = 1.0;
$modversion['author'] = 'Trabis';
$modversion['nickname'] = 'Trabis';
$modversion['credits'] = "w4z004, hsalazar, Mithrandir, fx2024, Ackbarr, Mariuss, Marco, Michiel, phppp, outch, Xvitry, Catzwolf, Shine, McDonald, trabis, Mowaffak, Bandit-x, Shiva";
$modversion['help'] = 'page=help';
$modversion['license'] = 'GNU GPL 2.0';
$modversion['license_url'] = 'http://www.gnu.org/licenses/gpl-2.0.html';
$modversion['official'] = 0;
$modversion['dirname'] = basename(__DIR__);
$logo_filename = $modversion['dirname'] . '_logo.png';
if (XoopsLoad::fileExists(__DIR__ . '/images/' . $logo_filename)) {
    $modversion['image'] = "images/{$logo_filename}";
} else {