Revision 1651
Added by darkviper over 13 years ago
| branches/2.8.x/CHANGELOG | ||
|---|---|---|
| 11 | 11 |
! = Update/Change |
| 12 | 12 |
=============================================================================== |
| 13 | 13 |
|
| 14 |
26 Mar-2012 Build 1651 Werner v.d.Decken(DarkViper) |
|
| 15 |
# fixed a little problem with chmod() |
|
| 16 |
+ add argument 'replyTo' into class.wb::mail() |
|
| 14 | 17 |
24 Mar-2012 Build 1650 Werner v.d.Decken(DarkViper) |
| 15 | 18 |
+ add argument 'replyTo' into class.wb::mail() |
| 16 | 19 |
24 Mar-2012 Build 1649 Dietmar Woellbrink (Luisehahne) |
| branches/2.8.x/wb/admin/skel/themes/htt/addons.htt | ||
|---|---|---|
| 52 | 52 |
</td> |
| 53 | 53 |
</tr> |
| 54 | 54 |
<tr> |
| 55 |
<td class="description" valign="top"><span class="title">{TXT_THEME_COPY_CURRENT}</span>
|
|
| 56 |
{TXT_THEME_CURRENT}: {CURRENT_THEME}<br />
|
|
| 57 |
<i>[{THEME_PATH}]</i><br />
|
|
| 55 |
<td class="description" valign="top"><hr /><span class="title">{TXT_THEME_COPY_CURRENT}</span>
|
|
| 56 |
{TXT_THEME_CURRENT}: <b>{CURRENT_THEME}</b><br />
|
|
| 57 |
<i>[ {THEME_PATH} ]</i><br /><br />
|
|
| 58 | 58 |
{MESSAGE_THEME_COPY_CURRENT}
|
| 59 | 59 |
<br style="margin-bottom: 0.5em" /> |
| 60 |
<label for="theme_newname">{TXT_THEME_NEW_NAME}: </label>
|
|
| 60 | 61 |
<input type="text" id="theme_newname" name="ThNewTheme" value="{THEME_DEFAULT_NAME}" />
|
| 61 |
<label for="theme_newname">{TXT_THEME_NEW_NAME}</label>
|
|
| 62 | 62 |
<input type="submit" name="cmdCopyTheme" value="{TXT_THEME_START_COPY}" />
|
| 63 | 63 |
</td> |
| 64 | 64 |
</tr> |
| 65 | 65 |
<tr> |
| 66 |
<td class="description" valign="top"><span class="title">{TXT_THEME_IMPORT_HTT}</span>
|
|
| 67 |
{TXT_THEME_CURRENT}: {CURRENT_THEME}<br />
|
|
| 66 |
<td class="description" valign="top"><hr /><span class="title">{TXT_THEME_IMPORT_HTT}</span>
|
|
| 67 |
{TXT_THEME_CURRENT}: <b>{CURRENT_THEME}</b><br /><br />
|
|
| 68 | 68 |
{MESSAGE_THEME_IMPORT_HTT}
|
| 69 | 69 |
<br style="margin-bottom: 0.5em" /> |
| 70 | 70 |
<label for="theme_template">{TXT_THEME_SELECT_HTT}</label><br />
|
| branches/2.8.x/wb/admin/interface/version.php | ||
|---|---|---|
| 51 | 51 |
|
| 52 | 52 |
// check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled) |
| 53 | 53 |
if(!defined('VERSION')) define('VERSION', '2.8.3');
|
| 54 |
if(!defined('REVISION')) define('REVISION', '1650');
|
|
| 54 |
if(!defined('REVISION')) define('REVISION', '1651');
|
|
| 55 | 55 |
if(!defined('SP')) define('SP', '');
|
| branches/2.8.x/wb/admin/addons/CopyTheme.php | ||
|---|---|---|
| 37 | 37 |
$this->_oDb = $GLOBALS['database']; |
| 38 | 38 |
$this->_aLang = $GLOBALS['MESSAGE']; |
| 39 | 39 |
// import global Consts |
| 40 |
$this->_aGlobals['TablePrefix'] = TABLE_PREFIX;
|
|
| 41 |
$this->_aGlobals['AddonTable'] = 'addons';
|
|
| 42 |
$this->_aGlobals['SettingsTable'] = 'settings';
|
|
| 40 |
$this->_aGlobals['TablePrefix'] = TABLE_PREFIX; |
|
| 41 |
$this->_aGlobals['AddonTable'] = 'addons'; |
|
| 42 |
$this->_aGlobals['SettingsTable'] = 'settings'; |
|
| 43 | 43 |
|
| 44 |
$this->_aGlobals['Debug'] = (defined('DEBUG') && DEBUG === true);
|
|
| 45 |
$this->_aGlobals['IsLinux'] = ((substr(__FILE__, 0, 1)) == '/');
|
|
| 46 |
$this->_aGlobals['StringDirMode'] = STRING_DIR_MODE;
|
|
| 47 |
$this->_aGlobals['StringFileMode'] = STRING_FILE_MODE;
|
|
| 44 |
$this->_aGlobals['Debug'] = (defined('DEBUG') && DEBUG === true);
|
|
| 45 |
$this->_aGlobals['IsLinux'] = ((substr(__FILE__, 0, 1)) == '/'); |
|
| 46 |
$this->_aGlobals['DirMode'] = octdec(STRING_DIR_MODE);
|
|
| 47 |
$this->_aGlobals['FileMode'] = octdec(STRING_FILE_MODE);
|
|
| 48 | 48 |
} |
| 49 | 49 |
/** |
| 50 | 50 |
* start copy current theme into a new theme |
| ... | ... | |
| 153 | 153 |
} |
| 154 | 154 |
natsort($aFileList); |
| 155 | 155 |
}catch(Exeption $e) {
|
| 156 |
$msg = 'CopyTheme::_copyTree => '.$this->_aLang['GENERIC_FAILED_COMPARE']; |
|
| 157 |
$msg .= '<br />'.$e->getMessage(); |
|
| 156 |
$msg = $this->_aLang['GENERIC_FAILED_COMPARE']; |
|
| 157 |
if($this->_aGlobals['Debug']) {
|
|
| 158 |
$msg .= '<br />'.__CLASS__.'::'.__METHOD__. '<br />'.$e->getMessage(); |
|
| 159 |
} |
|
| 158 | 160 |
$this->_setError($msg); |
| 159 | 161 |
$bRetval = false; |
| 160 | 162 |
} |
| ... | ... | |
| 181 | 183 |
$sNewDir = $this->_sThemesBasePath.'/'.$this->_sNewThemeDir.$sDir; |
| 182 | 184 |
if(!file_exists($sNewDir) && mkdir($sNewDir, 0777, true)) {
|
| 183 | 185 |
if($this->_aGlobals['IsLinux']) {
|
| 184 |
if(!chmod($sNewDir, $this->_aGlobals['StringDirMode'])) {
|
|
| 185 |
$sMsg = 'CopyTheme::createDirs::chmod('.$sNewDir.') >> '
|
|
| 186 |
.$this->_aLang['GENERIC_FAILED_COMPARE']; |
|
| 186 |
if(!chmod($sNewDir, $this->_aGlobals['DirMode'])) {
|
|
| 187 |
$sMsg = $this->_aLang['UPLOAD_ERR_CANT_WRITE'].' ['.$sNewDir.']'; |
|
| 188 |
if($this->_aGlobals['Debug']) {
|
|
| 189 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__.'::' |
|
| 190 |
. 'chmod(\''.$sNewDir.$_sThemePath.$sFile.'\', ' |
|
| 191 |
. decoct($this->_aGlobals['DirMode']).')'; |
|
| 192 |
} |
|
| 187 | 193 |
$this->_setError($sMsg); |
| 188 | 194 |
$bRetval = false; |
| 189 | 195 |
break; |
| 190 | 196 |
} |
| 191 | 197 |
} |
| 192 | 198 |
}else {
|
| 193 |
$sMsg = 'CopyTheme::createDirs::mkdir('.$sNewDir.') >> '
|
|
| 194 |
.$this->_aLang['GENERIC_FAILED_COMPARE']; |
|
| 199 |
$sMsg = $this->_aLang['GENERIC_FAILED_COMPARE'].' ['.$sFile.']'; |
|
| 200 |
if($this->_aGlobals['Debug']) {
|
|
| 201 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__.'::' |
|
| 202 |
. 'mkdir(\''.$sNewDir.'\', 0777, true)'; |
|
| 203 |
} |
|
| 195 | 204 |
$this->_setError($sMsg); |
| 196 | 205 |
$bRetval = false; |
| 197 | 206 |
break; |
| ... | ... | |
| 211 | 220 |
foreach($aFileList as $sFile) {
|
| 212 | 221 |
if(copy($sSourceDir.$sFile, $sDestinationDir.$sFile)) {
|
| 213 | 222 |
if($this->_aGlobals['IsLinux']) {
|
| 214 |
if(!chmod($sDestinationDir.$sFile, $this->_aGlobals['StringFileMode'])) {
|
|
| 215 |
$sMsg = 'CopyTheme::copyFiles::chmod('.$sDestinationDir.$sFile.') >> '
|
|
| 216 |
.$this->_aLang['GENERIC_FAILED_COMPARE']; |
|
| 223 |
if(!chmod($sDestinationDir.$sFile, $this->_aGlobals['FileMode'])) {
|
|
| 224 |
$sMsg = $this->_aLang['GENERIC_FAILED_COMPARE'].' ['.$sFile.']'; |
|
| 225 |
if($this->_aGlobals['Debug']) {
|
|
| 226 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__.'::' |
|
| 227 |
. 'chmod(\''.$sDestinationDir.$sFile.'\', ' |
|
| 228 |
.decoct($this->_aGlobals['FileMode']).', true)'; |
|
| 229 |
} |
|
| 217 | 230 |
$this->_setError($sMsg); |
| 218 | 231 |
$bRetval = false; |
| 219 | 232 |
break; |
| 220 | 233 |
} |
| 221 | 234 |
} |
| 222 | 235 |
}else {
|
| 223 |
$sMsg = 'CopyTheme::copyFiles::copy('.$sDestinationDir.$sFile.') >> '
|
|
| 224 |
.$this->_aLang['GENERIC_FAILED_COMPARE']; |
|
| 236 |
$sMsg = $this->_aLang['GENERIC_FAILED_COMPARE'].' ['.$sFile.']'; |
|
| 237 |
if($this->_aGlobals['Debug']) {
|
|
| 238 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__.'::' |
|
| 239 |
. 'copy(\''.$sSourceDir.$sFile.'\', ' |
|
| 240 |
. '\''.$sDestinationDir.$sFile.'\')'; |
|
| 241 |
} |
|
| 225 | 242 |
$this->_setError($sMsg); |
| 226 | 243 |
$bRetval = false; |
| 227 | 244 |
break; |
| ... | ... | |
| 249 | 266 |
. '`author`=\''.mysql_real_escape_string($aVariables['author']).'\', ' |
| 250 | 267 |
. '`license`=\''.mysql_real_escape_string($aVariables['license']).'\''; |
| 251 | 268 |
if(!$this->_oDb->query($sql)) {
|
| 252 |
$sMsg = 'CopyTheme::registerNewTheme('.$this->_sNewThemeName.') >> '
|
|
| 253 |
.$this->_aLang['GENERIC_NOT_UPGRADED']; |
|
| 254 |
$sMsg .= (($this->_aGlobals['Debug']) ? '<br />'.$this->_oDb->get_error() : ''); |
|
| 269 |
|
|
| 270 |
$sMsg = $this->_aLang['GENERIC_NOT_UPGRADED'].' ['.$this->_sNewThemeDir.'/info.php]'; |
|
| 271 |
if($this->_aGlobals['Debug']) {
|
|
| 272 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__. '<br />'.$this->_oDb->get_error(); |
|
| 273 |
} |
|
| 255 | 274 |
$this->_setError($sMsg); |
| 256 | 275 |
$bRetval = false; |
| 257 | 276 |
} |
| ... | ... | |
| 270 | 289 |
$aVariables['name'] = $this->_sNewThemeName; |
| 271 | 290 |
$aVariables['version'] = '0.0.1'; |
| 272 | 291 |
$aVariables['description'] = '(copy): '.$aVariables['description']; |
| 273 |
if(file_exists($sThemeInfoFile)) {
|
|
| 292 |
if(is_writeable($sThemeInfoFile)) {
|
|
| 274 | 293 |
$sInfoContent = file_get_contents($sThemeInfoFile); |
| 275 | 294 |
foreach($aVariables as $key=>$val) {
|
| 276 | 295 |
$sSearch = '/(\$template_'.$key.'\s*=\s*(["\'])).*?(\2)\s*;/s'; |
| ... | ... | |
| 284 | 303 |
return true; |
| 285 | 304 |
} |
| 286 | 305 |
} |
| 287 |
$this->_setError('CopyTheme::modifyInfoFile('.$this->_sNewThemeDir.'/info.php) >> '
|
|
| 288 |
.$this->_aLang['GENERIC_NOT_UPGRADED']); |
|
| 306 |
$sMsg = $this->_aLang['GENERIC_NOT_UPGRADED'].' ['.$this->_sNewThemeDir.'/info.php]'; |
|
| 307 |
if($this->_aGlobals['Debug']) {
|
|
| 308 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__.'(\''.$sThemeInfoFile.'\')'; |
|
| 309 |
} |
|
| 310 |
$this->_setError($sMsg); |
|
| 289 | 311 |
return $bRetval; |
| 290 | 312 |
} |
| 291 | 313 |
/** |
| ... | ... | |
| 329 | 351 |
'default_theme', |
| 330 | 352 |
$value = $this->_sNewThemeDir)) |
| 331 | 353 |
{
|
| 332 |
$sMsg = 'CopyTheme::activateTheme('.$this->_sNewThemeName.') >> '
|
|
| 333 |
.$this->_aLang['GENERIC_NOT_UPGRADED']; |
|
| 334 |
$sMsg .= (($this->_aGlobals['Debug']) ? '<br />'.$this->_oDb->get_error() : ''); |
|
| 354 |
$sMsg = $this->_aLang['GENERIC_NOT_UPGRADED']; |
|
| 355 |
if($this->_aGlobals['Debug']) {
|
|
| 356 |
$sMsg .= '<br />'.__CLASS__.'::'.__METHOD__. '<br />'.$this->_oDb->get_error(); |
|
| 357 |
} |
|
| 335 | 358 |
$this->_setError($sMsg); |
| 336 | 359 |
$bRetval = false; |
| 337 | 360 |
} |
| branches/2.8.x/wb/admin/addons/CopyThemeHtt.php | ||
|---|---|---|
| 16 | 16 |
|
| 17 | 17 |
private static $_sSkelPath = ''; |
| 18 | 18 |
private static $_sThemePath = ''; |
| 19 |
private static $_sOs = '';
|
|
| 19 |
private static $_IsLinux = '';
|
|
| 20 | 20 |
private static $_sFileMode = ''; |
| 21 | 21 |
private static $_aLang = ''; |
| 22 |
private static $_bDebug = false; |
|
| 22 | 23 |
/** |
| 23 | 24 |
* import all needed global constants and variables |
| 24 | 25 |
*/ |
| ... | ... | |
| 27 | 28 |
// self::$_sSkelPath = ADMIN_PATH.'/themes/templates/'; |
| 28 | 29 |
self::$_sSkelPath = ADMIN_PATH.'/skel/themes/htt/'; |
| 29 | 30 |
self::$_sThemePath = THEME_PATH.'/templates/'; |
| 30 |
self::$_sOs = OPERATING_SYSTEM; |
|
| 31 |
self::$_sFileMode = STRING_FILE_MODE; |
|
| 31 |
self::$_IsLinux = ((substr(__FILE__, 0, 1)) == '/'); |
|
| 32 |
self::$_sFileMode = octdec(STRING_FILE_MODE); |
|
| 33 |
self::$_bDebug = (defined('DEBUG') && DEBUG === true);
|
|
| 34 |
|
|
| 32 | 35 |
self::$_aLang = $GLOBALS['MESSAGE']; |
| 33 | 36 |
} |
| 34 | 37 |
/** |
| ... | ... | |
| 59 | 62 |
if(sizeof($aFileList) > 0 ) {
|
| 60 | 63 |
foreach($aFileList as $sFile) {
|
| 61 | 64 |
$sFile = basename($sFile); |
| 62 |
if(copy(self::$_sSkelPath.$sFile, self::$_sThemePath.$sFile)) {
|
|
| 63 |
if(self::$_sOs == 'linux') {
|
|
| 64 |
chmod(self::$_sThemePath.$sFile, self::$_sFileMode); |
|
| 65 |
if(is_writable(self::$_sThemePath) && |
|
| 66 |
copy(self::$_sSkelPath.$sFile, self::$_sThemePath.$sFile)) |
|
| 67 |
{
|
|
| 68 |
if(self::$_IsLinux) {
|
|
| 69 |
if(!chmod(self::$_sThemePath.$sFile, self::$_sFileMode)) {
|
|
| 70 |
$msg = self::$_aLang['UPLOAD_ERR_CANT_WRITE'].' ['.$sFile.']'; |
|
| 71 |
if(self::$_bDebug) {
|
|
| 72 |
$msg .= __CLASS__.'::'.__METHOD__.'::' |
|
| 73 |
. 'chmod(\'self::'.$_sThemePath.$sFile.'\', ' |
|
| 74 |
. decoct(self::$_sFileMode).')'; |
|
| 75 |
} |
|
| 76 |
$aErrors[] = $msg; |
|
| 77 |
} |
|
| 65 | 78 |
} |
| 66 | 79 |
}else {
|
| 67 |
$aErrors[] = self::$_aLang['UPLOAD_ERR_CANT_WRITE'].' ['.$sFile.']'; |
|
| 80 |
$msg = self::$_aLang['UPLOAD_ERR_CANT_WRITE'].' ['.$sFile.']'; |
|
| 81 |
if(self::$_bDebug) {
|
|
| 82 |
$msg .= __CLASS__.'::'.__METHOD__.'::' |
|
| 83 |
. 'copy(\''.self::$_sSkelPath.$sFile.'\', ' |
|
| 84 |
. '\''.self::$_sThemePath.$sFile.'\')'; |
|
| 85 |
} |
|
| 86 |
$aErrors[] = $msg; |
|
| 68 | 87 |
} |
| 69 | 88 |
} |
| 70 | 89 |
} |
| branches/2.8.x/wb/admin/addons/index.php | ||
|---|---|---|
| 106 | 106 |
. 'WHERE `directory`=\''.DEFAULT_THEME.'\' AND `function`=\'theme\''; |
| 107 | 107 |
$tmp = $database->get_one($sql); |
| 108 | 108 |
$template->set_var('THEME_DEFAULT_NAME', $tmp);
|
| 109 |
$template->set_var('THEME_PATH', THEME_PATH);
|
|
| 109 |
$template->set_var('CURRENT_THEME', $tmp);
|
|
| 110 |
$tmp = str_replace(str_replace('\\', '/', WB_PATH), '', str_replace('\\', '/', THEME_PATH));
|
|
| 111 |
$template->set_var('THEME_PATH', $tmp);
|
|
| 110 | 112 |
// end copy current theme |
| 111 | 113 |
// start template import |
| 112 | 114 |
include(dirname(__FILE__).'/CopyThemeHtt.php'); |
| branches/2.8.x/wb/framework/functions.php | ||
|---|---|---|
| 414 | 414 |
return $retVal; |
| 415 | 415 |
} |
| 416 | 416 |
|
| 417 |
// Function to chmod files and directories |
|
| 418 |
function change_mode($name) |
|
| 417 |
/** |
|
| 418 |
* Function to chmod files and/or directories |
|
| 419 |
* @param string $sName |
|
| 420 |
* @param int rights in dec-value. 0= use wb-defaults |
|
| 421 |
* @return bool |
|
| 422 |
*/ |
|
| 423 |
function change_mode($sName, $iMode = 0) |
|
| 419 | 424 |
{
|
| 420 |
if(OPERATING_SYSTEM != 'windows') |
|
| 421 |
{
|
|
| 422 |
// Only chmod if os is not windows |
|
| 423 |
if(is_dir($name)) {
|
|
| 424 |
$mode = OCTAL_DIR_MODE; |
|
| 425 |
}else {
|
|
| 426 |
$mode = OCTAL_FILE_MODE; |
|
| 425 |
$bRetval = true; |
|
| 426 |
if((substr(__FILE__, 0, 1)) == '/') |
|
| 427 |
{ // Only chmod if os is not windows
|
|
| 428 |
$bRetval = false; |
|
| 429 |
if(!$iMode) {
|
|
| 430 |
$iMode = (is_file($sName) ? octdec(STRING_FILE_MODE) : octdec(STRING_DIR_MODE)); |
|
| 427 | 431 |
} |
| 428 |
if(file_exists($name)) {
|
|
| 429 |
$umask = umask(0); |
|
| 430 |
chmod($name, $mode); |
|
| 431 |
umask($umask); |
|
| 432 |
return true; |
|
| 433 |
}else {
|
|
| 434 |
return false; |
|
| 432 |
if(is_writable($sName)) {
|
|
| 433 |
$bRetval = chmod($sName, $iMode); |
|
| 435 | 434 |
} |
| 436 |
}else {
|
|
| 437 |
return true; |
|
| 438 | 435 |
} |
| 436 |
return $bRetval; |
|
| 439 | 437 |
} |
| 440 | 438 |
|
| 441 | 439 |
// Function to figure out if a parent exists |
Also available in: Unified diff
fixed a little problem with chmod()