function HookUser_preferencesuser_preferencesSaveadditionaluserpreferences()
{
    global $user_preferences_change_username, $user_preferences_change_email, $user_preferences_change_name, $userref, $useremail, $username, $userfullname, $lang;
    $newUsername = trim(safe_file_name(getvalescaped('username', $username)));
    $newEmail = getvalescaped('email', $userfullname);
    $newFullname = getvalescaped('fullname', $userfullname);
    # Check if a user with that username already exists
    if ($user_preferences_change_username && $username != $newUsername) {
        $existing = sql_query('select ref from user where username=\'' . escape_check($newUsername) . '\'');
        if (!empty($existing)) {
            $GLOBALS['errorUsername'] = $lang['useralreadyexists'];
            return false;
        }
    }
    # Check if a user with that email already exists
    if ($user_preferences_change_email && $useremail != $newEmail) {
        $existing = sql_query('select ref from user where email=\'' . escape_check($newEmail) . '\'');
        if (!empty($existing)) {
            $GLOBALS['errorEmail'] = $lang['useremailalreadyexists'];
            return false;
        }
    }
    # Store changed values in DB, and update the global variables as header.php is included next
    if ($user_preferences_change_username && $username != $newUsername) {
        sql_query("update user set username='******' where ref='" . $userref . "'");
        $username = $newUsername;
    }
    if ($user_preferences_change_email && $useremail != $newEmail) {
        sql_query("update user set email='" . escape_check($newEmail) . "' where ref='" . $userref . "'");
        $useremail = $newEmail;
    }
    if ($user_preferences_change_name && $userfullname != $newFullname) {
        sql_query("update user set fullname='" . escape_check($newFullname) . "' where ref='" . $userref . "'");
        $userfullname = $newFullname;
    }
    return getvalescaped('currentpassword', '') == '' || getvalescaped('password', '') == '' && getvalescaped('password2', '') == '';
}
Esempio n. 2
0
function make_username($name)
{
    # Generates a unique username for the given name
    # First compress the various name parts
    $s = trim_array(explode(" ", $name));
    $name = $s[count($s) - 1];
    for ($n = count($s) - 2; $n >= 0; $n--) {
        $name = substr($s[$n], 0, 1) . $name;
    }
    $name = safe_file_name(strtolower($name));
    # Create fullname usernames:
    global $user_account_fullname_create;
    if ($user_account_fullname_create) {
        $name = '';
        foreach ($s as $name_part) {
            $name .= '_' . $name_part;
        }
        $name = substr($name, 1);
        $name = safe_file_name($name);
    }
    # Check for uniqueness... append an ever-increasing number until unique.
    $unique = false;
    $num = -1;
    while (!$unique) {
        $num++;
        $c = sql_value("select count(*) value from user where username='******'", 0);
        $unique = $c == 0;
    }
    return $name . ($num == 0 ? "" : $num);
}
 # Archive created, schedule the command file for deletion.
 if (!$use_zip_extension) {
     $deletion_array[] = $cmdfile;
 }
 # Remove temporary files.
 foreach ($deletion_array as $tmpfile) {
     delete_exif_tmpfile($tmpfile);
 }
 # Get the file size of the archive.
 $filesize = @filesize_unlimited($zipfile);
 if ($use_collection_name_in_zip_name) {
     # Use collection name (if configured)
     if ($archiver) {
         $filename = $lang["collectionidprefix"] . $collection . "-" . safe_file_name(i18n_get_collection_name($collectiondata)) . "-" . $size . "." . $collection_download_settings[$settings_id]["extension"];
     } else {
         $filename = $lang["collectionidprefix"] . $collection . "-" . safe_file_name(i18n_get_collection_name($collectiondata)) . "-" . $size . ".zip";
     }
 } else {
     # Do not include the collection name in the filename (default)
     if ($archiver) {
         $filename = $lang["collectionidprefix"] . $collection . "-" . $size . "." . $collection_download_settings[$settings_id]["extension"];
     } else {
         $filename = $lang["collectionidprefix"] . $collection . "-" . $size . ".zip";
     }
 }
 header("Content-Disposition: attachment; filename=" . $filename);
 if ($archiver) {
     header("Content-Type: " . $collection_download_settings[$settings_id]["mime"]);
 } else {
     header("Content-Type: application/zip");
 }
Esempio n. 4
0
function register_plugin($plugin)
{
    global $plugins, $language, $pagename, $lang, $applicationname;
    # Include language file
    $langpath = dirname(__FILE__) . "/../plugins/" . $plugin . "/languages/";
    if (file_exists($langpath . "en.php")) {
        include $langpath . "en.php";
    }
    if ($language != "en") {
        if (substr($language, 2, 1) == '-' && substr($language, 0, 2) != 'en') {
            @(include $langpath . safe_file_name(substr($language, 0, 2)) . ".php");
        }
        @(include $langpath . safe_file_name($language) . ".php");
    }
    # Also include plugin hook file for this page.
    if ($pagename == "collections_frameless_loader") {
        $pagename = "collections";
    }
    $hookpath = dirname(__FILE__) . "/../plugins/" . $plugin . "/hooks/" . $pagename . ".php";
    if (file_exists($hookpath)) {
        include $hookpath;
    }
    # Support an 'all' hook
    $hookpath = dirname(__FILE__) . "/../plugins/" . $plugin . "/hooks/all.php";
    if (file_exists($hookpath)) {
        include $hookpath;
    }
    return true;
}
Esempio n. 5
0
function append_to_uploads($entry, $tmp_file)
{
    // add system information
    $entry['uploaded'] = time();
    $entry['request'] = $_SERVER;
    $entry['original_name'] = $entry['name'];
    $entry['session'] = get_session_id();
    $safe_name = safe_file_name($entry['name']);
    $entry['name'] = $safe_name;
    $n = 1;
    while (file_exists($entry['name'])) {
        // make filename unique
        $entry['name'] = $n . '_' . $safe_name;
        $n++;
    }
    rename($tmp_file, get_storage_folder() . '/' . $entry['name']);
    if (lock(get_storage_folder() . '/.lock', true)) {
        $setup = get_setup();
        $setup['uploads'][md5(microtime())] = $entry;
        save_setup($setup);
        lock(get_storage_folder() . '/.lock', false);
    }
}
Esempio n. 6
0
if ($language=="us") {$language="en-US";}

