setQuery( $query ); return $database->loadResult(); } /** * Loads admin modules via module position * @param string The position * @param int 0 = no style, 1 = tabbed */ function mosLoadAdminModules( $position='left', $style=0 ) { global $database, $acl, $my; $cache =& mosCache::getCache( 'com_content' ); $query = "SELECT id, title, module, position, content, showtitle, params" . "\n FROM #__modules AS m" . "\n WHERE m.published = '1'" . "\n AND m.position='$position'" . "\n AND (m.client_id = 1)" . "\n ORDER BY m.ordering"; $database->setQuery( $query ); $modules = $database->loadObjectList(); if($database->getErrorNum()) { echo "MA ".$database->stderr(true); return; } switch ($style) { case 0: default: foreach ($modules as $module) { $params =& new mosParameters( $module->params ); if ( $module->module == '' ) { mosLoadCustomModule( $module, $params ); } else { mosLoadAdminModule( substr( $module->module, 4 ), $params ); } } break; case 1: // Tabs $tabs = new mosTabs(1); $tabs->startPane( 'modules-' . $position ); foreach ($modules as $module) { $params =& new mosParameters( $module->params ); $editAllComponents = $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ); // special handling for components module if ( $module->module != 'mod_components' || ( $module->module == 'mod_components' && $editAllComponents ) ) { $tabs->startTab( $module->title, 'module' . $module->id ); if ( $module->module == '' ) { mosLoadCustomModule( $module, $params ); } else { mosLoadAdminModule( substr( $module->module, 4 ), $params ); } $tabs->endTab(); } } $tabs->endPane(); break; case 2: // Div'd foreach ($modules as $module) { $params =& new mosParameters( $module->params ); echo '
| ' . $module->content . ' | '; echo '
| Please make cache directory writable. | '; echo '
| '; echo $currChannel->getTitle() .' | '; echo '
| '. $currChannel->getDescription() .' | '; echo '
| '; echo $currItem->getTitle() .' - '. $currItem->getDescription() .' | '; echo '
";
if ($withLineNums) {
$txt .= "";
$txt .= str_replace( ' ', ' ', sprintf( "%4d:", $ln ) );
$txt .= "";
}
$txt .= "$line
";
$ln++;
}
return $txt;
}
function mosIsChmodable($file)
{
$perms = fileperms($file);
if ($perms !== FALSE)
if (@chmod($file, $perms ^ 0001)) {
@chmod($file, $perms);
return TRUE;
} // if
return FALSE;
} // mosIsChmodable
/**
* @param string An existing base path
* @param string A path to create from the base path
* @param int Directory permissions
* @return boolean True if successful
*/
function mosMakePath($base, $path='', $mode = NULL)
{
global $mosConfig_dirperms;
// convert windows paths
$path = str_replace( '\\', '/', $path );
$path = str_replace( '//', '/', $path );
// check if dir exists
if (file_exists( $base . $path )) return true;
// set mode
$origmask = NULL;
if (isset($mode)) {
$origmask = @umask(0);
} else {
if ($mosConfig_dirperms=='') {
// rely on umask
$mode = 0777;
} else {
$origmask = @umask(0);
$mode = octdec($mosConfig_dirperms);
} // if
} // if
$parts = explode( '/', $path );
$n = count( $parts );
$ret = true;
if ($n < 1) {
$ret = @mkdir($base, $mode);
} else {
$path = $base;
for ($i = 0; $i < $n; $i++) {
$path .= $parts[$i] . '/';
if (!file_exists( $path )) {
if (!@mkdir( $path, $mode )) {
$ret = false;
break;
}
}
}
}
if (isset($origmask)) @umask($origmask);
return $ret;
}
?>