コード例 #1
0
 function show(&$environment, $option)
 {
     $dirName = $environment->getDirName();
     static $id = 0;
     if (defined('MYGMAP_GMAPI_INCLUDED')) {
         $block['gmapi_include'] = 0;
     } else {
         $block['gmapi_include'] = 1;
         define('MYGMAP_GMAPI_INCLUDED', 1);
     }
     $markerHandler =& NBFrame::getHandler('MyGmapMarker', $environment);
     $markerObject =& $markerHandler->get($option[0]);
     if ($markerObject) {
         $configHandler =& NBFrame::getHandler('NBFrame.xoops.Config', NBFrame::null());
         $block['mygmap_API'] = $configHandler->getModuleConfig($dirName, 'mygmap_api');
         $block['dirname'] = $dirName;
         $block['divid'] = 'mygmap_mini_' . $id;
         $id++;
         $block['id'] = $markerObject->getVar('mygmap_marker_id');
         $block['category_id'] = $markerObject->getVar('mygmap_marker_category_id');
         $block['title'] = $markerObject->getVar('mygmap_marker_title');
         $block['lat'] = $markerObject->getVar('mygmap_marker_lat');
         $block['lng'] = $markerObject->getVar('mygmap_marker_lng');
         $block['zoom'] = $markerObject->getVar('mygmap_marker_zoom');
         $block['maptype'] = $markerObject->getVar('mygmap_marker_maptype');
         return $block;
     } else {
         return null;
     }
 }
コード例 #2
0
 function &getVar_modules($value, $format)
 {
     if ($value === null) {
         $blockModuleLinkHandler =& NBFrame::getHandler('NBFrame.xoops.BlockModuleLink', NBFrame::null());
         $criteria =& new Criteria('block_id', $this->get('bid'));
         $resultSet = $blockModuleLinkHandler->open($criteria);
         $value = array();
         while ($row = $blockModuleLinkHandler->db->fetchArray($resultSet)) {
             $value[] = intval($row['module_id']);
         }
         $this->vars['modules']['value'] = $value;
     }
     return $value;
 }
コード例 #3
0
 function setModuleConfig($dirName, $confName, $confValue, $categoryId = 0)
 {
     $moduleHandler =& NBFrame::getHandler('NBFrame.xoops.Module', NBFrame::null());
     $moduleObject =& $moduleHandler->getByDirname($dirName);
     $moduleId = $moduleObject->getVar('mid');
     $criteria = new CriteriaCompo(new Criteria('conf_modid', $moduleId));
     $criteria->add(new Criteria('conf_catid', $categoryId));
     $criteria->add(new Criteria('conf_name', $confName));
     $configObjects = $this->getObjects($criteria, false);
     if (count($configObjects) == 1) {
         $configObjects[0]->setVar('conf_value', $confValue);
         $this->insert($configObjects[0]);
     }
     if (empty($this->_moduleConfigCache[$dirName])) {
         $this->_moduleConfigCache[$moduleId][$categoryId][$confName] = $confValue;
     }
     return $value;
 }
コード例 #4
0
 function setCaption($caption)
 {
     $this->mCaptionOrig = $caption;
     $nullLanguageManager =& new NBFrameLanguage(NBFrame::null());
     $url = NBFrame::getCurrentURL();
     $url = NBFrame::removeQueryArgs($url, array($this->mGetPrefix . '_html', $this->mGetPrefix . '_xcode'));
     if ($this->mUseHtmlEditor) {
         $url = NBFrame::addQueryArgs($url, array($this->mGetPrefix . '_xcode' => '1'));
         $desc = '<br /><small>&nbsp;<a href="' . $url . '">' . $nullLanguageManager->__l('Switching to XCode Editor') . '</a></small>';
     } else {
         if ($this->mCanUseHtmlEditor) {
             $url = NBFrame::addQueryArgs($url, array($this->mGetPrefix . '_html' => '1'));
             $desc = '<br /><small>&nbsp;<a href="' . $url . '">' . $nullLanguageManager->__l('Switching to HTML Editor') . '</a></small>';
         } else {
             $desc = '';
         }
     }
     parent::setCaption($this->mCaptionOrig . $desc);
 }
