function checkMemoryLimit() { global $_CORELANG; static $memoryLimit, $MiB2; if (!isset($memoryLimit)) { @(include UPDATE_PATH . '/lib/FRAMEWORK/System.class.php'); $objSystem = new FWSystem(); if ($objSystem === false) { setUpdateMsg(sprintf($_CORELANG['TXT_UPDATE_API_LOAD_FAILED'], UPDATE_PATH . '/lib/FRAMEWORK/System.class.php')); return false; } $memoryLimit = $objSystem->getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); if (empty($memoryLimit)) { // set default php memory limit of 8MiBytes $memoryLimit = 8 * pow(1024, 2); } $MiB2 = 2 * pow(1024, 2); } $potentialRequiredMemory = memory_get_usage() + $MiB2; if ($potentialRequiredMemory > $memoryLimit) { // try to set a higher memory_limit if (!@ini_set('memory_limit', $potentialRequiredMemory)) { setUpdateMsg($_CORELANG['TXT_UPDATE_PROCESS_HALTED'], 'title'); setUpdateMsg($_CORELANG['TXT_UPDATE_PROCESS_HALTED_RAM_MSG'] . '<br /><br />', 'msg'); setUpdateMsg('<input type="submit" value="' . $_CORELANG['TXT_CONTINUE_UPDATE'] . '" name="updateNext" /><input type="hidden" name="processUpdate" id="processUpdate" />', 'button'); return false; } } return true; }
/** * Load the image from the given file path * * Based on the ImageManager methods _imageCreateFromFile() and * _isImage() * @param string $file_path The image file path * @return resource The image resource on success, * false otherwise */ static function load($file_path) { if (!File::exists($file_path)) { return false; } $arrInfo = getimagesize(ASCMS_DOCUMENT_ROOT . '/' . $file_path); if (!is_array($arrInfo)) { //echo("load(): failed to determine image size<br />"); return false; } // 1: GIF, 2: JPG, 3: PNG, others are not accepted if ($arrInfo[2] == 1 && !function_exists('imagecreatefromgif')) { return false; } switch ($arrInfo[2]) { case 1: $function = 'imagecreatefromgif'; break; case 2: $function = 'imagecreatefromjpeg'; break; case 3: $function = 'imagecreatefrompng'; break; default: //echo("load(): unknown file type<br />"); return false; } $memoryLimit = FWSystem::getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); if (empty($memoryLimit)) { $memoryLimit = Image::MAXIMUM_UPLOAD_FILE_SIZE; } $potentialRequiredMemory = intval($arrInfo[0] * $arrInfo[1] * ($arrInfo['bits'] / 8) * $arrInfo['channels'] * 1.8); if (function_exists('memory_get_usage')) { $potentialRequiredMemory += memory_get_usage(); } else { // add a default of 3 MB $potentialRequiredMemory += 3 * pow(1024, 2); } //echo("load(): potentialRequiredMemory $potentialRequiredMemory, memoryLimit $memoryLimit<br />"); if ($potentialRequiredMemory > $memoryLimit) { // try to set a higher memory_limit if (!@ini_set('memory_limit', $potentialRequiredMemory)) { //echo("load(): failed to set memory limit<br />"); return false; } } //echo("load(): calling $function($file_path)...<br />"); return $function(ASCMS_DOCUMENT_ROOT . '/' . $file_path); }
/** * Creates an image from an image file * @access private * @param string $file The path of the image * @return resource The image on success, the empty string otherwise */ function _imageCreateFromFile($file) { $arrSizeInfo = getimagesize($file); if (!is_array($arrSizeInfo)) { return false; } $type = $this->_isImage($file); $potentialRequiredMemory = $arrSizeInfo[0] * $arrSizeInfo[1] * 1.8; switch ($type) { case self::IMG_TYPE_GIF: $function = 'imagecreatefromgif'; break; case self::IMG_TYPE_JPEG: $function = 'imagecreatefromjpeg'; $potentialRequiredMemory *= $arrSizeInfo['bits'] / 8 * ($arrSizeInfo['channels'] < 3 ? 3 : $arrSizeInfo['channels']); break; case self::IMG_TYPE_PNG: $function = 'imagecreatefrompng'; $potentialRequiredMemory *= 4; break; default: return ''; } require_once ASCMS_FRAMEWORK_PATH . '/System.class.php'; $objSystem = new FWSystem(); if ($objSystem === false) { return false; } $memoryLimit = $objSystem->getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); if (empty($memoryLimit)) { // set default php memory limit of 8 MBytes $memoryLimit = 8 * pow(1024, 2); } if (function_exists('memory_get_usage')) { $potentialRequiredMemory += memory_get_usage(); } else { // add a default of 3 MBytes $potentialRequiredMemory += 3 * pow(1024, 2); } if ($potentialRequiredMemory > $memoryLimit) { // try to set a higher memory_limit if (!ini_set('memory_limit', $potentialRequiredMemory) || $memoryLimit == $objSystem->getBytesOfLiteralSizeFormat(ini_get('memory_limit'))) { return ''; } } return $function($file); }
/** * Checking memory limit * * @staticvar integer $memoryLimit * @staticvar integer $MiB2 * * @param integer $crawlerId * * @return boolean */ function checkMemoryLimit($crawlerId) { static $memoryLimit, $MiB2; if (!isset($memoryLimit)) { $memoryLimit = \FWSystem::getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); if (empty($memoryLimit)) { // set default php memory limit of 8MiBytes $memoryLimit = 8 * pow(1024, 2); } $MiB2 = 2 * pow(1024, 2); } $potentialRequiredMemory = memory_get_usage() + $MiB2; if ($potentialRequiredMemory > $memoryLimit) { // try to set a higher memory_limit if (!@ini_set('memory_limit', $potentialRequiredMemory)) { $this->updateCrawlerStatus($crawlerId, self::RUN_STATUS_INCOMPLETE); die('The link spider script is interrupted due to insufficient memory is available.'); } } return true; }
/** * Checking memory limit * * @param type $requiredMemoryLimit required memory limit * * @return boolean */ function checkMemoryLimit($requiredMemoryLimit) { if (empty($this->memoryLimit)) { $memoryLimit = \FWSystem::getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); //if memory limit is empty then set default php memory limit of 8MiBytes $this->memoryLimit = !empty($memoryLimit) ? $memoryLimit : self::MiB2 * 4; } $potentialRequiredMemory = memory_get_usage() + $requiredMemoryLimit; if ($potentialRequiredMemory > $this->memoryLimit) { // try to set a higher memory_limit if (!@ini_set('memory_limit', $potentialRequiredMemory)) { \DBG::log('The link spider script is interrupted due to insufficient memory is available.'); return false; } } return true; }
function _configGeneral() { global $_ARRAYLANG, $_CORELANG; $status = true; $arrSettings = \User_Setting::getSettings(); $this->_objTpl->addBlockfile('ACCESS_CONFIG_TEMPLATE', 'module_access_config_general', 'module_access_config_general.html'); $this->_objTpl->setVariable(array('TXT_ACCESS_PROFILE' => $_ARRAYLANG['TXT_ACCESS_PROFILE'], 'TXT_ACCESS_PROFILE_AVATAR_PIC' => $_ARRAYLANG['TXT_ACCESS_PROFILE_AVATAR_PIC'], 'TXT_ACCESS_PERMISSIONS' => $_ARRAYLANG['TXT_ACCESS_PERMISSIONS'], 'TXT_ACCESS_YES' => $_ARRAYLANG['TXT_ACCESS_YES'], 'TXT_ACCESS_NO' => $_ARRAYLANG['TXT_ACCESS_NO'], 'TXT_ACCESS_ALLOW_USERS_DELETE_ACCOUNT' => $_ARRAYLANG['TXT_ACCESS_ALLOW_USERS_DELETE_ACCOUNT'], 'TXT_ACCESS_ALLOW_USERS_SET_PROFILE_ACCESS' => $_ARRAYLANG['TXT_ACCESS_ALLOW_USERS_SET_PROFILE_ACCESS'], 'TXT_ACCESS_ALLOW_USERS_SET_EMAIL_ACCESS' => $_ARRAYLANG['TXT_ACCESS_ALLOW_USERS_SET_EMAIL_ACCESS'], 'TXT_ACCESS_FRONTEND_BLOCK_FUNCTIONS' => $_ARRAYLANG['TXT_ACCESS_FRONTEND_BLOCK_FUNCTIONS'], 'TXT_ACCESS_CURRENTLY_ONLINE' => $_ARRAYLANG['TXT_ACCESS_CURRENTLY_ONLINE'], 'TXT_ACCESS_LAST_ACTIVE' => $_ARRAYLANG['TXT_ACCESS_LAST_ACTIVE'], 'TXT_ACCESS_LATEST_REGISTERED_USERS' => $_ARRAYLANG['TXT_ACCESS_LATEST_REGISTERED_USERS'], 'TXT_ACCESS_BIRTHDAYS' => $_ARRAYLANG['TXT_ACCESS_BIRTHDAYS'], 'TXT_ACCESS_ACTIVATE_BLOCK_FUNCTION' => $_ARRAYLANG['TXT_ACCESS_ACTIVATE_BLOCK_FUNCTION'], 'TXT_ACCESS_SHOW_USERS_ONLY_WITH_PHOTO' => $_ARRAYLANG['TXT_ACCESS_SHOW_USERS_ONLY_WITH_PHOTO'], 'TXT_ACCESS_MAX_USER_COUNT' => $_ARRAYLANG['TXT_ACCESS_MAX_USER_COUNT'], 'TXT_ACCESS_SAVE' => $_ARRAYLANG['TXT_ACCESS_SAVE'], 'TXT_ACCESS_PROFILE_PIC' => $_CORELANG['TXT_ACCESS_PROFILE_PIC'], 'TXT_ACCESS_MAX_WIDTH' => $_ARRAYLANG['TXT_ACCESS_MAX_WIDTH'], 'TXT_ACCESS_MAX_HEIGHT' => $_ARRAYLANG['TXT_ACCESS_MAX_HEIGHT'], 'TXT_ACCESS_MAX_FILE_SIZE' => $_ARRAYLANG['TXT_ACCESS_MAX_FILE_SIZE'], 'TXT_ACCESS_THUMBNAIL_WIDTH' => $_ARRAYLANG['TXT_ACCESS_THUMBNAIL_WIDTH'], 'TXT_ACCESS_THUMBNAIL_HEIGHT' => $_ARRAYLANG['TXT_ACCESS_THUMBNAIL_HEIGHT'], 'TXT_ACCESS_MAX_THUMBNAIL_WIDTH' => $_ARRAYLANG['TXT_ACCESS_MAX_THUMBNAIL_WIDTH'], 'TXT_ACCESS_MAX_THUMBNAIL_HEIGHT' => $_ARRAYLANG['TXT_ACCESS_MAX_THUMBNAIL_HEIGHT'], 'TXT_ACCESS_PICTURES' => $_ARRAYLANG['TXT_ACCESS_PICTURES'], 'TXT_ACCESS_OTHER_PICTURES' => $_ARRAYLANG['TXT_ACCESS_OTHER_PICTURES'], 'TXT_ACCESS_MISCELLANEOUS' => $_ARRAYLANG['TXT_ACCESS_MISCELLANEOUS'], 'TXT_ACCESS_STANDARD' => $_ARRAYLANG['TXT_ACCESS_STANDARD'], 'TXT_ACCESS_EMAIL' => $_ARRAYLANG['TXT_ACCESS_EMAIL'], 'TXT_ACCESS_SESSION_ON_INTERVAL' => $_ARRAYLANG['TXT_ACCESS_SESSION_ON_INTERVAL'], 'TXT_ACCESS_SESSION_DESCRIPTION' => $_ARRAYLANG['TXT_ACCESS_SESSION_DESCRIPTION'], 'TXT_ACCESS_SESSION_TITLE' => $_ARRAYLANG['TXT_ACCESS_SESSION_TITLE'], 'TXT_ACCESS_USE_SELECTED_ACCESS_FOR_EVERYONE' => $_ARRAYLANG['TXT_ACCESS_USE_SELECTED_ACCESS_FOR_EVERYONE'], 'TXT_ACCESS_CROP_THUMBNAIL_TXT' => $_ARRAYLANG['TXT_ACCESS_CROP_THUMBNAIL_TXT'], 'TXT_ACCESS_SCALE_THUMBNAIL_TXT' => $_ARRAYLANG['TXT_ACCESS_SCALE_THUMBNAIL_TXT'], 'TXT_ACCESS_BACKGROUND_COLOR' => $_ARRAYLANG['TXT_ACCESS_BACKGROUND_COLOR'], 'TXT_ACCESS_THUMBNAIL_GENERATION' => $_ARRAYLANG['TXT_ACCESS_THUMBNAIL_GENERATION'], 'TXT_ACCESS_USE_USERNAMES' => $_ARRAYLANG['TXT_ACCESS_USE_USERNAMES'], 'TXT_ACCESS_USE_USERNAMES_TOOLTIP' => $_ARRAYLANG['TXT_ACCESS_USE_USERNAMES_TOOLTIP'], 'TXT_ACCESS_SOCIALLOGIN_INFORMATION_TITLE' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_INFORMATION_TITLE'], 'TXT_ACCESS_DESCRIPTION' => $_ARRAYLANG['TXT_ACCESS_DESCRIPTION'], 'TXT_ACCESS_SOCIALLOGIN_DESCRIPTION' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_DESCRIPTION'], 'TXT_ACCESS_SOCIALLOGIN' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN'], 'TXT_ACCESS_ENABLE_SOCIALLOGIN' => $_ARRAYLANG['TXT_ACCESS_ENABLE_SOCIALLOGIN'], 'TXT_ACCESS_SOCIALLOGIN_PROVIDERS' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_PROVIDERS'], 'TXT_ACCESS_SOCIALLOGIN_SHOW_SIGN_UP' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_SHOW_SIGN_UP'], 'TXT_ACCESS_SOCIALLOGIN_SHOW_SIGN_UP_TOOLTIP' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_SHOW_SIGN_UP_TOOLTIP'], 'TXT_ACCESS_GROUP_ASSOCIATION_TEXT' => $_ARRAYLANG['TXT_ACCESS_GROUP_ASSOCIATION_TEXT'], 'TXT_ACCESS_AVAILABLE_GROUPS' => $_ARRAYLANG['TXT_ACCESS_AVAILABLE_GROUPS'], 'TXT_ACCESS_CHECK_ALL' => $_ARRAYLANG['TXT_ACCESS_CHECK_ALL'], 'TXT_ACCESS_UNCHECK_ALL' => $_ARRAYLANG['TXT_ACCESS_UNCHECK_ALL'], 'TXT_ACCESS_ASSOCIATED_GROUPS' => $_ARRAYLANG['TXT_ACCESS_ASSOCIATED_GROUPS'], 'TXT_ACCESS_USER_ACCOUNT_ACTIVATION_METHOD_TEXT' => $_ARRAYLANG['TXT_ACCESS_USER_ACCOUNT_ACTIVATION_METHOD_TEXT'], 'TXT_ACCESS_SOCIALLOGIN_ACTIVATED_AUTOMATICALLY' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_ACTIVATED_AUTOMATICALLY'], 'TXT_ACCESS_SOCIALLOGIN_ACTIVATED_NOT_AUTOMATICALLY' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_ACTIVATED_NOT_AUTOMATICALLY'], 'TXT_ACCESS_SOCIALLOGIN_ACTIVATION_TIME' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_ACTIVATION_TIME'], 'TXT_ACCESS_SOCIALLOGIN_UNCOMPLETED_SIGN_UP' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_UNCOMPLETED_SIGN_UP'], 'TXT_ACCESS_USER_ACCOUNT_VERIFICATION' => $_ARRAYLANG['TXT_ACCESS_USER_ACCOUNT_VERIFICATION'], 'TXT_ACCESS_USER_ACCOUNT_VERIFICATION_TEXT' => $_ARRAYLANG['TXT_ACCESS_USER_ACCOUNT_VERIFICATION_TEXT'])); $this->_objTpl->setGlobalVariable(array('TXT_ACCESS_SOCIALLOGIN_MANUAL' => sprintf($_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_MANUAL'], "http://www.cloudrexx.com/wiki/de/index.php?title=Social_Login"))); if (isset($_POST['access_save_settings'])) { // only administrators are allowed to modify the config if (!\Permission::hasAllAccess()) { \Permission::noAccess(); } $arrSettings['user_delete_account']['status'] = !empty($_POST['access_permissions_delete_account']) ? intval($_POST['access_permissions_delete_account']) : 0; $arrSettings['user_config_profile_access']['status'] = !empty($_POST['access_permissions_profile_access']) ? intval($_POST['access_permissions_profile_access']) : 0; $arrSettings['user_config_email_access']['status'] = !empty($_POST['access_permissions_email_access']) ? intval($_POST['access_permissions_email_access']) : 0; $arrSettings['sociallogin']['status'] = function_exists('curl_init') && !empty($_POST['access_sociallogin_activate']) ? intval($_POST['access_sociallogin_activate']) : 0; $arrSettings['use_usernames']['status'] = !empty($_POST['access_permissions_use_usernames']) ? intval($_POST['access_permissions_use_usernames']) : 0; $arrSettings['sociallogin_show_signup']['status'] = !empty($_POST['access_sociallogin_show_signup']) ? intval($_POST['access_sociallogin_show_signup']) : 0; $arrSettings['sociallogin_assign_to_groups']['value'] = isset($_POST['access_user_associated_groups']) ? implode(',', $_POST['access_user_associated_groups']) : ''; $arrSettings['sociallogin_active_automatically']['status'] = !empty($_POST['sociallogin_active_automatically']) ? intval($_POST['sociallogin_active_automatically']) : 0; $arrSettings['sociallogin_activation_timeout']['value'] = !empty($_POST['sociallogin_activation_timeout']) ? intval($_POST['sociallogin_activation_timeout']) : 10; $arrSettings['default_profile_access']['value'] = isset($_POST['access_user_profile_access']) && in_array($_POST['access_user_profile_access'], array('everyone', 'members_only', 'nobody')) ? $_POST['access_user_profile_access'] : 'members_only'; $arrSettings['default_email_access']['value'] = isset($_POST['access_user_email_access']) && in_array($_POST['access_user_email_access'], array('everyone', 'members_only', 'nobody')) ? $_POST['access_user_email_access'] : 'members_only'; if (!empty($_POST['access_blocks_currently_online_users'])) { $arrSettings['block_currently_online_users']['status'] = 1; $arrSettings['block_currently_online_users']['value'] = !empty($_POST['access_blocks_currently_online_users_user_count']) ? intval($_POST['access_blocks_currently_online_users_user_count']) : 0; $arrSettings['block_currently_online_users_pic']['status'] = !empty($_POST['access_blocks_currently_online_users_only_with_photo']) && intval($_POST['access_blocks_currently_online_users_only_with_photo']); } else { $arrSettings['block_currently_online_users']['status'] = 0; } if (!empty($_POST['access_blocks_last_active_users'])) { $arrSettings['block_last_active_users']['status'] = 1; $arrSettings['block_last_active_users']['value'] = !empty($_POST['access_blocks_last_active_users_user_count']) ? intval($_POST['access_blocks_last_active_users_user_count']) : 0; $arrSettings['block_last_active_users_pic']['status'] = !empty($_POST['access_blocks_last_active_users_only_with_photo']) && intval($_POST['access_blocks_last_active_users_only_with_photo']); } else { $arrSettings['block_last_active_users']['status'] = 0; } if (!empty($_POST['access_blocks_latest_registered_users'])) { $arrSettings['block_latest_reg_users']['status'] = 1; $arrSettings['block_latest_reg_users']['value'] = !empty($_POST['access_blocks_latest_registered_users_user_count']) ? intval($_POST['access_blocks_latest_registered_users_user_count']) : 0; $arrSettings['block_latest_reg_users_pic']['status'] = !empty($_POST['access_blocks_latest_registered_users_only_with_photo']) && intval($_POST['access_blocks_latest_registered_users_only_with_photo']); } else { $arrSettings['block_latest_reg_users']['status'] = 0; } if (!empty($_POST['access_blocks_birthday_users'])) { $arrSettings['block_birthday_users']['status'] = 1; $arrSettings['block_birthday_users']['value'] = !empty($_POST['access_blocks_birthday_users_user_count']) ? intval($_POST['access_blocks_birthday_users_user_count']) : 0; $arrSettings['block_birthday_users_pic']['status'] = !empty($_POST['access_blocks_birthday_users_only_with_photo']) && intval($_POST['access_blocks_birthday_users_only_with_photo']); } else { $arrSettings['block_birthday_users']['status'] = 0; } if (!empty($_POST['accessMaxProfilePicWidth'])) { $arrSettings['max_profile_pic_width']['value'] = intval($_POST['accessMaxProfilePicWidth']); } if (!empty($_POST['accessMaxProfilePicHeight'])) { $arrSettings['max_profile_pic_height']['value'] = intval($_POST['accessMaxProfilePicHeight']); } if (!empty($_POST['accessProfileThumbnailPicWidth'])) { $arrSettings['profile_thumbnail_pic_width']['value'] = intval($_POST['accessProfileThumbnailPicWidth']); } if (!empty($_POST['accessProfileThumbnailPicHeight'])) { $arrSettings['profile_thumbnail_pic_height']['value'] = intval($_POST['accessProfileThumbnailPicHeight']); } if (!empty($_POST['accessMaxProfilePicSize'])) { // TODO // if (\FWSystem::getBytesOfLiteralSizeFormat($_POST['accessMaxProfilePicSize']) != $arrSettings['max_profile_pic_size']['value']) { // // resize profile pics // } $arrSettings['max_profile_pic_size']['value'] = \FWSystem::getBytesOfLiteralSizeFormat($_POST['accessMaxProfilePicSize']); } if (isset($_POST['accessProfileThumbnailMethod']) && $_POST['accessProfileThumbnailMethod'] == 'scale') { $arrSettings['profile_thumbnail_method']['value'] = 'scale'; $color = !empty($_POST['accessProfileThumbnailScaleColor']) ? contrexx_input2raw($_POST['accessProfileThumbnailScaleColor']) : NULL; $arrSettings['profile_thumbnail_scale_color']['value'] = $this->validateHexRGBColor($color); } else { $arrSettings['profile_thumbnail_method']['value'] = 'crop'; } if (!empty($_POST['accessMaxPicWidth'])) { $arrSettings['max_pic_width']['value'] = intval($_POST['accessMaxPicWidth']); } if (!empty($_POST['accessMaxPicHeight'])) { $arrSettings['max_pic_height']['value'] = intval($_POST['accessMaxPicHeight']); } if (!empty($_POST['accessMaxThumbnailPicWidth'])) { $arrSettings['max_thumbnail_pic_width']['value'] = intval($_POST['accessMaxThumbnailPicWidth']); } if (!empty($_POST['accessMaxThumbnailPicHeight'])) { $arrSettings['max_thumbnail_pic_height']['value'] = intval($_POST['accessMaxThumbnailPicHeight']); } // user_account_verification is a checkbox, if this is not set, its not checked. If it is set, it is checked // 0 = unchecked, false, 1 = checked, active, true $arrSettings['user_account_verification']['value'] = 0; if (isset($_POST['user_account_verification'])) { $arrSettings['user_account_verification']['value'] = 1; } if (!empty($_POST['accessMaxPicSize'])) { // TODO // if (\FWSystem::getBytesOfLiteralSizeFormat($_POST['accessMaxPicSize']) != $arrSettings['max_pic_size']['value']) { // // resize pics // } $arrSettings['max_pic_size']['value'] = \FWSystem::getBytesOfLiteralSizeFormat($_POST['accessMaxPicSize']); } $session_on_interval = intval($_POST['sessioninterval']); if (trim($session_on_interval) != null) { if ($session_on_interval >= 0 && $session_on_interval <= 300) { $arrSettings['session_user_interval']['value'] = $session_on_interval; } } if (!empty($_POST["sociallogin_providers"])) { \Cx\Lib\SocialLogin::updateProviders($_POST["sociallogin_providers"]); } if ($status) { if (\User_Setting::setSettings($arrSettings)) { self::$arrStatusMsg['ok'][] = $_ARRAYLANG['TXT_ACCESS_CONFIG_SUCCESSFULLY_SAVED']; if (!empty($_POST['access_force_selected_profile_access'])) { if (!\User::forceDefaultProfileAccess()) { self::$arrStatusMsg['error'][] = $_ARRAYLANG['TXT_ACCESS_SET_DEFAULT_PROFILE_ACCESS_FAILED']; } } if (!empty($_POST['access_force_selected_email_access'])) { if (!\User::forceDefaultEmailAccess()) { self::$arrStatusMsg['error'][] = $_ARRAYLANG['TXT_ACCESS_SET_DEFAULT_EMAIL_ACCESS_FAILED']; } } } else { self::$arrStatusMsg['error'][] = $_ARRAYLANG['TXT_ACCESS_CONFIG_FAILED_SAVED']; self::$arrStatusMsg['error'][] = $_ARRAYLANG['TXT_ACCESS_TRY_TO_REPEAT_OPERATION']; } } } $curlAvailable = true; try { $socialloginProviders = \Cx\Lib\SocialLogin::getProviders(); } catch (\Exception $e) { if (!function_exists('curl_init')) { $this->_objTpl->setVariable('TXT_ACCESS_SOCIALLOGIN_WARNING', $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_NEED_CURL']); $this->_objTpl->parse('sociallogin_need_curl'); $curlAvailable = false; } } if ($curlAvailable) { $this->_objTpl->touchBlock('access_sociallogin_settings'); } else { $this->_objTpl->hideBlock('access_sociallogin_settings'); } // if the current user is no admin, show a message $currentUserIsAdmin = \FWUser::getFWUserObject()->objUser->getAdminStatus(); if (!$currentUserIsAdmin) { $this->_objTpl->setVariable('TXT_ACCESS_SOCIALLOGIN_PERMISSION_DENIED', $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_PERMISSION_DENIED']); $this->_objTpl->parse('access_sociallogin_permission_denied'); } $socialloginProviderRow = 0; foreach ($socialloginProviders as $socialloginProviderName => $providerObject) { $settings = $providerObject->getApplicationData(); $paramId = 0; if ($currentUserIsAdmin) { foreach (call_user_func(\Cx\Lib\SocialLogin::getClassByProvider($socialloginProviderName) . '::configParams') as $configParam) { $this->_objTpl->setVariable(array('TXT_ACCESS_SOCIALLOGIN_PROVIDER_PARAM_TITLE' => $_ARRAYLANG[$configParam], 'ACCESS_SOCIALLOGIN_PROVIDER_PARAM_VALUE' => contrexx_raw2xhtml(!empty($settings[$paramId]) ? $settings[$paramId] : ''), 'ACCESS_SOCIALLOGIN_PROVIDER_TOGGLE' => $providerObject->isActive() ? '' : 'none', 'ACCESS_SOCIALLOGIN_PROVIDER_NAME' => contrexx_raw2xhtml($socialloginProviderName), 'ACCESS_SOCIALLOGIN_PROVIDER_NAME_UPPER' => contrexx_raw2xhtml(ucfirst($socialloginProviderName)))); $this->_objTpl->parse('access_sociallogin_provider_params'); $paramId++; } } $this->_objTpl->setVariable(array('ACCESS_SOCIALLOGIN_PROVIDER_ROW' => $socialloginProviderRow % 2 == 0 ? 1 : 2, 'ACCESS_SOCIALLOGIN_PROVIDER_NAME' => contrexx_raw2xhtml($socialloginProviderName), 'ACCESS_SOCIALLOGIN_PROVIDER_NAME_UPPER' => contrexx_raw2xhtml(ucfirst($socialloginProviderName)), 'TXT_ACCESS_SOCIALLOGIN_PROVIDER_ENABLED' => $_ARRAYLANG['TXT_ACCESS_SOCIALLOGIN_PROVIDER_ENABLED'], 'ACCESS_SOCIALLOGIN_PROVIDER_ENABLED_CHECKED' => $currentUserIsAdmin && $providerObject->isActive() ? 'checked="checked"' : '', 'ACCESS_SOCIALLOGIN_PROVIDER_DISABLED' => $currentUserIsAdmin ? '' : 'disabled="disabled"')); $this->_objTpl->parse('access_sociallogin_provider'); $socialloginProviderRow++; } $this->_objTpl->setVariable(array('ACCESS_SOCIALLOGIN_TOGGLE' => $arrSettings['sociallogin']['status'] ? '' : 'none')); $arrAssignedGroups = explode(',', $arrSettings['sociallogin_assign_to_groups']['value']); $notAssignedGroups = ''; $assignedGroups = ''; $objFWUser = \FWUser::getFWUserObject(); $objGroup = $objFWUser->objGroup->getGroups(); while (!$objGroup->EOF) { $groupVar = in_array($objGroup->getId(), $arrAssignedGroups) ? 'assignedGroups' : 'notAssignedGroups'; ${$groupVar} .= '<option value="' . $objGroup->getId() . '">' . contrexx_raw2xhtml($objGroup->getName()) . ' [' . $objGroup->getType() . ']</option>'; $objGroup->next(); } $this->_objTpl->setVariable(array('ACCESS_USER_NOT_ASSOCIATED_GROUPS' => $notAssignedGroups, 'ACCESS_USER_ASSOCIATED_GROUPS' => $assignedGroups)); $this->parseAccountAttribute(null, 'profile_access', true, $arrSettings['default_profile_access']['value']); $this->parseAccountAttribute(null, 'email_access', true, $arrSettings['default_email_access']['value']); $this->_objTpl->setVariable(array('ACCESS_ALLOW_USERS_DELETE_ACCOUNT' => $arrSettings['user_delete_account']['status'] ? 'checked="checked"' : '', 'ACCESS_DONT_ALLOW_USERS_DELETE_ACCOUNT' => $arrSettings['user_delete_account']['status'] ? '' : 'checked="checked"', 'ACCESS_ALLOW_USERS_SET_PROFILE_ACCESS' => $arrSettings['user_config_profile_access']['status'] ? 'checked="checked"' : '', 'ACCESS_DONT_ALLOW_USERS_SET_PROFILE_ACCESS' => $arrSettings['user_config_profile_access']['status'] ? '' : 'checked="checked"', 'ACCESS_ALLOW_USERS_SET_EMAIL_ACCESS' => $arrSettings['user_config_email_access']['status'] ? 'checked="checked"' : '', 'ACCESS_DONT_ALLOW_USERS_SET_EMAIL_ACCESS' => $arrSettings['user_config_email_access']['status'] ? '' : 'checked="checked"', 'ACCESS_BLOCKS_CURRENTLY_ONLINE_USERS' => $arrSettings['block_currently_online_users']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_CURRENTLY_ONLINE_USERS_DISPLAY' => $arrSettings['block_currently_online_users']['status'] ? '' : 'none', 'ACCESS_BLOCKS_CURRENTLY_ONLINE_USERS_USER_COUNT' => $arrSettings['block_currently_online_users']['value'], 'ACCESS_BLOCKS_CURRENTLY_ONLINE_USERS_ONLY_WITH_PHOTO' => $arrSettings['block_currently_online_users_pic']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_LAST_ACTIVE_USERS' => $arrSettings['block_last_active_users']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_LAST_ACTIVE_USERS_DISPLAY' => $arrSettings['block_last_active_users']['status'] ? '' : 'none', 'ACCESS_BLOCKS_LAST_ACTIVE_USERS_USER_COUNT' => $arrSettings['block_last_active_users']['value'], 'ACCESS_BLOCKS_LAST_ACTIVE_USERS_ONLY_WITH_PHOTO' => $arrSettings['block_last_active_users_pic']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_LATEST_REGISTERED_USERS' => $arrSettings['block_latest_reg_users']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_LATEST_REGISTERED_USERS_DISPLAY' => $arrSettings['block_latest_reg_users']['status'] ? '' : 'none', 'ACCESS_BLOCKS_LATEST_REGISTERED_USERS_USER_COUNT' => $arrSettings['block_latest_reg_users']['value'], 'ACCESS_BLOCKS_LATEST_REGISTERED_USERS_ONLY_WITH_PHOTO' => $arrSettings['block_latest_reg_users_pic']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_BIRTHDAY_USERS' => $arrSettings['block_birthday_users']['status'] ? 'checked="checked"' : '', 'ACCESS_BLOCKS_BIRTHDAY_USERS_DISPLAY' => $arrSettings['block_birthday_users']['status'] ? '' : 'none', 'ACCESS_BLOCKS_BIRTHDAY_USERS_USER_COUNT' => $arrSettings['block_birthday_users']['value'], 'ACCESS_BLOCKS_BIRTHDAY_USERS_ONLY_WITH_PHOTO' => $arrSettings['block_birthday_users_pic']['status'] ? 'checked="checked"' : '', 'ACCESS_MAX_PROFILE_PIC_WIDTH' => $arrSettings['max_profile_pic_width']['value'], 'ACCESS_MAX_PROFILE_PIC_HEIGHT' => $arrSettings['max_profile_pic_height']['value'], 'ACCESS_PROFILE_THUMBNAIL_PIC_WIDTH' => $arrSettings['profile_thumbnail_pic_width']['value'], 'ACCESS_PROFILE_THUMBNAIL_PIC_HEIGHT' => $arrSettings['profile_thumbnail_pic_height']['value'], 'ACCESS_MAX_PROFILE_PIC_SIZE' => \FWSystem::getLiteralSizeFormat($arrSettings['max_profile_pic_size']['value']), 'ACCESS_MAX_PIC_WIDTH' => $arrSettings['max_pic_width']['value'], 'ACCESS_MAX_PIC_HEIGHT' => $arrSettings['max_pic_height']['value'], 'ACCESS_MAX_THUMBNAIL_PIC_WIDTH' => $arrSettings['max_thumbnail_pic_width']['value'], 'ACCESS_MAX_THUMBNAIL_PIC_HEIGHT' => $arrSettings['max_thumbnail_pic_height']['value'], 'ACCESS_SESSION_USER_INTERVAL' => $arrSettings['session_user_interval']['value'], 'ACCESS_MAX_PIC_SIZE' => \FWSystem::getLiteralSizeFormat($arrSettings['max_pic_size']['value']), 'ACCESS_PROFILE_THUMBNAIL_CROP' => $arrSettings['profile_thumbnail_method']['value'] == 'crop' ? 'selected="selected"' : '', 'ACCESS_PROFILE_THUMBNAIL_SCALE' => $arrSettings['profile_thumbnail_method']['value'] == 'scale' ? 'selected="selected"' : '', 'ACCESS_PROFILE_THUMBNAIL_SCALE_BOX' => $arrSettings['profile_thumbnail_method']['value'] == 'scale' ? 'inline' : 'none', 'ACCESS_PROFILE_THUMBNAIL_SCALE_COLOR' => $arrSettings['profile_thumbnail_scale_color']['value'], 'ACCESS_USE_USERNAMES' => $arrSettings['use_usernames']['status'] ? 'checked="checked"' : '', 'ACCESS_DONT_USE_USERNAMES' => $arrSettings['use_usernames']['status'] ? '' : 'checked="checked"', 'ACCESS_SOCIALLOGIN_ENABLED' => $arrSettings['sociallogin']['status'] ? 'checked="checked"' : '', 'ACCESS_SOCIALLOGIN_NOT_ENABLED' => $arrSettings['sociallogin']['status'] ? '' : 'checked="checked"', 'ACCESS_SOCIALLOGIN_SHOW_SIGNUP_ENABLED' => $arrSettings['sociallogin_show_signup']['status'] ? 'checked="checked"' : '', 'ACCESS_SOCIALLOGIN_SHOW_SIGNUP_NOT_ENABLED' => $arrSettings['sociallogin_show_signup']['status'] ? '' : 'checked="checked"', 'ACCESS_SOCIALLOGIN_ACTIVATED_AUTOMATICALLY_ENABLED' => $arrSettings['sociallogin_active_automatically']['status'] ? 'checked="checked"' : '', 'ACCESS_SOCIALLOGIN_ACTIVATED_AUTOMATICALLY_NOT_ENABLED' => $arrSettings['sociallogin_active_automatically']['status'] ? '' : 'checked="checked"', 'ACCESS_SOCIALLOGIN_ACTIVATION_TIMEOUT' => intval($arrSettings['sociallogin_activation_timeout']['value']), 'ACCESS_USSER_ACCOUNT_VERIFICATION_CHECKED' => $arrSettings['user_account_verification']['value'] == 1 ? 'checked' : '')); $this->_objTpl->parse('module_access_config_general'); }
/** * Create an Image * @param string $strPathOld: The old path of the image * @param string $strPathNew: The new path for the created image * @param string $strFileOld: The name of the old file * @param string $strFileNew: The name of the new file * @param integer $intNewWidth: Width of the new image * @param integer $intNewHeight: Height of the new image * @param integer $intQuality: Quality of the new image */ function createImages_JPG_GIF_PNG($strPathOld, $strPathNew, $strFileOld, $strFileNew, $intNewWidth, $intNewHeight, $intQuality) { global $_ARRAYLANG; //TODO: sometimes, strings are passed... this is a workaround $intNewWidth = intval($intNewWidth); $intNewHeight = intval($intNewHeight); //copy image $intSize = getimagesize($strPathOld . $strFileOld); //ermittelt die Gr��e des Bildes $intWidth = $intSize[0]; //die Breite des Bildes $intHeight = $intSize[1]; //die H�he des Bildes $strType = $intSize[2]; //type des Bildes if (file_exists($strPathNew . $strFileNew)) { \Cx\Lib\FileSystem\FileSystem::makeWritable($strPathNew . $strFileNew); } else { try { $objFile = new \Cx\Lib\FileSystem\File($strPathNew . $strFileNew); $objFile->touch(); $objFile->makeWritable(); } catch (\Cx\Lib\FileSystem\FileSystemException $e) { \DBG::msg($e->getMessage()); } } // TODO: Unfortunately, the functions imagegif(), imagejpeg() and imagepng() can't use the Cloudrexx FileSystem wrapper, // therefore we need to set the global write access image files. // This issue might be solved by using the output-buffer and write the image manually afterwards. // // IMPORTANT: In case something went wrong (see bug #1441) and the path $strPathNew.$strFileNew refers to a directory // we must abort the operation here, otherwise we would remove the execution flag on a directory, which would // cause to remove any browsing access to the directory. if (is_dir($strPathNew . $strFileNew)) { return false; } \Cx\Lib\FileSystem\FileSystem::chmod($strPathNew . $strFileNew, 0666); //\Cx\Lib\FileSystem\FileSystem::CHMOD_FILE); //fix cases of zeroes if ($intNewWidth == 0) { if ($intNewHeight == 0) { $intNewHeight = $this->arrSettings['standard_height_abs']; } if ($intNewHeight == 0) { //set a standard value if the settings default to 0 $intNewHeight = 100; } $intNewWidth = round($intWidth * $intNewHeight / $intHeight, 0); } else { if ($intNewHeight == 0) { $intNewHeight = round($intHeight * $intNewWidth / $intWidth, 0); } } $objSystem = new \FWSystem(); if ($objSystem === false) { return false; } if (is_array($intSize)) { $memoryLimit = $objSystem->getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); // a $memoryLimit of zero means that there is no limit. so let's try it and hope that the host system has enough memory if (!empty($memoryLimit)) { $potentialRequiredMemory = $intSize[0] * $intSize[1] * ($intSize['bits'] / 8) * $intSize['channels'] * 1.8 * 2; if (function_exists('memory_get_usage')) { $potentialRequiredMemory += memory_get_usage(); } else { // add a default of 10 MBytes $potentialRequiredMemory += 10 * pow(1024, 2); } if ($potentialRequiredMemory > $memoryLimit) { // try to set a higher memory_limit @ini_set('memory_limit', $potentialRequiredMemory); $curr_limit = $objSystem->getBytesOfLiteralSizeFormat(@ini_get('memory_limit')); if ($curr_limit < $potentialRequiredMemory) { return false; } } } } else { return false; } switch ($strType) { case 1: //GIF if ($this->boolGifEnabled) { $handleImage1 = ImageCreateFromGif($strPathOld . $strFileOld); $handleImage2 = @ImageCreateTrueColor($intNewWidth, $intNewHeight); ImageCopyResampled($handleImage2, $handleImage1, 0, 0, 0, 0, $intNewWidth, $intNewHeight, $intWidth, $intHeight); ImageGif($handleImage2, $strPathNew . $strFileNew); ImageDestroy($handleImage1); ImageDestroy($handleImage2); } else { $this->strErrMessage = $_ARRAYLANG['TXT_GALLERY_NO_GIF_SUPPORT']; } break; case 2: //JPG if ($this->boolJpgEnabled) { $handleImage1 = ImageCreateFromJpeg($strPathOld . $strFileOld); $handleImage2 = ImageCreateTrueColor($intNewWidth, $intNewHeight); ImageCopyResampled($handleImage2, $handleImage1, 0, 0, 0, 0, $intNewWidth, $intNewHeight, $intWidth, $intHeight); ImageJpeg($handleImage2, $strPathNew . $strFileNew, $intQuality); ImageDestroy($handleImage1); ImageDestroy($handleImage2); } else { $this->strErrMessage = $_ARRAYLANG['TXT_GALLERY_NO_JPG_SUPPORT']; } break; case 3: //PNG if ($this->boolPngEnabled) { $handleImage1 = ImageCreateFromPNG($strPathOld . $strFileOld); $handleImage2 = @ImageCreateTrueColor($intNewWidth, $intNewHeight); ImageAlphaBlending($handleImage2, false); ImageSaveAlpha($handleImage2, true); ImageCopyResampled($handleImage2, $handleImage1, 0, 0, 0, 0, $intNewWidth, $intNewHeight, $intWidth, $intHeight); ImagePNG($handleImage2, $strPathNew . $strFileNew); ImageDestroy($handleImage1); ImageDestroy($handleImage2); } else { $this->strErrMessage = $_ARRAYLANG['TXT_GALLERY_NO_PNG_SUPPORT']; } break; } return true; }