# Make sure the provided language is a valid language
if (!array_key_exists($language,$languages))
	{
		if (isset($defaultlanguage))
			$language=$defaultlanguage;
		else
			$language='en';
	}

# Always include the english pack (in case items have not yet been translated)
include dirname(__FILE__)."/../languages/en.php";
if ($language!="en")
	{
	include dirname(__FILE__)."/../languages/" . safe_file_name($language) . ".php";
	}

# Register all plugins
for ($n=0;$n<count($plugins);$n++)
	{
	register_plugin($plugins[$n]);
	}

# Set character set.
if (($pagename!="download") && ($pagename!="graph")) {header("Content-Type: text/html; charset=UTF-8");} // Make sure we're using UTF-8.
#------------------------------------------------------


# Pre-load all text for this page.
$site_text=array();
Esempio n. 7
0
/**
 * Sets the language to be used.
 *
 * @param string $defaultlanguage
 * @return array 
 */
function set_language($defaultlanguage)
{
    global $languages;
    global $storagedir, $applicationname, $homeanim_folder;
    # Used in the language files.
    $defaultlanguage = safe_file_name($defaultlanguage);
    if (file_exists("../languages/en.php")) {
        include "../languages/en.php";
    }
    if ($defaultlanguage == '') {
        //See if we can auto-detect the most likely language.  The user can override this.
        if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
            $httplanguage = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
            if (array_key_exists($httplanguage[0], $languages)) {
                $defaultlanguage = $httplanguage[0];
            }
        }
    }
    if ($defaultlanguage != 'en') {
        if (file_exists("../languages/" . $defaultlanguage . ".php")) {
            include "../languages/" . $defaultlanguage . ".php";
        }
    }
    return $lang;
}
Esempio n. 8
0
function register_plugin_language($plugin)
{
    global $plugins, $language, $pagename, $lang, $applicationname;
    # Include language file
    $langpath = dirname(__FILE__) . "/../plugins/" . $plugin . "/languages/";
    if (file_exists($langpath . "en.php")) {
        include $langpath . "en.php";
    }
    if ($language != "en") {
        if (substr($language, 2, 1) == '-' && substr($language, 0, 2) != 'en') {
            @(include $langpath . safe_file_name(substr($language, 0, 2)) . ".php");
        }
        @(include $langpath . safe_file_name($language) . ".php");
    }
}
     }
 }
 # Archive created, schedule the command file for deletion.
 $deletion_array[] = $cmdfile;
 # Remove temporary files.
 foreach ($deletion_array as $tmpfile) {
     delete_exif_tmpfile($tmpfile);
 }
 # Get the file size of the archive.
 $filesize = @filesize_unlimited(get_temp_dir() . "/" . $file);
 if ($use_collection_name_in_zip_name) {
     # Use collection name (if configured)
     if ($archiver) {
         $filename = $lang["collectionidprefix"] . $collection . "-" . safe_file_name(i18n_get_translated($collectiondata['name'])) . "-" . $size . "." . $collection_download_settings[$settings_id]["extension"];
     } else {
         $filename = $lang["collectionidprefix"] . $collection . "-" . safe_file_name(i18n_get_translated($collectiondata['name'])) . "-" . $size . ".zip";
     }
 } else {
     # Do not include the collection name in the filename (default)
     if ($archiver) {
         $filename = $lang["collectionidprefix"] . $collection . "-" . $size . "." . $collection_download_settings[$settings_id]["extension"];
     } else {
         $filename = $lang["collectionidprefix"] . $collection . "-" . $size . ".zip";
     }
 }
 header("Content-Disposition: attachment; filename=" . $filename);
 if ($archiver) {
     header("Content-Type: " . $collection_download_settings[$settings_id]["mime"]);
 } else {
     header("Content-Type: application/zip");
 }
    # Get the file size of the archive.
    $filesize = @filesize_unlimited($zipfile);

	if ($archiver)
		$suffix = '.' . $collection_download_settings[$settings_id]['extension'];
	else
		$suffix = '.zip';

	$filename = hook('changecollectiondownloadname', null, array($collection, $size, $suffix));
	if (empty($filename))
		{
		if ($use_collection_name_in_zip_name)
			{
			# Use collection name (if configured)
			$filename = $lang["collectionidprefix"] . $collection . "-"
					. safe_file_name(i18n_get_collection_name($collectiondata)) . "-" . $size
					. $suffix;
			}
		else
			{
			# Do not include the collection name in the filename (default)
			$filename = $lang["collectionidprefix"] . $collection . "-" . $size . $suffix;
			}
		}

	header("Content-Disposition: attachment; filename=" . $filename);
    if ($archiver) {header("Content-Type: " . $collection_download_settings[$settings_id]["mime"]);}
    else {
	header("Content-Type: application/zip");}
	if ($use_zip_extension){header("Content-Transfer-Encoding: binary");}
	header("Content-Length: " . $filesize);