コード例 #5
0
 function executeGpermOp()
 {
     $mid = $GLOBALS['xoopsModule']->getVar('mid');
     $criteria =& new Criteria('mid', $mid);
     $this->mObjects =& $this->mObjectHandler->getObjects($criteria);
     $groupPermHandler =& NBFrame::getHandler('NBFrame.xoops.GroupPerm', NBFrame::null());
     foreach ($this->mGroupPermSysKeys as $groupPermKey) {
         $this->mRequest->defParam('gperm_' . $groupPermKey, 'POST', 'array-int', array());
         $groups = $this->mRequest->getParam('gperm_' . $groupPermKey);
         $groupPermHandler->setRight($groupPermKey, $mid, $groups, 1);
     }
     foreach ($this->mGroupPermModuleKeys as $groupPermKey) {
         $this->mRequest->defParam('gperm_' . $groupPermKey, 'POST', 'array-int', array());
         $groups = $this->mRequest->getParam('gperm_' . $groupPermKey);
         $groupPermHandler->setRight($groupPermKey, 1, $groups, $mid);
     }
     foreach ($this->mObjects as $object) {
         $bid = $object->getKey();
         $this->mRequest->defParam('gperm_block_read_' . $bid, 'POST', 'array-int', array());
         $groups = $this->mRequest->getParam('gperm_block_read_' . $bid);
         $groupPermHandler->setRight('block_read', $bid, $groups, 1);
     }
     return NBFRAME_ACTION_SUCCESS;
 }
コード例 #6
0
 function executeDefaultOp()
 {
     if ($GLOBALS['xoopsUserIsAdmin']) {
         $this->mRequest->defParam('lat', 'POST', 'float', NBFRAME_NO_DEFAULT_PARAM, true);
         $this->mRequest->defParam('lng', 'POST', 'float', NBFRAME_NO_DEFAULT_PARAM, true);
         $this->mRequest->defParam('zoom', 'POST', 'int', NBFRAME_NO_DEFAULT_PARAM, true);
         if (!$this->mRequest->hasError()) {
             $params = $this->mRequest->getParam();
             $update_configs = array('mygmap_lat', 'mygmap_lng', 'mygmap_zoom');
             $update_vars = array('mygmap_lat' => $params['lat'], 'mygmap_lng' => $params['lng'], 'mygmap_zoom' => $params['zoom']);
             $configHandler =& NBFrame::getHandler('NBFrame.xoops.Config', NBFrame::null());
             foreach ($update_vars as $conf_name => $conf_value) {
                 $configHandler->setModuleConfig($this->mDirName, $conf_name, $conf_value);
             }
             return NBFRAME_ACTION_SUCCESS;
         } else {
             $this->mErrorMsg = $this->__e('Invalid Operation');
             return NBFRAME_ACTION_ERROR;
         }
     } else {
         $this->mErrorMsg = $this->__e('Permission Error');
         return NBFRAME_ACTION_ERROR;
     }
 }
コード例 #7
0
 function setRightByObjectKey($gpermName, &$gpermObject, $gpermGroupIds)
 {
     if (is_object($gpermObject->mHandler)) {
         $environment =& $gpermObject->mHandler->mEnvironment;
     } else {
         $environment = null;
     }
     if (!empty($environment)) {
         $moduleHandler =& NBFrame::getHandler('NBFrame.xoops.Module', NBFrame::null());
         $moduleObject =& $environment->getModule();
     } else {
         $moduleObject =& $GLOBALS['xoopsModule'];
     }
     $moduleID = $moduleObject->get('mid');
     $this->setRight($gpermName, $gpermObject->getKey(), $gpermGroupIds, $moduleID);
 }
コード例 #8
0
 function checkAltSys($dirOnly = true)
 {
     if (defined('XOOPS_TRUST_PATH')) {
         if (is_dir(XOOPS_TRUST_PATH . '/libs/altsys')) {
             if ($dirOnly) {
                 return true;
             } else {
                 $moduleHandler =& NBFrame::getHandler('NBFrame.xoops.Module', NBFrame::null());
                 if ($moduleHandler->getByDirname('altsys')) {
                     return true;
                 }
             }
         }
     }
     return false;
 }
コード例 #9
0
 function &getModule()
 {
     if (!is_object($this->mModule)) {
         $moduleHandler =& NBFrame::getHandler('NBFrame.xoops.Module', NBFrame::null());
         $this->mModule =& $moduleHandler->getByEnvironment($this);
         if (is_object($this->mModule)) {
             $this->mModule->getInfo();
         }
     }
     return $this->mModule;
 }
コード例 #10
0
 /**
  * レコードの削除
  *
  * @param   NBFrameObject  $record
  * @param   bool    $force      POSTメソッド以外で強制更新する場合はture
  *
  * @return  bool    成功の時は TRUE
  */
 function delete(&$record, $force = false)
 {
     if (is_a($record, 'NBFrameObject') && $record->mClassName != $this->mEntityClassName) {
         return false;
     }
     if (!$record->cleanVars()) {
         $this->mErrors[] = $this->db->error();
         return false;
     }
     $vars = $record->getVars();
     $whereList = "";
     $whereDelim = "";
     foreach ($record->cleanVars as $field => $value) {
         if ($record->isKey($field)) {
             if ($vars[$field]['data_type'] == XOBJ_DTYPE_INT || $vars[$field]['data_type'] == XOBJ_DTYPE_FLOAT) {
                 $value = $value;
             } else {
                 $value = $this->db->quoteString($value);
             }
             $whereList .= $whereDelim . "`{$field}` = " . $value;
             $whereDelim = " AND ";
         }
     }
     $sql = sprintf("DELETE FROM %s WHERE %s", $this->mTableName, $whereList);
     if (!($result =& $this->query($sql, $force))) {
         return false;
     }
     if (count($record->mGroupPermAttrib) > 0) {
         $groupPermHandler =& NBFrame::getHandler('NBFrame.xoops.GroupPerm', NBFrame::null());
         foreach ($record->mGroupPermAttrib as $field => $permKey) {
             $groupPermHandler->setRightByObjectKey($permKey, $record, array());
         }
     }
     return true;
 }
コード例 #11
0
$noCommonActions[] = 'NBFrame.GetModuleIcon';
$noCommonActions[] = 'NBFrame.GetImage';
$noCommonActions[] = 'NBFrame.LoadCalendarJS';
$environment->setAttribute('NoCommonAction', $noCommonActions);
if (empty($_REQUEST['action']) || !in_array($_REQUEST['action'], $noCommonActions)) {
    require_once XOOPS_ROOT_PATH . '/include/common.php';
} else {
    foreach (array('GLOBALS', '_SESSION', 'HTTP_SESSION_VARS', '_GET', 'HTTP_GET_VARS', '_POST', 'HTTP_POST_VARS', '_COOKIE', 'HTTP_COOKIE_VARS', '_REQUEST', '_SERVER', 'HTTP_SERVER_VARS', '_ENV', 'HTTP_ENV_VARS', '_FILES', 'HTTP_POST_FILES') as $bad_global) {
        if (isset($_REQUEST[$bad_global])) {
            exit;
        }
    }
    if (class_exists('XCube_Root')) {
        $root =& XCube_Root::getSingleton();
        $root->mController->executeCommonSubset(true);
        $configHandler =& NBFrame::getHandler('NBFrame.xoops.Config', NBFrame::null());
        $language = $configHandler->getConfig('language');
        $filename = XOOPS_MODULE_PATH . '/legacy/language/' . $language . '/charset_' . XOOPS_DB_TYPE . '.php';
        if (file_exists($filename)) {
            require_once $filename;
        }
    } else {
        if (empty($GLOBALS['xoopsDB'])) {
            require_once XOOPS_ROOT_PATH . '/include/functions.php';
            require_once XOOPS_ROOT_PATH . '/class/errorhandler.php';
            require_once XOOPS_ROOT_PATH . '/class/logger.php';
            require_once XOOPS_ROOT_PATH . '/include/functions.php';
            require_once XOOPS_ROOT_PATH . '/class/database/databasefactory.php';
            require_once XOOPS_ROOT_PATH . '/kernel/object.php';
            require_once XOOPS_ROOT_PATH . '/class/criteria.php';
            require_once XOOPS_ROOT_PATH . '/class/module.textsanitizer.php';
コード例 #12
0
 function checkRight($perm, $bypassAdminCheck = false)
 {
     $groupPermHandler =& NBFrame::getHandler('NBFrame.xoops.GroupPerm', NBFrame::null());
     return $groupPermHandler->checkRightByObjectKey($perm, $this, $bypassAdminCheck);
 }