From 17c17807cc0b63d322d56acfae4f30399041cdb5 Mon Sep 17 00:00:00 2001 From: brettp Date: Fri, 16 Oct 2009 02:33:55 +0000 Subject: Standardized files git-svn-id: http://code.elgg.org/elgg/trunk@3553 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/tests/objects/objects.php | 19 + engine/tests/suite.php | 2 +- friends/index.php | 41 +- friends/of.php | 40 +- friends/pickercallback.php | 109 +- index.php | 68 +- install.php | 70 +- languages/en.php | 2074 +++++++++++++++++++------------------- search/groups.php | 67 +- search/index.php | 156 +-- search/users.php | 67 +- services/api/rest.php | 113 ++- services/export/handler.php | 218 ++-- settings/index.php | 45 +- settings/plugins.php | 39 +- settings/statistics.php | 39 +- settings/user.php | 45 +- simplecache/view.php | 122 +-- upgrade.php | 59 +- version.php | 29 +- 20 files changed, 1700 insertions(+), 1722 deletions(-) diff --git a/engine/tests/objects/objects.php b/engine/tests/objects/objects.php index 632ff4c38..d30e4fae4 100644 --- a/engine/tests/objects/objects.php +++ b/engine/tests/objects/objects.php @@ -163,6 +163,25 @@ class ElggCoreObjectTest extends ElggCoreUnitTest { $this->assertIdentical($exportables, $this->entity->getExportableValues()); } + + public function xtestElggObjectAccessOverrides() { + // set entity to private access with no owner. + $entity = $this->entity; + $entity->access_id = ACCESS_PRIVATE; + $entity->owner_guid = 0; + $this->assertTrue($entity->save()); + $guid = $entity->getGUID(); + + var_dump($guid); + // try to grab entity + $entity = false; + $entity = get_entity($guid); + var_dump($entity); + $this->assertFalse($entity); + + $old = elgg_set_ignore_access(true); + } + protected function get_object_row($guid) { diff --git a/engine/tests/suite.php b/engine/tests/suite.php index dbe88065a..01056a218 100755 --- a/engine/tests/suite.php +++ b/engine/tests/suite.php @@ -36,7 +36,7 @@ if ($CONFIG->debug > 0) { exit ($suite->Run(new TextReporter()) ? 0 : 1 ); } // Ensure that only logged-in users can see this page - admin_gatekeeper(); + //admin_gatekeeper(); $old = elgg_set_ignore_access(TRUE); $suite->Run(new HtmlReporter()); elgg_set_ignore_access($old); diff --git a/friends/index.php b/friends/index.php index f2e3d60be..56df278ad 100644 --- a/friends/index.php +++ b/friends/index.php @@ -1,27 +1,22 @@ getGUID()); + $owner = $_SESSION['user']; +} +$friends = sprintf(elgg_echo("friends:owned"),$owner->name); - * @author Curverider Ltd +$area1 = elgg_view_title($friends); +$area2 = list_entities_from_relationship('friend',$owner->getGUID(),false,'user','',0,10,false); +$body = elgg_view_layout('two_column_left_sidebar', '', $area1 . $area2); - * @link http://elgg.org/ - */ - - if (!$owner = page_owner_entity()) { - gatekeeper(); - set_page_owner($_SESSION['user']->getGUID()); - $owner = $_SESSION['user']; - } - $friends = sprintf(elgg_echo("friends:owned"),$owner->name); - - $area1 = elgg_view_title($friends); - $area2 = list_entities_from_relationship('friend',$owner->getGUID(),false,'user','',0,10,false); - $body = elgg_view_layout('two_column_left_sidebar', '', $area1 . $area2); - - page_draw($friends, $body); - -?> +page_draw($friends, $body); diff --git a/friends/of.php b/friends/of.php index fb7b6d659..c2e8a785e 100644 --- a/friends/of.php +++ b/friends/of.php @@ -1,27 +1,23 @@ getGUID()); + $owner = $_SESSION['user']; +} +$friends_of = sprintf(elgg_echo("friends:of:owned"),$owner->name); - * @author Curverider Ltd +$area1 = elgg_view_title($friends_of); +$area2 = list_entities_from_relationship('friend',$owner->getGUID(),true,'user','',0,10,false); +$body = elgg_view_layout('two_column_left_sidebar', '', $area1 . $area2); - * @link http://elgg.org/ - */ +page_draw($friends_of, $body); - if (!$owner = page_owner_entity()) { - gatekeeper(); - set_page_owner($_SESSION['user']->getGUID()); - $owner = $_SESSION['user']; - } - $friends_of = sprintf(elgg_echo("friends:of:owned"),$owner->name); - - $area1 = elgg_view_title($friends_of); - $area2 = list_entities_from_relationship('friend',$owner->getGUID(),true,'user','',0,10,false); - $body = elgg_view_layout('two_column_left_sidebar', '', $area1 . $area2); - - page_draw($friends_of, $body); - -?> diff --git a/friends/pickercallback.php b/friends/pickercallback.php index 57406b94d..4fe08b505 100644 --- a/friends/pickercallback.php +++ b/friends/pickercallback.php @@ -1,61 +1,60 @@ $friendspicker, 'count' => sizeof($members))); - $content = elgg_view('friends/tablelist',array('entities' => $members, 'content' => $js_segment)); - break; - default: $friends = $pageowner->getFriends('',9999); - $content = elgg_view('friends/picker',array( - 'entities' => $friends, - 'value' => $members, - 'callback' => true, - 'friendspicker' => $friendspicker, - 'formcontents' => elgg_view('friends/forms/collectionfields',array('collection' => get_access_collection($collection))), - 'formtarget' => $CONFIG->wwwroot . 'action/friends/editcollection', - )); - break; - - } - - // Output the content - echo $content; - -?> \ No newline at end of file +// Get page owner (bomb out if there isn't one) +$pageowner = page_owner_entity(); +if (!$pageowner) { + forward(); + exit; +} + +// Depending on the view type, launch a different view +switch($type) { + case 'list': + $js_segment = elgg_view('friends/tablelistcountupdate',array('friendspicker' => $friendspicker, 'count' => sizeof($members))); + $content = elgg_view('friends/tablelist',array('entities' => $members, 'content' => $js_segment)); + break; + default: + $friends = $pageowner->getFriends('',9999); + $content = elgg_view('friends/picker',array( + 'entities' => $friends, + 'value' => $members, + 'callback' => true, + 'friendspicker' => $friendspicker, + 'formcontents' => elgg_view('friends/forms/collectionfields',array('collection' => get_access_collection($collection))), + 'formtarget' => $CONFIG->wwwroot . 'action/friends/editcollection', + )); + break; +} + +// Output the content +echo $content; \ No newline at end of file diff --git a/index.php b/index.php index effdac99d..18ca84d56 100644 --- a/index.php +++ b/index.php @@ -1,44 +1,36 @@ \ No newline at end of file + //Load the front page + global $CONFIG; + $title = elgg_view_title(elgg_echo('content:latest')); + set_context('search'); + $content = list_registered_entities(0,10,true,false,array('object','group')); + set_context('main'); + global $autofeed; + $autofeed = false; + $content = elgg_view_layout('two_column_left_sidebar', '', $title . $content, elgg_view("account/forms/login")); + page_draw(null, $content); +} \ No newline at end of file diff --git a/install.php b/install.php index 48290fdf0..83d0a40c7 100644 --- a/install.php +++ b/install.php @@ -1,42 +1,38 @@ \ No newline at end of file +/** + * Load the front page + */ +page_draw(elgg_echo("installation:settings"), elgg_view_layout("one_column", elgg_view("settings/install"))); \ No newline at end of file diff --git a/languages/en.php b/languages/en.php index f5ad44987..d4092f8dc 100644 --- a/languages/en.php +++ b/languages/en.php @@ -1,854 +1,862 @@ 'Sites', - - /** - * Sessions - */ - - 'login' => "Log in", - 'loginok' => "You have been logged in.", - 'loginerror' => "We couldn't log you in. This may be because you haven't validated your account yet, the details you supplied were incorrect, or you have made too many incorrect login attempts. Make sure your details are correct and please try again.", - - 'logout' => "Log out", - 'logoutok' => "You have been logged out.", - 'logouterror' => "We couldn't log you out. Please try again.", - - /** - * Errors - */ - 'exception:title' => "Welcome to Elgg.", - - 'InstallationException:CantCreateSite' => "Unable to create a default ElggSite with credentials Name:%s, Url: %s", - - 'actionundefined' => "The requested action (%s) was not defined in the system.", - 'actionloggedout' => "Sorry, you cannot perform this action while logged out.", - - 'notfound' => "The requested resource could not be found, or you do not have access to it.", - - 'SecurityException:Codeblock' => "Denied access to execute privileged code block", - 'DatabaseException:WrongCredentials' => "Elgg couldn't connect to the database using the given credentials.", - 'DatabaseException:NoConnect' => "Elgg couldn't select the database '%s', please check that the database is created and you have access to it.", - 'SecurityException:FunctionDenied' => "Access to privileged function '%s' is denied.", - 'DatabaseException:DBSetupIssues' => "There were a number of issues: ", - 'DatabaseException:ScriptNotFound' => "Elgg couldn't find the requested database script at %s.", - - 'IOException:FailedToLoadGUID' => "Failed to load new %s from GUID:%d", - 'InvalidParameterException:NonElggObject' => "Passing a non-ElggObject to an ElggObject constructor!", - 'InvalidParameterException:UnrecognisedValue' => "Unrecognised value passed to constuctor.", - - 'InvalidClassException:NotValidElggStar' => "GUID:%d is not a valid %s", - - 'PluginException:MisconfiguredPlugin' => "%s is a misconfigured plugin.", - - 'InvalidParameterException:NonElggUser' => "Passing a non-ElggUser to an ElggUser constructor!", - - 'InvalidParameterException:NonElggSite' => "Passing a non-ElggSite to an ElggSite constructor!", - - 'InvalidParameterException:NonElggGroup' => "Passing a non-ElggGroup to an ElggGroup constructor!", - - 'IOException:UnableToSaveNew' => "Unable to save new %s", - - 'InvalidParameterException:GUIDNotForExport' => "GUID has not been specified during export, this should never happen.", - 'InvalidParameterException:NonArrayReturnValue' => "Entity serialisation function passed a non-array returnvalue parameter", - - 'ConfigurationException:NoCachePath' => "Cache path set to nothing!", - 'IOException:NotDirectory' => "%s is not a directory.", - - 'IOException:BaseEntitySaveFailed' => "Unable to save new object's base entity information!", - 'InvalidParameterException:UnexpectedODDClass' => "import() passed an unexpected ODD class", - 'InvalidParameterException:EntityTypeNotSet' => "Entity type must be set.", - - 'ClassException:ClassnameNotClass' => "%s is not a %s.", - 'ClassNotFoundException:MissingClass' => "Class '%s' was not found, missing plugin?", - 'InstallationException:TypeNotSupported' => "Type %s is not supported. This indicates an error in your installation, most likely caused by an incomplete upgrade.", - - 'ImportException:ImportFailed' => "Could not import element %d", - 'ImportException:ProblemSaving' => "There was a problem saving %s", - 'ImportException:NoGUID' => "New entity created but has no GUID, this should not happen.", - - 'ImportException:GUIDNotFound' => "Entity '%d' could not be found.", - 'ImportException:ProblemUpdatingMeta' => "There was a problem updating '%s' on entity '%d'", - - 'ExportException:NoSuchEntity' => "No such entity GUID:%d", - - 'ImportException:NoODDElements' => "No OpenDD elements found in import data, import failed.", - 'ImportException:NotAllImported' => "Not all elements were imported.", - - 'InvalidParameterException:UnrecognisedFileMode' => "Unrecognised file mode '%s'", - 'InvalidParameterException:MissingOwner' => "File %s (%d) is missing an owner!", - 'IOException:CouldNotMake' => "Could not make %s", - 'IOException:MissingFileName' => "You must specify a name before opening a file.", - 'ClassNotFoundException:NotFoundNotSavedWithFile' => "Filestore not found or class not saved with file!", - 'NotificationException:NoNotificationMethod' => "No notification method specified.", - 'NotificationException:NoHandlerFound' => "No handler found for '%s' or it was not callable.", - 'NotificationException:ErrorNotifyingGuid' => "There was an error while notifying %d", - 'NotificationException:NoEmailAddress' => "Could not get the email address for GUID:%d", - 'NotificationException:MissingParameter' => "Missing a required parameter, '%s'", - - 'DatabaseException:WhereSetNonQuery' => "Where set contains non WhereQueryComponent", - 'DatabaseException:SelectFieldsMissing' => "Fields missing on a select style query", - 'DatabaseException:UnspecifiedQueryType' => "Unrecognised or unspecified query type.", - 'DatabaseException:NoTablesSpecified' => "No tables specified for query.", - 'DatabaseException:NoACL' => "No access control was provided on query", - - 'InvalidParameterException:NoEntityFound' => "No entity found, it either doesn't exist or you don't have access to it.", - - 'InvalidParameterException:GUIDNotFound' => "GUID:%s could not be found, or you can not access it.", - 'InvalidParameterException:IdNotExistForGUID' => "Sorry, '%s' does not exist for guid:%d", - 'InvalidParameterException:CanNotExportType' => "Sorry, I don't know how to export '%s'", - 'InvalidParameterException:NoDataFound' => "Could not find any data.", - 'InvalidParameterException:DoesNotBelong' => "Does not belong to entity.", - 'InvalidParameterException:DoesNotBelongOrRefer' => "Does not belong to entity or refer to entity.", - 'InvalidParameterException:MissingParameter' => "Missing parameter, you need to provide a GUID.", - - 'SecurityException:APIAccessDenied' => "Sorry, API access has been disabled by the administrator.", - 'SecurityException:NoAuthMethods' => "No authentication methods were found that could authenticate this API request.", - 'APIException:ApiResultUnknown' => "API Result is of an unknown type, this should never happen.", - - 'ConfigurationException:NoSiteID' => "No site ID has been specified.", - 'InvalidParameterException:UnrecognisedMethod' => "Unrecognised call method '%s'", - 'APIException:MissingParameterInMethod' => "Missing parameter %s in method %s", - 'APIException:ParameterNotArray' => "%s does not appear to be an array.", - 'APIException:UnrecognisedTypeCast' => "Unrecognised type in cast %s for variable '%s' in method '%s'", - 'APIException:InvalidParameter' => "Invalid parameter found for '%s' in method '%s'.", - 'APIException:FunctionParseError' => "%s(%s) has a parsing error.", - 'APIException:FunctionNoReturn' => "%s(%s) returned no value.", - 'SecurityException:AuthTokenExpired' => "Authentication token either missing, invalid or expired.", - 'CallException:InvalidCallMethod' => "%s must be called using '%s'", - 'APIException:MethodCallNotImplemented' => "Method call '%s' has not been implemented.", - 'APIException:AlgorithmNotSupported' => "Algorithm '%s' is not supported or has been disabled.", - 'ConfigurationException:CacheDirNotSet' => "Cache directory 'cache_path' not set.", - 'APIException:NotGetOrPost' => "Request method must be GET or POST", - 'APIException:MissingAPIKey' => "Missing X-Elgg-apikey HTTP header", - 'APIException:MissingHmac' => "Missing X-Elgg-hmac header", - 'APIException:MissingHmacAlgo' => "Missing X-Elgg-hmac-algo header", - 'APIException:MissingTime' => "Missing X-Elgg-time header", - 'APIException:TemporalDrift' => "X-Elgg-time is too far in the past or future. Epoch fail.", - 'APIException:NoQueryString' => "No data on the query string", - 'APIException:MissingPOSTHash' => "Missing X-Elgg-posthash header", - 'APIException:MissingPOSTAlgo' => "Missing X-Elgg-posthash_algo header", - 'APIException:MissingContentType' => "Missing content type for post data", - 'SecurityException:InvalidPostHash' => "POST data hash is invalid - Expected %s but got %s.", - 'SecurityException:DupePacket' => "Packet signature already seen.", - 'SecurityException:InvalidAPIKey' => "Invalid or missing API Key.", - 'NotImplementedException:CallMethodNotImplemented' => "Call method '%s' is currently not supported.", - - 'NotImplementedException:XMLRPCMethodNotImplemented' => "XML-RPC method call '%s' not implemented.", - 'InvalidParameterException:UnexpectedReturnFormat' => "Call to method '%s' returned an unexpected result.", - 'CallException:NotRPCCall' => "Call does not appear to be a valid XML-RPC call", - - 'PluginException:NoPluginName' => "The plugin name could not be found", - - 'ConfigurationException:BadDatabaseVersion' => "The database backend you have installed doesn't meet the basic requirements to run Elgg. Please consult your documentation.", - 'ConfigurationException:BadPHPVersion' => "You need at least PHP version 5.2 to run Elgg.", - 'configurationwarning:phpversion' => "Elgg requires at least PHP version 5.2, you can install it on 5.1.6 but some features may not work. Use at your own risk.", - - - 'InstallationException:DatarootNotWritable' => "Your data directory %s is not writable.", - 'InstallationException:DatarootUnderPath' => "Your data directory %s must be outside of your install path.", - 'InstallationException:DatarootBlank' => "You have not specified a data directory.", - - 'SecurityException:authenticationfailed' => "User could not be authenticated", - - 'CronException:unknownperiod' => '%s is not a recognised period.', - - 'SecurityException:deletedisablecurrentsite' => 'You can not delete or disable the site you are currently viewing!', - - 'memcache:notinstalled' => 'PHP memcache module not installed, you must install php5-memcache', - 'memcache:noservers' => 'No memcache servers defined, please populate the $CONFIG->memcache_servers variable', - 'memcache:versiontoolow' => 'Memcache needs at least version %s to run, you are running %s', - 'memcache:noaddserver' => 'Multiple server support disabled, you may need to upgrade your PECL memcache library', - - 'deprecatedfunction' => 'Warning: This code uses the deprecated function \'%s\' and is not compatible with this version of Elgg', - - 'pageownerunavailable' => 'Warning: The page owner %d is not accessible!', - /** - * API - */ - 'system.api.list' => "List all available API calls on the system.", - 'auth.gettoken' => "This API call lets a user log in, returning an authentication token which can be used in leu of a username and password for authenticating further calls.", - - /** - * User details - */ - - 'name' => "Display name", - 'email' => "Email address", - 'username' => "Username", - 'password' => "Password", - 'passwordagain' => "Password (again for verification)", - 'admin_option' => "Make this user an admin?", - - /** - * Access - */ - - 'PRIVATE' => "Private", - 'LOGGED_IN' => "Logged in users", - 'PUBLIC' => "Public", - 'access:friends:label' => "Friends", - 'access' => "Access", - - /** - * Dashboard and widgets - */ - - 'dashboard' => "Dashboard", - 'dashboard:configure' => "Edit page", - 'dashboard:nowidgets' => "Your dashboard is your gateway into the site. Click 'Edit page' to add widgets to keep track of content and your life within the system.", - - 'widgets:add' => 'Add widgets to your page', - 'widgets:add:description' => "Choose the features you want to add to your page by dragging them from the Widget gallery on the right, to any of the three widget areas below, and position them where you would like them to appear. +$english = array( + +/** + * Sites + */ + + 'item:site' => 'Sites', + +/** + * Sessions + */ + + 'login' => "Log in", + 'loginok' => "You have been logged in.", + 'loginerror' => "We couldn't log you in. This may be because you haven't validated your account yet, the details you supplied were incorrect, or you have made too many incorrect login attempts. Make sure your details are correct and please try again.", + + 'logout' => "Log out", + 'logoutok' => "You have been logged out.", + 'logouterror' => "We couldn't log you out. Please try again.", + +/** + * Errors + */ + 'exception:title' => "Welcome to Elgg.", + + 'InstallationException:CantCreateSite' => "Unable to create a default ElggSite with credentials Name:%s, Url: %s", + + 'actionundefined' => "The requested action (%s) was not defined in the system.", + 'actionloggedout' => "Sorry, you cannot perform this action while logged out.", + + 'notfound' => "The requested resource could not be found, or you do not have access to it.", + + 'SecurityException:Codeblock' => "Denied access to execute privileged code block", + 'DatabaseException:WrongCredentials' => "Elgg couldn't connect to the database using the given credentials.", + 'DatabaseException:NoConnect' => "Elgg couldn't select the database '%s', please check that the database is created and you have access to it.", + 'SecurityException:FunctionDenied' => "Access to privileged function '%s' is denied.", + 'DatabaseException:DBSetupIssues' => "There were a number of issues: ", + 'DatabaseException:ScriptNotFound' => "Elgg couldn't find the requested database script at %s.", + + 'IOException:FailedToLoadGUID' => "Failed to load new %s from GUID:%d", + 'InvalidParameterException:NonElggObject' => "Passing a non-ElggObject to an ElggObject constructor!", + 'InvalidParameterException:UnrecognisedValue' => "Unrecognised value passed to constuctor.", + + 'InvalidClassException:NotValidElggStar' => "GUID:%d is not a valid %s", + + 'PluginException:MisconfiguredPlugin' => "%s is a misconfigured plugin.", + + 'InvalidParameterException:NonElggUser' => "Passing a non-ElggUser to an ElggUser constructor!", + + 'InvalidParameterException:NonElggSite' => "Passing a non-ElggSite to an ElggSite constructor!", + + 'InvalidParameterException:NonElggGroup' => "Passing a non-ElggGroup to an ElggGroup constructor!", + + 'IOException:UnableToSaveNew' => "Unable to save new %s", + + 'InvalidParameterException:GUIDNotForExport' => "GUID has not been specified during export, this should never happen.", + 'InvalidParameterException:NonArrayReturnValue' => "Entity serialisation function passed a non-array returnvalue parameter", + + 'ConfigurationException:NoCachePath' => "Cache path set to nothing!", + 'IOException:NotDirectory' => "%s is not a directory.", + + 'IOException:BaseEntitySaveFailed' => "Unable to save new object's base entity information!", + 'InvalidParameterException:UnexpectedODDClass' => "import() passed an unexpected ODD class", + 'InvalidParameterException:EntityTypeNotSet' => "Entity type must be set.", + + 'ClassException:ClassnameNotClass' => "%s is not a %s.", + 'ClassNotFoundException:MissingClass' => "Class '%s' was not found, missing plugin?", + 'InstallationException:TypeNotSupported' => "Type %s is not supported. This indicates an error in your installation, most likely caused by an incomplete upgrade.", + + 'ImportException:ImportFailed' => "Could not import element %d", + 'ImportException:ProblemSaving' => "There was a problem saving %s", + 'ImportException:NoGUID' => "New entity created but has no GUID, this should not happen.", + + 'ImportException:GUIDNotFound' => "Entity '%d' could not be found.", + 'ImportException:ProblemUpdatingMeta' => "There was a problem updating '%s' on entity '%d'", + + 'ExportException:NoSuchEntity' => "No such entity GUID:%d", + + 'ImportException:NoODDElements' => "No OpenDD elements found in import data, import failed.", + 'ImportException:NotAllImported' => "Not all elements were imported.", + + 'InvalidParameterException:UnrecognisedFileMode' => "Unrecognised file mode '%s'", + 'InvalidParameterException:MissingOwner' => "File %s (%d) is missing an owner!", + 'IOException:CouldNotMake' => "Could not make %s", + 'IOException:MissingFileName' => "You must specify a name before opening a file.", + 'ClassNotFoundException:NotFoundNotSavedWithFile' => "Filestore not found or class not saved with file!", + 'NotificationException:NoNotificationMethod' => "No notification method specified.", + 'NotificationException:NoHandlerFound' => "No handler found for '%s' or it was not callable.", + 'NotificationException:ErrorNotifyingGuid' => "There was an error while notifying %d", + 'NotificationException:NoEmailAddress' => "Could not get the email address for GUID:%d", + 'NotificationException:MissingParameter' => "Missing a required parameter, '%s'", + + 'DatabaseException:WhereSetNonQuery' => "Where set contains non WhereQueryComponent", + 'DatabaseException:SelectFieldsMissing' => "Fields missing on a select style query", + 'DatabaseException:UnspecifiedQueryType' => "Unrecognised or unspecified query type.", + 'DatabaseException:NoTablesSpecified' => "No tables specified for query.", + 'DatabaseException:NoACL' => "No access control was provided on query", + + 'InvalidParameterException:NoEntityFound' => "No entity found, it either doesn't exist or you don't have access to it.", + + 'InvalidParameterException:GUIDNotFound' => "GUID:%s could not be found, or you can not access it.", + 'InvalidParameterException:IdNotExistForGUID' => "Sorry, '%s' does not exist for guid:%d", + 'InvalidParameterException:CanNotExportType' => "Sorry, I don't know how to export '%s'", + 'InvalidParameterException:NoDataFound' => "Could not find any data.", + 'InvalidParameterException:DoesNotBelong' => "Does not belong to entity.", + 'InvalidParameterException:DoesNotBelongOrRefer' => "Does not belong to entity or refer to entity.", + 'InvalidParameterException:MissingParameter' => "Missing parameter, you need to provide a GUID.", + + 'SecurityException:APIAccessDenied' => "Sorry, API access has been disabled by the administrator.", + 'SecurityException:NoAuthMethods' => "No authentication methods were found that could authenticate this API request.", + 'APIException:ApiResultUnknown' => "API Result is of an unknown type, this should never happen.", + + 'ConfigurationException:NoSiteID' => "No site ID has been specified.", + 'InvalidParameterException:UnrecognisedMethod' => "Unrecognised call method '%s'", + 'APIException:MissingParameterInMethod' => "Missing parameter %s in method %s", + 'APIException:ParameterNotArray' => "%s does not appear to be an array.", + 'APIException:UnrecognisedTypeCast' => "Unrecognised type in cast %s for variable '%s' in method '%s'", + 'APIException:InvalidParameter' => "Invalid parameter found for '%s' in method '%s'.", + 'APIException:FunctionParseError' => "%s(%s) has a parsing error.", + 'APIException:FunctionNoReturn' => "%s(%s) returned no value.", + 'SecurityException:AuthTokenExpired' => "Authentication token either missing, invalid or expired.", + 'CallException:InvalidCallMethod' => "%s must be called using '%s'", + 'APIException:MethodCallNotImplemented' => "Method call '%s' has not been implemented.", + 'APIException:AlgorithmNotSupported' => "Algorithm '%s' is not supported or has been disabled.", + 'ConfigurationException:CacheDirNotSet' => "Cache directory 'cache_path' not set.", + 'APIException:NotGetOrPost' => "Request method must be GET or POST", + 'APIException:MissingAPIKey' => "Missing X-Elgg-apikey HTTP header", + 'APIException:MissingHmac' => "Missing X-Elgg-hmac header", + 'APIException:MissingHmacAlgo' => "Missing X-Elgg-hmac-algo header", + 'APIException:MissingTime' => "Missing X-Elgg-time header", + 'APIException:TemporalDrift' => "X-Elgg-time is too far in the past or future. Epoch fail.", + 'APIException:NoQueryString' => "No data on the query string", + 'APIException:MissingPOSTHash' => "Missing X-Elgg-posthash header", + 'APIException:MissingPOSTAlgo' => "Missing X-Elgg-posthash_algo header", + 'APIException:MissingContentType' => "Missing content type for post data", + 'SecurityException:InvalidPostHash' => "POST data hash is invalid - Expected %s but got %s.", + 'SecurityException:DupePacket' => "Packet signature already seen.", + 'SecurityException:InvalidAPIKey' => "Invalid or missing API Key.", + 'NotImplementedException:CallMethodNotImplemented' => "Call method '%s' is currently not supported.", + + 'NotImplementedException:XMLRPCMethodNotImplemented' => "XML-RPC method call '%s' not implemented.", + 'InvalidParameterException:UnexpectedReturnFormat' => "Call to method '%s' returned an unexpected result.", + 'CallException:NotRPCCall' => "Call does not appear to be a valid XML-RPC call", + + 'PluginException:NoPluginName' => "The plugin name could not be found", + + 'ConfigurationException:BadDatabaseVersion' => "The database backend you have installed doesn't meet the basic requirements to run Elgg. Please consult your documentation.", + 'ConfigurationException:BadPHPVersion' => "You need at least PHP version 5.2 to run Elgg.", + 'configurationwarning:phpversion' => "Elgg requires at least PHP version 5.2, you can install it on 5.1.6 but some features may not work. Use at your own risk.", + + + 'InstallationException:DatarootNotWritable' => "Your data directory %s is not writable.", + 'InstallationException:DatarootUnderPath' => "Your data directory %s must be outside of your install path.", + 'InstallationException:DatarootBlank' => "You have not specified a data directory.", + + 'SecurityException:authenticationfailed' => "User could not be authenticated", + + 'CronException:unknownperiod' => '%s is not a recognised period.', + + 'SecurityException:deletedisablecurrentsite' => 'You can not delete or disable the site you are currently viewing!', + + 'memcache:notinstalled' => 'PHP memcache module not installed, you must install php5-memcache', + 'memcache:noservers' => 'No memcache servers defined, please populate the $CONFIG->memcache_servers variable', + 'memcache:versiontoolow' => 'Memcache needs at least version %s to run, you are running %s', + 'memcache:noaddserver' => 'Multiple server support disabled, you may need to upgrade your PECL memcache library', + + 'deprecatedfunction' => 'Warning: This code uses the deprecated function \'%s\' and is not compatible with this version of Elgg', + + 'pageownerunavailable' => 'Warning: The page owner %d is not accessible!', +/** + * API + */ + 'system.api.list' => "List all available API calls on the system.", + 'auth.gettoken' => "This API call lets a user log in, returning an authentication token which can be used in leu of a username and password for authenticating further calls.", + +/** + * User details + */ + + 'name' => "Display name", + 'email' => "Email address", + 'username' => "Username", + 'password' => "Password", + 'passwordagain' => "Password (again for verification)", + 'admin_option' => "Make this user an admin?", + +/** + * Access + */ + + 'PRIVATE' => "Private", + 'LOGGED_IN' => "Logged in users", + 'PUBLIC' => "Public", + 'access:friends:label' => "Friends", + 'access' => "Access", + +/** + * Dashboard and widgets + */ + + 'dashboard' => "Dashboard", + 'dashboard:configure' => "Edit page", + 'dashboard:nowidgets' => "Your dashboard is your gateway into the site. Click 'Edit page' to add widgets to keep track of content and your life within the system.", + + 'widgets:add' => 'Add widgets to your page', + 'widgets:add:description' => "Choose the features you want to add to your page by dragging them from the Widget gallery on the right, to any of the three widget areas below, and position them where you would like them to appear. To remove a widget drag it back to the Widget gallery.", - 'widgets:position:fixed' => '(Fixed position on page)', - - 'widgets' => "Widgets", - 'widget' => "Widget", - 'item:object:widget' => "Widgets", - 'layout:customise' => "Customise layout", - 'widgets:gallery' => "Widget gallery", - 'widgets:leftcolumn' => "Left widgets", - 'widgets:fixed' => "Fixed position", - 'widgets:middlecolumn' => "Middle widgets", - 'widgets:rightcolumn' => "Right widgets", - 'widgets:profilebox' => "Profile box", - 'widgets:panel:save:success' => "Your widgets were successfully saved.", - 'widgets:panel:save:failure' => "There was a problem saving your widgets. Please try again.", - 'widgets:save:success' => "The widget was successfully saved.", - 'widgets:save:failure' => "We could not save your widget. Please try again.", - 'widgets:handlernotfound' => 'This widget is either broken or has been disabled by the site administrator.', - - /** - * Groups - */ - - 'group' => "Group", - 'item:group' => "Groups", - - /** - * Profile - */ - - 'profile' => "Profile", - 'profile:edit:default' => 'Replace profile fields', - 'profile:preview' => 'Preview', - 'user' => "User", - 'item:user' => "Users", - 'riveritem:single:user' => 'a user', - 'riveritem:plural:user' => 'some users', - - - - /** - * Profile menu items and titles - */ - - 'profile:yours' => "Your profile", - 'profile:user' => "%s's profile", - - 'profile:edit' => "Edit profile", - 'profile:profilepictureinstructions' => "The profile picture is the image that's displayed on your profile page.
You can change it as often as you'd like. (File formats accepted: GIF, JPG or PNG)", - 'profile:icon' => "Profile picture", - 'profile:createicon' => "Create your avatar", - 'profile:currentavatar' => "Current avatar", - 'profile:createicon:header' => "Profile picture", - 'profile:profilepicturecroppingtool' => "Profile picture cropping tool", - 'profile:createicon:instructions' => "Click and drag a square below to match how you want your picture cropped. A preview of your cropped picture will appear in the box on the right. When you are happy with the preview, click 'Create your avatar'. This cropped image will be used throughout the site as your avatar. ", - - 'profile:editdetails' => "Edit details", - 'profile:editicon' => "Edit profile icon", - - 'profile:aboutme' => "About me", - 'profile:description' => "About me", - 'profile:briefdescription' => "Brief description", - 'profile:location' => "Location", - 'profile:skills' => "Skills", - 'profile:interests' => "Interests", - 'profile:contactemail' => "Contact email", - 'profile:phone' => "Telephone", - 'profile:mobile' => "Mobile phone", - 'profile:website' => "Website", - - 'profile:banned' => 'This user account has been suspended.', - 'profile:deleteduser' => 'Deleted user', - - 'profile:river:update' => "%s updated their profile", - 'profile:river:iconupdate' => "%s updated their profile icon", - - 'profile:label' => "Profile label", - 'profile:type' => "Profile type", - - 'profile:editdefault:fail' => 'Default profile could not be saved', - 'profile:editdefault:success' => 'Item successfully added to default profile', - - - 'profile:editdefault:delete:fail' => 'Removed default profile item field failed', - 'profile:editdefault:delete:success' => 'Default profile item deleted!', - - 'profile:defaultprofile:reset' => 'Default system profile reset', - - 'profile:resetdefault' => 'Reset default profile', - 'profile:explainchangefields' => 'You can replace the existing profile fields with your own using the form below. First you give the new profile field a label, for example, \'Favourite team\'. Next you need to select the field type, for example, tags, url, text and so on. At any time you can revert back to the default profile set up.', - - - - /** - * Profile status messages - */ - - 'profile:saved' => "Your profile was successfully saved.", - 'profile:icon:uploaded' => "Your profile picture was successfully uploaded.", - - /** - * Profile error messages - */ - - 'profile:noaccess' => "You do not have permission to edit this profile.", - 'profile:notfound' => "Sorry; we could not find the specified profile.", - 'profile:cantedit' => "Sorry; you do not have permission to edit this profile.", - 'profile:icon:notfound' => "Sorry; there was a problem uploading your profile picture.", - - /** - * Friends - */ - - 'friends' => "Friends", - 'friends:yours' => "Your friends", - 'friends:owned' => "%s's friends", - 'friend:add' => "Add friend", - 'friend:remove' => "Remove friend", - - 'friends:add:successful' => "You have successfully added %s as a friend.", - 'friends:add:failure' => "We couldn't add %s as a friend. Please try again.", - - 'friends:remove:successful' => "You have successfully removed %s from your friends.", - 'friends:remove:failure' => "We couldn't remove %s from your friends. Please try again.", - - 'friends:none' => "This user hasn't added anyone as a friend yet.", - 'friends:none:you' => "You haven't added anyone as a friend! Search for your interests to begin finding people to follow.", - - 'friends:none:found' => "No friends were found.", - - 'friends:of:none' => "Nobody has added this user as a friend yet.", - 'friends:of:none:you' => "Nobody has added you as a friend yet. Start adding content and fill in your profile to let people find you!", - - 'friends:of:owned' => "People who have made %s a friend", - - 'friends:num_display' => "Number of friends to display", - 'friends:icon_size' => "Icon size", - 'friends:tiny' => "tiny", - 'friends:small' => "small", - 'friends:of' => "Friends of", - 'friends:collections' => "Collections of friends", - 'friends:collections:add' => "New friends collection", - 'friends:addfriends' => "Add friends", - 'friends:collectionname' => "Collection name", - 'friends:collectionfriends' => "Friends in collection", - 'friends:collectionedit' => "Edit this collection", - 'friends:nocollections' => "You do not yet have any collections.", - 'friends:collectiondeleted' => "Your collection has been deleted.", - 'friends:collectiondeletefailed' => "We were unable to delete the collection. Either you don't have permission, or some other problem has occurred.", - 'friends:collectionadded' => "Your collection was successfuly created", - 'friends:nocollectionname' => "You need to give your collection a name before it can be created.", - 'friends:collections:members' => "Collection members", - 'friends:collections:edit' => "Edit collection", - - 'friends:river:created' => "%s added the friends widget.", - 'friends:river:updated' => "%s updated their friends widget.", - 'friends:river:delete' => "%s removed their friends widget.", - 'friends:river:add' => "%s is now a friend with", - - 'friendspicker:chararray' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', - - /** - * Feeds - */ - 'feed:rss' => 'Subscribe to feed', - 'feed:odd' => 'Syndicate OpenDD', - - /** - * links - **/ - - 'link:view' => 'view link', - - - /** - * River - */ - 'river' => "River", - 'river:relationship:friend' => 'is now friends with', - 'river:noaccess' => 'You do not have permission to view this item.', - 'river:posted:generic' => '%s posted', - - /** - * Plugins - */ - 'plugins:settings:save:ok' => "Settings for the %s plugin were saved successfully.", - 'plugins:settings:save:fail' => "There was a problem saving settings for the %s plugin.", - 'plugins:usersettings:save:ok' => "User settings for the %s plugin were saved successfully.", - 'plugins:usersettings:save:fail' => "There was a problem saving user settings for the %s plugin.", - 'admin:plugins:label:version' => "Version", - 'item:object:plugin' => 'Plugin configuration settings', - - /** - * Notifications - */ - 'notifications:usersettings' => "Notification settings", - 'notifications:methods' => "Please specify which methods you want to permit.", - - 'notifications:usersettings:save:ok' => "Your notification settings were successfully saved.", - 'notifications:usersettings:save:fail' => "There was a problem saving your notification settings.", - - 'user.notification.get' => 'Return the notification settings for a given user.', - 'user.notification.set' => 'Set the notification settings for a given user.', - /** - * Search - */ - - 'search' => "Search", - 'searchtitle' => "Search: %s", - 'users:searchtitle' => "Searching for users: %s", - 'groups:searchtitle' => "Searching for groups: %s", - 'advancedsearchtitle' => "%s with results matching %s", - 'notfound' => "No results found.", - 'next' => "Next", - 'previous' => "Previous", - - 'viewtype:change' => "Change listing type", - 'viewtype:list' => "List view", - 'viewtype:gallery' => "Gallery", - - 'tag:search:startblurb' => "Items with tags matching '%s':", - - 'user:search:startblurb' => "Users matching '%s':", - 'user:search:finishblurb' => "To view more, click here.", - - 'group:search:startblurb' => "Groups matching '%s':", - 'group:search:finishblurb' => "To view more, click here.", - 'search:go' => 'Go', - 'userpicker:only_friends' => 'Only friends', - - /** - * Account - */ - - 'account' => "Account", - 'settings' => "Settings", - 'tools' => "Tools", - 'tools:yours' => "Your tools", - - 'register' => "Register", - 'registerok' => "You have successfully registered for %s.", - 'registerbad' => "Your registration was unsuccessful. The username may already exist, your passwords might not match, or your username or password may be too short.", - 'registerdisabled' => "Registration has been disabled by the system administrator", - - 'firstadminlogininstructions' => 'Your new Elgg site has been successfully installed and your administrator account created. You can now configure your site further by enabling various installed plugin tools.', - - 'registration:notemail' => 'The email address you provided does not appear to be a valid email address.', - 'registration:userexists' => 'That username already exists', - 'registration:usernametooshort' => 'Your username must be a minimum of 4 characters long.', - 'registration:passwordtooshort' => 'The password must be a minimum of 6 characters long.', - 'registration:dupeemail' => 'This email address has already been registered.', - 'registration:invalidchars' => 'Sorry, your username contains invalid characters.', - 'registration:emailnotvalid' => 'Sorry, the email address you entered is invalid on this system', - 'registration:passwordnotvalid' => 'Sorry, the password you entered is invalid on this system', - 'registration:usernamenotvalid' => 'Sorry, the username you entered is invalid on this system', - - 'adduser' => "Add User", - 'adduser:ok' => "You have successfully added a new user.", - 'adduser:bad' => "The new user could not be created.", - - 'item:object:reported_content' => "Reported items", - - 'user:set:name' => "Account name settings", - 'user:name:label' => "Your name", - 'user:name:success' => "Successfully changed your name on the system.", - 'user:name:fail' => "Could not change your name on the system.", - - 'user:set:password' => "Account password", - 'user:password:label' => "Your new password", - 'user:password2:label' => "Your new password again", - 'user:password:success' => "Password changed", - 'user:password:fail' => "Could not change your password on the system.", - 'user:password:fail:notsame' => "The two passwords are not the same!", - 'user:password:fail:tooshort' => "Password is too short!", - - 'user:set:language' => "Language settings", - 'user:language:label' => "Your language", - 'user:language:success' => "Your language settings have been updated.", - 'user:language:fail' => "Your language settings could not be saved.", - - 'user:username:notfound' => 'Username %s not found.', - - 'user:password:lost' => 'Lost password', - 'user:password:resetreq:success' => 'Successfully requested a new password, email sent', - 'user:password:resetreq:fail' => 'Could not request a new password.', - - 'user:password:text' => 'To generate a new password, enter your username below. We will send the address of a unique verification page to you via email click on the link in the body of the message and a new password will be sent to you.', - - 'user:persistent' => 'Remember me', - /** - * Administration - */ - - 'admin:configuration:success' => "Your settings have been saved.", - 'admin:configuration:fail' => "Your settings could not be saved.", - - 'admin' => "Administration", - 'admin:description' => "The admin panel allows you to control all aspects of the system, from user management to how plugins behave. Choose an option below to get started.", - - 'admin:user' => "User Administration", - 'admin:user:description' => "This admin panel allows you to control user settings for your site. Choose an option below to get started.", - 'admin:user:adduser:label' => "Click here to add a new user...", - 'admin:user:opt:linktext' => "Configure users...", - 'admin:user:opt:description' => "Configure users and account information. ", - - 'admin:site' => "Site Administration", - 'admin:site:description' => "This admin panel allows you to control global settings for your site. Choose an option below to get started.", - 'admin:site:opt:linktext' => "Configure site...", - 'admin:site:opt:description' => "Configure the site technical and non-technical settings. ", - 'admin:site:access:warning' => "Changing the access setting only affects the permissions on content created in the future.", - - 'admin:plugins' => "Tool Administration", - 'admin:plugins:description' => "This admin panel allows you to control and configure tools installed on your site.", - 'admin:plugins:opt:linktext' => "Configure tools...", - 'admin:plugins:opt:description' => "Configure the tools installed on the site. ", - 'admin:plugins:label:author' => "Author", - 'admin:plugins:label:copyright' => "Copyright", - 'admin:plugins:label:licence' => "Licence", - 'admin:plugins:label:website' => "URL", - 'admin:plugins:label:moreinfo' => 'more info', - 'admin:plugins:label:version' => 'Version', - 'admin:plugins:warning:elggversionunknown' => 'Warning: This plugin does not specify a compatible Elgg version.', - 'admin:plugins:warning:elggtoolow' => 'Warning: This plugin requires a later version of Elgg!', - 'admin:plugins:reorder:yes' => "Plugin %s was reordered successfully.", - 'admin:plugins:reorder:no' => "Plugin %s could not be reordered.", - 'admin:plugins:disable:yes' => "Plugin %s was disabled successfully.", - 'admin:plugins:disable:no' => "Plugin %s could not be disabled.", - 'admin:plugins:enable:yes' => "Plugin %s was enabled successfully.", - 'admin:plugins:enable:no' => "Plugin %s could not be enabled.", - - 'admin:statistics' => "Statistics", - 'admin:statistics:description' => "This is an overview of statistics on your site. If you need more detailed statistics, a professional administration feature is available.", - 'admin:statistics:opt:description' => "View statistical information about users and objects on your site.", - 'admin:statistics:opt:linktext' => "View statistics...", - 'admin:statistics:label:basic' => "Basic site statistics", - 'admin:statistics:label:numentities' => "Entities on site", - 'admin:statistics:label:numusers' => "Number of users", - 'admin:statistics:label:numonline' => "Number of users online", - 'admin:statistics:label:onlineusers' => "Users online now", - 'admin:statistics:label:version' => "Elgg version", - 'admin:statistics:label:version:release' => "Release", - 'admin:statistics:label:version:version' => "Version", - - 'admin:user:label:search' => "Find users:", - 'admin:user:label:seachbutton' => "Search", - - 'admin:user:ban:no' => "Can not ban user", - 'admin:user:ban:yes' => "User banned.", - 'admin:user:unban:no' => "Can not unban user", - 'admin:user:unban:yes' => "User un-banned.", - 'admin:user:delete:no' => "Can not delete user", - 'admin:user:delete:yes' => "User deleted", - - 'admin:user:resetpassword:yes' => "Password reset, user notified.", - 'admin:user:resetpassword:no' => "Password could not be reset.", - - 'admin:user:makeadmin:yes' => "User is now an admin.", - 'admin:user:makeadmin:no' => "We could not make this user an admin.", - - 'admin:user:removeadmin:yes' => "User is no longer an admin.", - 'admin:user:removeadmin:no' => "We could not remove administrator privileges from this user.", - - /** - * User settings - */ - 'usersettings:description' => "The user settings panel allows you to control all your personal settings, from user management to how plugins behave. Choose an option below to get started.", - - 'usersettings:statistics' => "Your statistics", - 'usersettings:statistics:opt:description' => "View statistical information about users and objects on your site.", - 'usersettings:statistics:opt:linktext' => "Account statistics", - - 'usersettings:user' => "Your settings", - 'usersettings:user:opt:description' => "This allows you to control user settings.", - 'usersettings:user:opt:linktext' => "Change your settings", - - 'usersettings:plugins' => "Tools", - 'usersettings:plugins:opt:description' => "Configure settings (if any) for your active tools.", - 'usersettings:plugins:opt:linktext' => "Configure your tools", - - 'usersettings:plugins:description' => "This panel allows you to control and configure the personal settings for the tools installed by your system administrator.", - 'usersettings:statistics:label:numentities' => "Your entities", - - 'usersettings:statistics:yourdetails' => "Your details", - 'usersettings:statistics:label:name' => "Full name", - 'usersettings:statistics:label:email' => "Email", - 'usersettings:statistics:label:membersince' => "Member since", - 'usersettings:statistics:label:lastlogin' => "Last logged in", - - - - /** - * Generic action words - */ - - 'save' => "Save", - 'publish' => "Publish", - 'cancel' => "Cancel", - 'saving' => "Saving ...", - 'update' => "Update", - 'edit' => "Edit", - 'delete' => "Delete", - 'accept' => "Accept", - 'load' => "Load", - 'upload' => "Upload", - 'ban' => "Ban", - 'unban' => "Unban", - 'enable' => "Enable", - 'disable' => "Disable", - 'request' => "Request", - 'complete' => "Complete", - 'open' => 'Open', - 'close' => 'Close', - 'reply' => "Reply", - 'more' => 'More', - 'comments' => 'Comments', - 'import' => 'Import', - 'export' => 'Export', - - 'up' => 'Up', - 'down' => 'Down', - 'top' => 'Top', - 'bottom' => 'Bottom', - - 'invite' => "Invite", - - 'resetpassword' => "Reset password", - 'makeadmin' => "Make admin", - 'removeadmin' => "Remove admin", - - 'option:yes' => "Yes", - 'option:no' => "No", - - 'unknown' => 'Unknown', - - 'active' => 'Active', - 'total' => 'Total', - - 'learnmore' => "Click here to learn more.", - - 'content' => "content", - 'content:latest' => 'Latest activity', - 'content:latest:blurb' => 'Alternatively, click here to view the latest content from across the site.', - - 'link:text' => 'view link', - - 'enableall' => 'Enable All', - 'disableall' => 'Disable All', - - /** - * Generic questions - */ - - 'question:areyousure' => 'Are you sure?', - - /** - * Generic data words - */ - - 'title' => "Title", - 'description' => "Description", - 'tags' => "Tags", - 'spotlight' => "Spotlight", - 'all' => "All", - - 'by' => 'by', - - 'annotations' => "Annotations", - 'relationships' => "Relationships", - 'metadata' => "Metadata", - - /** - * Input / output strings - */ - - 'deleteconfirm' => "Are you sure you want to delete this item?", - 'fileexists' => "A file has already been uploaded. To replace it, select it below:", - - /** - * User add - */ - - 'useradd:subject' => 'User account created', - 'useradd:body' => ' + 'widgets:position:fixed' => '(Fixed position on page)', + + 'widgets' => "Widgets", + 'widget' => "Widget", + 'item:object:widget' => "Widgets", + 'layout:customise' => "Customise layout", + 'widgets:gallery' => "Widget gallery", + 'widgets:leftcolumn' => "Left widgets", + 'widgets:fixed' => "Fixed position", + 'widgets:middlecolumn' => "Middle widgets", + 'widgets:rightcolumn' => "Right widgets", + 'widgets:profilebox' => "Profile box", + 'widgets:panel:save:success' => "Your widgets were successfully saved.", + 'widgets:panel:save:failure' => "There was a problem saving your widgets. Please try again.", + 'widgets:save:success' => "The widget was successfully saved.", + 'widgets:save:failure' => "We could not save your widget. Please try again.", + 'widgets:handlernotfound' => 'This widget is either broken or has been disabled by the site administrator.', + +/** + * Groups + */ + + 'group' => "Group", + 'item:group' => "Groups", + +/** + * Profile + */ + + 'profile' => "Profile", + 'profile:edit:default' => 'Replace profile fields', + 'profile:preview' => 'Preview', + 'user' => "User", + 'item:user' => "Users", + 'riveritem:single:user' => 'a user', + 'riveritem:plural:user' => 'some users', + + + +/** + * Profile menu items and titles + */ + + 'profile:yours' => "Your profile", + 'profile:user' => "%s's profile", + + 'profile:edit' => "Edit profile", + 'profile:profilepictureinstructions' => "The profile picture is the image that's displayed on your profile page.
You can change it as often as you'd like. (File formats accepted: GIF, JPG or PNG)", + 'profile:icon' => "Profile picture", + 'profile:createicon' => "Create your avatar", + 'profile:currentavatar' => "Current avatar", + 'profile:createicon:header' => "Profile picture", + 'profile:profilepicturecroppingtool' => "Profile picture cropping tool", + 'profile:createicon:instructions' => "Click and drag a square below to match how you want your picture cropped. A preview of your cropped picture will appear in the box on the right. When you are happy with the preview, click 'Create your avatar'. This cropped image will be used throughout the site as your avatar. ", + + 'profile:editdetails' => "Edit details", + 'profile:editicon' => "Edit profile icon", + + 'profile:aboutme' => "About me", + 'profile:description' => "About me", + 'profile:briefdescription' => "Brief description", + 'profile:location' => "Location", + 'profile:skills' => "Skills", + 'profile:interests' => "Interests", + 'profile:contactemail' => "Contact email", + 'profile:phone' => "Telephone", + 'profile:mobile' => "Mobile phone", + 'profile:website' => "Website", + + 'profile:banned' => 'This user account has been suspended.', + 'profile:deleteduser' => 'Deleted user', + + 'profile:river:update' => "%s updated their profile", + 'profile:river:iconupdate' => "%s updated their profile icon", + + 'profile:label' => "Profile label", + 'profile:type' => "Profile type", + + 'profile:editdefault:fail' => 'Default profile could not be saved', + 'profile:editdefault:success' => 'Item successfully added to default profile', + + + 'profile:editdefault:delete:fail' => 'Removed default profile item field failed', + 'profile:editdefault:delete:success' => 'Default profile item deleted!', + + 'profile:defaultprofile:reset' => 'Default system profile reset', + + 'profile:resetdefault' => 'Reset default profile', + 'profile:explainchangefields' => 'You can replace the existing profile fields with your own using the form below. First you give the new profile field a label, for example, \'Favourite team\'. Next you need to select the field type, for example, tags, url, text and so on. At any time you can revert back to the default profile set up.', + + + +/** + * Profile status messages + */ + + 'profile:saved' => "Your profile was successfully saved.", + 'profile:icon:uploaded' => "Your profile picture was successfully uploaded.", + +/** + * Profile error messages + */ + + 'profile:noaccess' => "You do not have permission to edit this profile.", + 'profile:notfound' => "Sorry; we could not find the specified profile.", + 'profile:cantedit' => "Sorry; you do not have permission to edit this profile.", + 'profile:icon:notfound' => "Sorry; there was a problem uploading your profile picture.", + +/** + * Friends + */ + + 'friends' => "Friends", + 'friends:yours' => "Your friends", + 'friends:owned' => "%s's friends", + 'friend:add' => "Add friend", + 'friend:remove' => "Remove friend", + + 'friends:add:successful' => "You have successfully added %s as a friend.", + 'friends:add:failure' => "We couldn't add %s as a friend. Please try again.", + + 'friends:remove:successful' => "You have successfully removed %s from your friends.", + 'friends:remove:failure' => "We couldn't remove %s from your friends. Please try again.", + + 'friends:none' => "This user hasn't added anyone as a friend yet.", + 'friends:none:you' => "You haven't added anyone as a friend! Search for your interests to begin finding people to follow.", + + 'friends:none:found' => "No friends were found.", + + 'friends:of:none' => "Nobody has added this user as a friend yet.", + 'friends:of:none:you' => "Nobody has added you as a friend yet. Start adding content and fill in your profile to let people find you!", + + 'friends:of:owned' => "People who have made %s a friend", + + 'friends:num_display' => "Number of friends to display", + 'friends:icon_size' => "Icon size", + 'friends:tiny' => "tiny", + 'friends:small' => "small", + 'friends:of' => "Friends of", + 'friends:collections' => "Collections of friends", + 'friends:collections:add' => "New friends collection", + 'friends:addfriends' => "Add friends", + 'friends:collectionname' => "Collection name", + 'friends:collectionfriends' => "Friends in collection", + 'friends:collectionedit' => "Edit this collection", + 'friends:nocollections' => "You do not yet have any collections.", + 'friends:collectiondeleted' => "Your collection has been deleted.", + 'friends:collectiondeletefailed' => "We were unable to delete the collection. Either you don't have permission, or some other problem has occurred.", + 'friends:collectionadded' => "Your collection was successfuly created", + 'friends:nocollectionname' => "You need to give your collection a name before it can be created.", + 'friends:collections:members' => "Collection members", + 'friends:collections:edit' => "Edit collection", + + 'friends:river:created' => "%s added the friends widget.", + 'friends:river:updated' => "%s updated their friends widget.", + 'friends:river:delete' => "%s removed their friends widget.", + 'friends:river:add' => "%s is now a friend with", + + 'friendspicker:chararray' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', + +/** + * Feeds + */ + 'feed:rss' => 'Subscribe to feed', + 'feed:odd' => 'Syndicate OpenDD', + +/** + * links + **/ + + 'link:view' => 'view link', + + +/** + * River + */ + 'river' => "River", + 'river:relationship:friend' => 'is now friends with', + 'river:noaccess' => 'You do not have permission to view this item.', + 'river:posted:generic' => '%s posted', + +/** + * Plugins + */ + 'plugins:settings:save:ok' => "Settings for the %s plugin were saved successfully.", + 'plugins:settings:save:fail' => "There was a problem saving settings for the %s plugin.", + 'plugins:usersettings:save:ok' => "User settings for the %s plugin were saved successfully.", + 'plugins:usersettings:save:fail' => "There was a problem saving user settings for the %s plugin.", + 'admin:plugins:label:version' => "Version", + 'item:object:plugin' => 'Plugin configuration settings', + +/** + * Notifications + */ + 'notifications:usersettings' => "Notification settings", + 'notifications:methods' => "Please specify which methods you want to permit.", + + 'notifications:usersettings:save:ok' => "Your notification settings were successfully saved.", + 'notifications:usersettings:save:fail' => "There was a problem saving your notification settings.", + + 'user.notification.get' => 'Return the notification settings for a given user.', + 'user.notification.set' => 'Set the notification settings for a given user.', +/** + * Search + */ + + 'search' => "Search", + 'searchtitle' => "Search: %s", + 'users:searchtitle' => "Searching for users: %s", + 'groups:searchtitle' => "Searching for groups: %s", + 'advancedsearchtitle' => "%s with results matching %s", + 'notfound' => "No results found.", + 'next' => "Next", + 'previous' => "Previous", + + 'viewtype:change' => "Change listing type", + 'viewtype:list' => "List view", + 'viewtype:gallery' => "Gallery", + + 'tag:search:startblurb' => "Items with tags matching '%s':", + + 'user:search:startblurb' => "Users matching '%s':", + 'user:search:finishblurb' => "To view more, click here.", + + 'group:search:startblurb' => "Groups matching '%s':", + 'group:search:finishblurb' => "To view more, click here.", + 'search:go' => 'Go', + 'userpicker:only_friends' => 'Only friends', + +/** + * Account + */ + + 'account' => "Account", + 'settings' => "Settings", + 'tools' => "Tools", + 'tools:yours' => "Your tools", + + 'register' => "Register", + 'registerok' => "You have successfully registered for %s.", + 'registerbad' => "Your registration was unsuccessful. The username may already exist, your passwords might not match, or your username or password may be too short.", + 'registerdisabled' => "Registration has been disabled by the system administrator", + + 'firstadminlogininstructions' => 'Your new Elgg site has been successfully installed and your administrator account created. You can now configure your site further by enabling various installed plugin tools.', + + 'registration:notemail' => 'The email address you provided does not appear to be a valid email address.', + 'registration:userexists' => 'That username already exists', + 'registration:usernametooshort' => 'Your username must be a minimum of 4 characters long.', + 'registration:passwordtooshort' => 'The password must be a minimum of 6 characters long.', + 'registration:dupeemail' => 'This email address has already been registered.', + 'registration:invalidchars' => 'Sorry, your username contains invalid characters.', + 'registration:emailnotvalid' => 'Sorry, the email address you entered is invalid on this system', + 'registration:passwordnotvalid' => 'Sorry, the password you entered is invalid on this system', + 'registration:usernamenotvalid' => 'Sorry, the username you entered is invalid on this system', + + 'adduser' => "Add User", + 'adduser:ok' => "You have successfully added a new user.", + 'adduser:bad' => "The new user could not be created.", + + 'item:object:reported_content' => "Reported items", + + 'user:set:name' => "Account name settings", + 'user:name:label' => "Your name", + 'user:name:success' => "Successfully changed your name on the system.", + 'user:name:fail' => "Could not change your name on the system.", + + 'user:set:password' => "Account password", + 'user:password:label' => "Your new password", + 'user:password2:label' => "Your new password again", + 'user:password:success' => "Password changed", + 'user:password:fail' => "Could not change your password on the system.", + 'user:password:fail:notsame' => "The two passwords are not the same!", + 'user:password:fail:tooshort' => "Password is too short!", + + 'user:set:language' => "Language settings", + 'user:language:label' => "Your language", + 'user:language:success' => "Your language settings have been updated.", + 'user:language:fail' => "Your language settings could not be saved.", + + 'user:username:notfound' => 'Username %s not found.', + + 'user:password:lost' => 'Lost password', + 'user:password:resetreq:success' => 'Successfully requested a new password, email sent', + 'user:password:resetreq:fail' => 'Could not request a new password.', + + 'user:password:text' => 'To generate a new password, enter your username below. We will send the address of a unique verification page to you via email click on the link in the body of the message and a new password will be sent to you.', + + 'user:persistent' => 'Remember me', +/** + * Administration + */ + + 'admin:configuration:success' => "Your settings have been saved.", + 'admin:configuration:fail' => "Your settings could not be saved.", + + 'admin' => "Administration", + 'admin:description' => "The admin panel allows you to control all aspects of the system, from user management to how plugins behave. Choose an option below to get started.", + + 'admin:user' => "User Administration", + 'admin:user:description' => "This admin panel allows you to control user settings for your site. Choose an option below to get started.", + 'admin:user:adduser:label' => "Click here to add a new user...", + 'admin:user:opt:linktext' => "Configure users...", + 'admin:user:opt:description' => "Configure users and account information. ", + + 'admin:site' => "Site Administration", + 'admin:site:description' => "This admin panel allows you to control global settings for your site. Choose an option below to get started.", + 'admin:site:opt:linktext' => "Configure site...", + 'admin:site:opt:description' => "Configure the site technical and non-technical settings. ", + 'admin:site:access:warning' => "Changing the access setting only affects the permissions on content created in the future.", + + 'admin:plugins' => "Tool Administration", + 'admin:plugins:description' => "This admin panel allows you to control and configure tools installed on your site.", + 'admin:plugins:opt:linktext' => "Configure tools...", + 'admin:plugins:opt:description' => "Configure the tools installed on the site. ", + 'admin:plugins:label:author' => "Author", + 'admin:plugins:label:copyright' => "Copyright", + 'admin:plugins:label:licence' => "Licence", + 'admin:plugins:label:website' => "URL", + 'admin:plugins:label:moreinfo' => 'more info', + 'admin:plugins:label:version' => 'Version', + 'admin:plugins:warning:elggversionunknown' => 'Warning: This plugin does not specify a compatible Elgg version.', + 'admin:plugins:warning:elggtoolow' => 'Warning: This plugin requires a later version of Elgg!', + 'admin:plugins:reorder:yes' => "Plugin %s was reordered successfully.", + 'admin:plugins:reorder:no' => "Plugin %s could not be reordered.", + 'admin:plugins:disable:yes' => "Plugin %s was disabled successfully.", + 'admin:plugins:disable:no' => "Plugin %s could not be disabled.", + 'admin:plugins:enable:yes' => "Plugin %s was enabled successfully.", + 'admin:plugins:enable:no' => "Plugin %s could not be enabled.", + + 'admin:statistics' => "Statistics", + 'admin:statistics:description' => "This is an overview of statistics on your site. If you need more detailed statistics, a professional administration feature is available.", + 'admin:statistics:opt:description' => "View statistical information about users and objects on your site.", + 'admin:statistics:opt:linktext' => "View statistics...", + 'admin:statistics:label:basic' => "Basic site statistics", + 'admin:statistics:label:numentities' => "Entities on site", + 'admin:statistics:label:numusers' => "Number of users", + 'admin:statistics:label:numonline' => "Number of users online", + 'admin:statistics:label:onlineusers' => "Users online now", + 'admin:statistics:label:version' => "Elgg version", + 'admin:statistics:label:version:release' => "Release", + 'admin:statistics:label:version:version' => "Version", + + 'admin:user:label:search' => "Find users:", + 'admin:user:label:seachbutton' => "Search", + + 'admin:user:ban:no' => "Can not ban user", + 'admin:user:ban:yes' => "User banned.", + 'admin:user:unban:no' => "Can not unban user", + 'admin:user:unban:yes' => "User un-banned.", + 'admin:user:delete:no' => "Can not delete user", + 'admin:user:delete:yes' => "User deleted", + + 'admin:user:resetpassword:yes' => "Password reset, user notified.", + 'admin:user:resetpassword:no' => "Password could not be reset.", + + 'admin:user:makeadmin:yes' => "User is now an admin.", + 'admin:user:makeadmin:no' => "We could not make this user an admin.", + + 'admin:user:removeadmin:yes' => "User is no longer an admin.", + 'admin:user:removeadmin:no' => "We could not remove administrator privileges from this user.", + +/** + * User settings + */ + 'usersettings:description' => "The user settings panel allows you to control all your personal settings, from user management to how plugins behave. Choose an option below to get started.", + + 'usersettings:statistics' => "Your statistics", + 'usersettings:statistics:opt:description' => "View statistical information about users and objects on your site.", + 'usersettings:statistics:opt:linktext' => "Account statistics", + + 'usersettings:user' => "Your settings", + 'usersettings:user:opt:description' => "This allows you to control user settings.", + 'usersettings:user:opt:linktext' => "Change your settings", + + 'usersettings:plugins' => "Tools", + 'usersettings:plugins:opt:description' => "Configure settings (if any) for your active tools.", + 'usersettings:plugins:opt:linktext' => "Configure your tools", + + 'usersettings:plugins:description' => "This panel allows you to control and configure the personal settings for the tools installed by your system administrator.", + 'usersettings:statistics:label:numentities' => "Your entities", + + 'usersettings:statistics:yourdetails' => "Your details", + 'usersettings:statistics:label:name' => "Full name", + 'usersettings:statistics:label:email' => "Email", + 'usersettings:statistics:label:membersince' => "Member since", + 'usersettings:statistics:label:lastlogin' => "Last logged in", + + + +/** + * Generic action words + */ + + 'save' => "Save", + 'publish' => "Publish", + 'cancel' => "Cancel", + 'saving' => "Saving ...", + 'update' => "Update", + 'edit' => "Edit", + 'delete' => "Delete", + 'accept' => "Accept", + 'load' => "Load", + 'upload' => "Upload", + 'ban' => "Ban", + 'unban' => "Unban", + 'enable' => "Enable", + 'disable' => "Disable", + 'request' => "Request", + 'complete' => "Complete", + 'open' => 'Open', + 'close' => 'Close', + 'reply' => "Reply", + 'more' => 'More', + 'comments' => 'Comments', + 'import' => 'Import', + 'export' => 'Export', + + 'up' => 'Up', + 'down' => 'Down', + 'top' => 'Top', + 'bottom' => 'Bottom', + + 'invite' => "Invite", + + 'resetpassword' => "Reset password", + 'makeadmin' => "Make admin", + 'removeadmin' => "Remove admin", + + 'option:yes' => "Yes", + 'option:no' => "No", + + 'unknown' => 'Unknown', + + 'active' => 'Active', + 'total' => 'Total', + + 'learnmore' => "Click here to learn more.", + + 'content' => "content", + 'content:latest' => 'Latest activity', + 'content:latest:blurb' => 'Alternatively, click here to view the latest content from across the site.', + + 'link:text' => 'view link', + + 'enableall' => 'Enable All', + 'disableall' => 'Disable All', + +/** + * Generic questions + */ + + 'question:areyousure' => 'Are you sure?', + +/** + * Generic data words + */ + + 'title' => "Title", + 'description' => "Description", + 'tags' => "Tags", + 'spotlight' => "Spotlight", + 'all' => "All", + + 'by' => 'by', + + 'annotations' => "Annotations", + 'relationships' => "Relationships", + 'metadata' => "Metadata", + +/** + * Input / output strings + */ + + 'deleteconfirm' => "Are you sure you want to delete this item?", + 'fileexists' => "A file has already been uploaded. To replace it, select it below:", + +/** + * User add + */ + + 'useradd:subject' => 'User account created', + 'useradd:body' => ' %s, A user account has been created for you at %s. To log in, visit: - %s +%s And log in with these user credentials: - Username: %s - Password: %s - +Username: %s +Password: %s + Once you have logged in, we highly recommend that you change your password. ', - - /** - * System messages - **/ - - 'systemmessages:dismiss' => "click to dismiss", - - - /** - * Import / export - */ - 'importsuccess' => "Import of data was successful", - 'importfail' => "OpenDD import of data failed.", - - /** - * Time - */ - - 'friendlytime:justnow' => "just now", - 'friendlytime:minutes' => "%s minutes ago", - 'friendlytime:minutes:singular' => "a minute ago", - 'friendlytime:hours' => "%s hours ago", - 'friendlytime:hours:singular' => "an hour ago", - 'friendlytime:days' => "%s days ago", - 'friendlytime:days:singular' => "yesterday", - - 'date:month:01' => 'January %s', - 'date:month:02' => 'February %s', - 'date:month:03' => 'March %s', - 'date:month:04' => 'April %s', - 'date:month:05' => 'May %s', - 'date:month:06' => 'June %s', - 'date:month:07' => 'July %s', - 'date:month:08' => 'August %s', - 'date:month:09' => 'September %s', - 'date:month:10' => 'October %s', - 'date:month:11' => 'November %s', - 'date:month:12' => 'December %s', - - - /** - * Installation and system settings - */ - - 'installation:error:htaccess' => "Elgg requires a file called .htaccess to be set in the root directory of its installation. We tried to create it for you, but Elgg doesn't have permission to write to that directory. + +/** + * System messages + **/ + + 'systemmessages:dismiss' => "click to dismiss", + + +/** + * Import / export + */ + 'importsuccess' => "Import of data was successful", + 'importfail' => "OpenDD import of data failed.", + +/** + * Time + */ + + 'friendlytime:justnow' => "just now", + 'friendlytime:minutes' => "%s minutes ago", + 'friendlytime:minutes:singular' => "a minute ago", + 'friendlytime:hours' => "%s hours ago", + 'friendlytime:hours:singular' => "an hour ago", + 'friendlytime:days' => "%s days ago", + 'friendlytime:days:singular' => "yesterday", + + 'date:month:01' => 'January %s', + 'date:month:02' => 'February %s', + 'date:month:03' => 'March %s', + 'date:month:04' => 'April %s', + 'date:month:05' => 'May %s', + 'date:month:06' => 'June %s', + 'date:month:07' => 'July %s', + 'date:month:08' => 'August %s', + 'date:month:09' => 'September %s', + 'date:month:10' => 'October %s', + 'date:month:11' => 'November %s', + 'date:month:12' => 'December %s', + + +/** + * Installation and system settings + */ + + 'installation:error:htaccess' => "Elgg requires a file called .htaccess to be set in the root directory of its installation. We tried to create it for you, but Elgg doesn't have permission to write to that directory. Creating this is easy. Copy the contents of the textbox below into a text editor and save it as .htaccess ", - 'installation:error:settings' => "Elgg couldn't find its settings file. Most of Elgg's settings will be handled for you, but we need you to supply your database details. To do this: + 'installation:error:settings' => "Elgg couldn't find its settings file. Most of Elgg's settings will be handled for you, but we need you to supply your database details. To do this: 1. Rename engine/settings.example.php to settings.php in your Elgg installation. 2. Open it with a text editor and enter your MySQL database details. If you don't know these, ask your system administrator or technical support for help. Alternatively, you can enter your database settings below and we will try and do this for you...", - - 'installation:error:configuration' => "Once you've corrected any configuration issues, press reload to try again.", - - 'installation' => "Installation", - 'installation:success' => "Elgg's database was installed successfully.", - 'installation:configuration:success' => "Your initial configuration settings have been saved. Now register your initial user; this will be your first system administrator.", - - 'installation:settings' => "System settings", - 'installation:settings:description' => "Now that the Elgg database has been successfully installed, you need to enter a couple of pieces of information to get your site fully up and running. We've tried to guess where we could, but you should check these details.", - - 'installation:settings:dbwizard:prompt' => "Enter your database settings below and hit save:", - 'installation:settings:dbwizard:label:user' => "Database user", - 'installation:settings:dbwizard:label:pass' => "Database password", - 'installation:settings:dbwizard:label:dbname' => "Elgg database", - 'installation:settings:dbwizard:label:host' => "Database hostname (usually 'localhost')", - 'installation:settings:dbwizard:label:prefix' => "Database table prefix (usually 'elgg')", - - 'installation:settings:dbwizard:savefail' => "We were unable to save the new settings.php. Please save the following file as engine/settings.php using a text editor.", - - 'installation:sitename' => "The name of your site (eg \"My social networking site\"):", - 'installation:sitedescription' => "Short description of your site (optional)", - 'installation:wwwroot' => "The site URL, followed by a trailing slash:", - 'installation:path' => "The full path to your site root on your disk, followed by a trailing slash:", - 'installation:dataroot' => "The full path to the directory where uploaded files will be stored, followed by a trailing slash:", - 'installation:dataroot:warning' => "You must create this directory manually. It should sit in a different directory to your Elgg installation.", - 'installation:sitepermissions' => "The default access permissions:", - 'installation:language' => "The default language for your site:", - 'installation:debug' => "Debug mode provides extra information which can be used to diagnose faults, however it can slow your system down so should only be used if you are having problems:", - 'installation:debug:label' => "Turn on debug mode", - 'installation:httpslogin' => "Enable this to have user logins performed over HTTPS. You will need to have https enabled on your server for this to work.", - 'installation:httpslogin:label' => "Enable HTTPS logins", - 'installation:usage' => "This option lets Elgg send anonymous usage statistics back to Curverider.", - 'installation:usage:label' => "Send anonymous usage statistics", - 'installation:view' => "Enter the view which will be used as the default for your site or leave this blank for the default view (if in doubt, leave as default):", - - 'installation:siteemail' => "Site email address (used when sending system emails)", - - 'installation:disableapi' => "The RESTful API is a flexible and extensible interface that enables applications to use certain Elgg features remotely.", - 'installation:disableapi:label' => "Enable the RESTful API", - - 'installation:allow_user_default_access:description' => "If checked, individual users will be allowed to set their own default access level that can over-ride the system default access level.", - 'installation:allow_user_default_access:label' => "Allow user default access", - - 'installation:simplecache:description' => "The simple cache increases performance by caching static content including some CSS and JavaScript files. Normally you will want this on.", - 'installation:simplecache:label' => "Use simple cache (recommended)", - - 'installation:viewpathcache:description' => "The view filepath cache decreases the loading times of plugins by caching the location of their views.", - 'installation:viewpathcache:label' => "Use view filepath cache (recommended)", - - 'upgrading' => 'Upgrading', - 'upgrade:db' => 'Your database was upgraded.', - 'upgrade:core' => 'Your elgg installation was upgraded', - - /** - * Welcome - */ - - 'welcome' => "Welcome", - 'welcome:user' => 'Welcome %s', - 'welcome_message' => "Welcome to this Elgg installation.", - - /** - * Emails - */ - 'email:settings' => "Email settings", - 'email:address:label' => "Your email address", - - 'email:save:success' => "New email address saved, verification requested.", - 'email:save:fail' => "Your new email address could not be saved.", - - 'friend:newfriend:subject' => "%s has made you a friend!", - 'friend:newfriend:body' => "%s has made you a friend! + + 'installation:error:configuration' => "Once you've corrected any configuration issues, press reload to try again.", + + 'installation' => "Installation", + 'installation:success' => "Elgg's database was installed successfully.", + 'installation:configuration:success' => "Your initial configuration settings have been saved. Now register your initial user; this will be your first system administrator.", + + 'installation:settings' => "System settings", + 'installation:settings:description' => "Now that the Elgg database has been successfully installed, you need to enter a couple of pieces of information to get your site fully up and running. We've tried to guess where we could, but you should check these details.", + + 'installation:settings:dbwizard:prompt' => "Enter your database settings below and hit save:", + 'installation:settings:dbwizard:label:user' => "Database user", + 'installation:settings:dbwizard:label:pass' => "Database password", + 'installation:settings:dbwizard:label:dbname' => "Elgg database", + 'installation:settings:dbwizard:label:host' => "Database hostname (usually 'localhost')", + 'installation:settings:dbwizard:label:prefix' => "Database table prefix (usually 'elgg')", + + 'installation:settings:dbwizard:savefail' => "We were unable to save the new settings.php. Please save the following file as engine/settings.php using a text editor.", + + 'installation:sitename' => "The name of your site (eg \"My social networking site\"):", + 'installation:sitedescription' => "Short description of your site (optional)", + 'installation:wwwroot' => "The site URL, followed by a trailing slash:", + 'installation:path' => "The full path to your site root on your disk, followed by a trailing slash:", + 'installation:dataroot' => "The full path to the directory where uploaded files will be stored, followed by a trailing slash:", + 'installation:dataroot:warning' => "You must create this directory manually. It should sit in a different directory to your Elgg installation.", + 'installation:sitepermissions' => "The default access permissions:", + 'installation:language' => "The default language for your site:", + 'installation:debug' => "Debug mode provides extra information which can be used to diagnose faults, however it can slow your system down so should only be used if you are having problems:", + 'installation:debug:label' => "Turn on debug mode", + 'installation:httpslogin' => "Enable this to have user logins performed over HTTPS. You will need to have https enabled on your server for this to work.", + 'installation:httpslogin:label' => "Enable HTTPS logins", + 'installation:usage' => "This option lets Elgg send anonymous usage statistics back to Curverider.", + 'installation:usage:label' => "Send anonymous usage statistics", + 'installation:view' => "Enter the view which will be used as the default for your site or leave this blank for the default view (if in doubt, leave as default):", + + 'installation:siteemail' => "Site email address (used when sending system emails)", + + 'installation:disableapi' => "The RESTful API is a flexible and extensible interface that enables applications to use certain Elgg features remotely.", + 'installation:disableapi:label' => "Enable the RESTful API", + + 'installation:allow_user_default_access:description' => "If checked, individual users will be allowed to set their own default access level that can over-ride the system default access level.", + 'installation:allow_user_default_access:label' => "Allow user default access", + + 'installation:simplecache:description' => "The simple cache increases performance by caching static content including some CSS and JavaScript files. Normally you will want this on.", + 'installation:simplecache:label' => "Use simple cache (recommended)", + + 'installation:viewpathcache:description' => "The view filepath cache decreases the loading times of plugins by caching the location of their views.", + 'installation:viewpathcache:label' => "Use view filepath cache (recommended)", + + 'upgrading' => 'Upgrading', + 'upgrade:db' => 'Your database was upgraded.', + 'upgrade:core' => 'Your elgg installation was upgraded', + +/** + * Welcome + */ + + 'welcome' => "Welcome", + 'welcome:user' => 'Welcome %s', + 'welcome_message' => "Welcome to this Elgg installation.", + +/** + * Emails + */ + 'email:settings' => "Email settings", + 'email:address:label' => "Your email address", + + 'email:save:success' => "New email address saved, verification requested.", + 'email:save:fail' => "Your new email address could not be saved.", + + 'friend:newfriend:subject' => "%s has made you a friend!", + 'friend:newfriend:body' => "%s has made you a friend! To view their profile, click here: - %s +%s You cannot reply to this email.", - - - - 'email:resetpassword:subject' => "Password reset!", - 'email:resetpassword:body' => "Hi %s, - + + + + 'email:resetpassword:subject' => "Password reset!", + 'email:resetpassword:body' => "Hi %s, + Your password has been reset to: %s", - - - 'email:resetreq:subject' => "Request for new password.", - 'email:resetreq:body' => "Hi %s, - + + + 'email:resetreq:subject' => "Request for new password.", + 'email:resetreq:body' => "Hi %s, + Somebody (from the IP address %s) has requested a new password for their account. If you requested this click on the link below, otherwise ignore this email. @@ -856,225 +864,223 @@ If you requested this click on the link below, otherwise ignore this email. %s ", - /** - * user default access - */ - - 'default_access:settings' => "Your default access level", - 'default_access:label' => "Default access", - 'user:default_access:success' => "Your new default access level was saved.", - 'user:default_access:failure' => "Your new default access level could not be saved.", - - /** - * XML-RPC - */ - 'xmlrpc:noinputdata' => "Input data missing", - - /** - * Comments - */ - - 'comments:count' => "%s comments", - - 'riveraction:annotation:generic_comment' => '%s commented on %s', - - 'generic_comments:add' => "Add a comment", - 'generic_comments:text' => "Comment", - 'generic_comment:posted' => "Your comment was successfully posted.", - 'generic_comment:deleted' => "Your comment was successfully deleted.", - 'generic_comment:blank' => "Sorry; you need to actually put something in your comment before we can save it.", - 'generic_comment:notfound' => "Sorry; we could not find the specified item.", - 'generic_comment:notdeleted' => "Sorry; we could not delete this comment.", - 'generic_comment:failure' => "An unexpected error occurred when adding your comment. Please try again.", - - 'generic_comment:email:subject' => 'You have a new comment!', - 'generic_comment:email:body' => "You have a new comment on your item \"%s\" from %s. It reads: - - +/** + * user default access + */ + +'default_access:settings' => "Your default access level", +'default_access:label' => "Default access", +'user:default_access:success' => "Your new default access level was saved.", +'user:default_access:failure' => "Your new default access level could not be saved.", + +/** + * XML-RPC + */ + 'xmlrpc:noinputdata' => "Input data missing", + +/** + * Comments + */ + + 'comments:count' => "%s comments", + + 'riveraction:annotation:generic_comment' => '%s commented on %s', + + 'generic_comments:add' => "Add a comment", + 'generic_comments:text' => "Comment", + 'generic_comment:posted' => "Your comment was successfully posted.", + 'generic_comment:deleted' => "Your comment was successfully deleted.", + 'generic_comment:blank' => "Sorry; you need to actually put something in your comment before we can save it.", + 'generic_comment:notfound' => "Sorry; we could not find the specified item.", + 'generic_comment:notdeleted' => "Sorry; we could not delete this comment.", + 'generic_comment:failure' => "An unexpected error occurred when adding your comment. Please try again.", + + 'generic_comment:email:subject' => 'You have a new comment!', + 'generic_comment:email:body' => "You have a new comment on your item \"%s\" from %s. It reads: + + %s To reply or view the original item, click here: - %s +%s To view %s's profile, click here: - %s +%s You cannot reply to this email.", - - /** - * Entities - */ - 'entity:default:strapline' => 'Created %s by %s', - 'entity:default:missingsupport:popup' => 'This entity cannot be displayed correctly. This may be because it requires support provided by a plugin that is no longer installed.', - - 'entity:delete:success' => 'Entity %s has been deleted', - 'entity:delete:fail' => 'Entity %s could not be deleted', - - - /** - * Action gatekeeper - */ - 'actiongatekeeper:missingfields' => 'Form is missing __token or __ts fields', - 'actiongatekeeper:tokeninvalid' => "We encountered an error (token mismatch). This probably means that the page you were using expired. Please try again.", - 'actiongatekeeper:timeerror' => 'The page you were using has expired. Please refresh and try again.', - 'actiongatekeeper:pluginprevents' => 'A extension has prevented this form from being submitted.', - - /** - * Word blacklists - */ - 'word:blacklist' => 'and, the, then, but, she, his, her, him, one, not, also, about, now, hence, however, still, likewise, otherwise, therefore, conversely, rather, consequently, furthermore, nevertheless, instead, meanwhile, accordingly, this, seems, what, whom, whose, whoever, whomever', - - /** - * Languages according to ISO 639-1 - */ - "aa" => "Afar", - "ab" => "Abkhazian", - "af" => "Afrikaans", - "am" => "Amharic", - "ar" => "Arabic", - "as" => "Assamese", - "ay" => "Aymara", - "az" => "Azerbaijani", - "ba" => "Bashkir", - "be" => "Byelorussian", - "bg" => "Bulgarian", - "bh" => "Bihari", - "bi" => "Bislama", - "bn" => "Bengali; Bangla", - "bo" => "Tibetan", - "br" => "Breton", - "ca" => "Catalan", - "co" => "Corsican", - "cs" => "Czech", - "cy" => "Welsh", - "da" => "Danish", - "de" => "German", - "dz" => "Bhutani", - "el" => "Greek", - "en" => "English", - "eo" => "Esperanto", - "es" => "Spanish", - "et" => "Estonian", - "eu" => "Basque", - "fa" => "Persian", - "fi" => "Finnish", - "fj" => "Fiji", - "fo" => "Faeroese", - "fr" => "French", - "fy" => "Frisian", - "ga" => "Irish", - "gd" => "Scots / Gaelic", - "gl" => "Galician", - "gn" => "Guarani", - "gu" => "Gujarati", - "he" => "Hebrew", - "ha" => "Hausa", - "hi" => "Hindi", - "hr" => "Croatian", - "hu" => "Hungarian", - "hy" => "Armenian", - "ia" => "Interlingua", - "id" => "Indonesian", - "ie" => "Interlingue", - "ik" => "Inupiak", - //"in" => "Indonesian", - "is" => "Icelandic", - "it" => "Italian", - "iu" => "Inuktitut", - "iw" => "Hebrew (obsolete)", - "ja" => "Japanese", - "ji" => "Yiddish (obsolete)", - "jw" => "Javanese", - "ka" => "Georgian", - "kk" => "Kazakh", - "kl" => "Greenlandic", - "km" => "Cambodian", - "kn" => "Kannada", - "ko" => "Korean", - "ks" => "Kashmiri", - "ku" => "Kurdish", - "ky" => "Kirghiz", - "la" => "Latin", - "ln" => "Lingala", - "lo" => "Laothian", - "lt" => "Lithuanian", - "lv" => "Latvian/Lettish", - "mg" => "Malagasy", - "mi" => "Maori", - "mk" => "Macedonian", - "ml" => "Malayalam", - "mn" => "Mongolian", - "mo" => "Moldavian", - "mr" => "Marathi", - "ms" => "Malay", - "mt" => "Maltese", - "my" => "Burmese", - "na" => "Nauru", - "ne" => "Nepali", - "nl" => "Dutch", - "no" => "Norwegian", - "oc" => "Occitan", - "om" => "(Afan) Oromo", - "or" => "Oriya", - "pa" => "Punjabi", - "pl" => "Polish", - "ps" => "Pashto / Pushto", - "pt" => "Portuguese", - "qu" => "Quechua", - "rm" => "Rhaeto-Romance", - "rn" => "Kirundi", - "ro" => "Romanian", - "ru" => "Russian", - "rw" => "Kinyarwanda", - "sa" => "Sanskrit", - "sd" => "Sindhi", - "sg" => "Sangro", - "sh" => "Serbo-Croatian", - "si" => "Singhalese", - "sk" => "Slovak", - "sl" => "Slovenian", - "sm" => "Samoan", - "sn" => "Shona", - "so" => "Somali", - "sq" => "Albanian", - "sr" => "Serbian", - "ss" => "Siswati", - "st" => "Sesotho", - "su" => "Sundanese", - "sv" => "Swedish", - "sw" => "Swahili", - "ta" => "Tamil", - "te" => "Tegulu", - "tg" => "Tajik", - "th" => "Thai", - "ti" => "Tigrinya", - "tk" => "Turkmen", - "tl" => "Tagalog", - "tn" => "Setswana", - "to" => "Tonga", - "tr" => "Turkish", - "ts" => "Tsonga", - "tt" => "Tatar", - "tw" => "Twi", - "ug" => "Uigur", - "uk" => "Ukrainian", - "ur" => "Urdu", - "uz" => "Uzbek", - "vi" => "Vietnamese", - "vo" => "Volapuk", - "wo" => "Wolof", - "xh" => "Xhosa", - //"y" => "Yiddish", - "yi" => "Yiddish", - "yo" => "Yoruba", - "za" => "Zuang", - "zh" => "Chinese", - "zu" => "Zulu", - ); - - add_translation("en",$english); - -?> + +/** + * Entities + */ + 'entity:default:strapline' => 'Created %s by %s', + 'entity:default:missingsupport:popup' => 'This entity cannot be displayed correctly. This may be because it requires support provided by a plugin that is no longer installed.', + + 'entity:delete:success' => 'Entity %s has been deleted', + 'entity:delete:fail' => 'Entity %s could not be deleted', + + +/** + * Action gatekeeper + */ + 'actiongatekeeper:missingfields' => 'Form is missing __token or __ts fields', + 'actiongatekeeper:tokeninvalid' => "We encountered an error (token mismatch). This probably means that the page you were using expired. Please try again.", + 'actiongatekeeper:timeerror' => 'The page you were using has expired. Please refresh and try again.', + 'actiongatekeeper:pluginprevents' => 'A extension has prevented this form from being submitted.', + +/** + * Word blacklists + */ + 'word:blacklist' => 'and, the, then, but, she, his, her, him, one, not, also, about, now, hence, however, still, likewise, otherwise, therefore, conversely, rather, consequently, furthermore, nevertheless, instead, meanwhile, accordingly, this, seems, what, whom, whose, whoever, whomever', + +/** + * Languages according to ISO 639-1 + */ + "aa" => "Afar", + "ab" => "Abkhazian", + "af" => "Afrikaans", + "am" => "Amharic", + "ar" => "Arabic", + "as" => "Assamese", + "ay" => "Aymara", + "az" => "Azerbaijani", + "ba" => "Bashkir", + "be" => "Byelorussian", + "bg" => "Bulgarian", + "bh" => "Bihari", + "bi" => "Bislama", + "bn" => "Bengali; Bangla", + "bo" => "Tibetan", + "br" => "Breton", + "ca" => "Catalan", + "co" => "Corsican", + "cs" => "Czech", + "cy" => "Welsh", + "da" => "Danish", + "de" => "German", + "dz" => "Bhutani", + "el" => "Greek", + "en" => "English", + "eo" => "Esperanto", + "es" => "Spanish", + "et" => "Estonian", + "eu" => "Basque", + "fa" => "Persian", + "fi" => "Finnish", + "fj" => "Fiji", + "fo" => "Faeroese", + "fr" => "French", + "fy" => "Frisian", + "ga" => "Irish", + "gd" => "Scots / Gaelic", + "gl" => "Galician", + "gn" => "Guarani", + "gu" => "Gujarati", + "he" => "Hebrew", + "ha" => "Hausa", + "hi" => "Hindi", + "hr" => "Croatian", + "hu" => "Hungarian", + "hy" => "Armenian", + "ia" => "Interlingua", + "id" => "Indonesian", + "ie" => "Interlingue", + "ik" => "Inupiak", + //"in" => "Indonesian", + "is" => "Icelandic", + "it" => "Italian", + "iu" => "Inuktitut", + "iw" => "Hebrew (obsolete)", + "ja" => "Japanese", + "ji" => "Yiddish (obsolete)", + "jw" => "Javanese", + "ka" => "Georgian", + "kk" => "Kazakh", + "kl" => "Greenlandic", + "km" => "Cambodian", + "kn" => "Kannada", + "ko" => "Korean", + "ks" => "Kashmiri", + "ku" => "Kurdish", + "ky" => "Kirghiz", + "la" => "Latin", + "ln" => "Lingala", + "lo" => "Laothian", + "lt" => "Lithuanian", + "lv" => "Latvian/Lettish", + "mg" => "Malagasy", + "mi" => "Maori", + "mk" => "Macedonian", + "ml" => "Malayalam", + "mn" => "Mongolian", + "mo" => "Moldavian", + "mr" => "Marathi", + "ms" => "Malay", + "mt" => "Maltese", + "my" => "Burmese", + "na" => "Nauru", + "ne" => "Nepali", + "nl" => "Dutch", + "no" => "Norwegian", + "oc" => "Occitan", + "om" => "(Afan) Oromo", + "or" => "Oriya", + "pa" => "Punjabi", + "pl" => "Polish", + "ps" => "Pashto / Pushto", + "pt" => "Portuguese", + "qu" => "Quechua", + "rm" => "Rhaeto-Romance", + "rn" => "Kirundi", + "ro" => "Romanian", + "ru" => "Russian", + "rw" => "Kinyarwanda", + "sa" => "Sanskrit", + "sd" => "Sindhi", + "sg" => "Sangro", + "sh" => "Serbo-Croatian", + "si" => "Singhalese", + "sk" => "Slovak", + "sl" => "Slovenian", + "sm" => "Samoan", + "sn" => "Shona", + "so" => "Somali", + "sq" => "Albanian", + "sr" => "Serbian", + "ss" => "Siswati", + "st" => "Sesotho", + "su" => "Sundanese", + "sv" => "Swedish", + "sw" => "Swahili", + "ta" => "Tamil", + "te" => "Tegulu", + "tg" => "Tajik", + "th" => "Thai", + "ti" => "Tigrinya", + "tk" => "Turkmen", + "tl" => "Tagalog", + "tn" => "Setswana", + "to" => "Tonga", + "tr" => "Turkish", + "ts" => "Tsonga", + "tt" => "Tatar", + "tw" => "Twi", + "ug" => "Uigur", + "uk" => "Ukrainian", + "ur" => "Urdu", + "uz" => "Uzbek", + "vi" => "Vietnamese", + "vo" => "Volapuk", + "wo" => "Wolof", + "xh" => "Xhosa", + //"y" => "Yiddish", + "yi" => "Yiddish", + "yo" => "Yoruba", + "za" => "Zuang", + "zh" => "Chinese", + "zu" => "Zulu", +); + +add_translation("en",$english); diff --git a/search/groups.php b/search/groups.php index 4b0825d79..c31e421f0 100644 --- a/search/groups.php +++ b/search/groups.php @@ -1,40 +1,35 @@ $tag)); - $body .= list_group_search($tag); - //$body = elgg_view_layout('two_column_left_sidebar','',$body); - } else { - $title = elgg_echo('item:group'); - $body .= elgg_view_title($title); - $body .= list_entities('groups'); - } - - $body = elgg_view_layout('two_column_left_sidebar','',$body); - page_draw($title,$body); +// Set context +set_context('search'); -?> \ No newline at end of file +// Get input +$tag = stripslashes(get_input('tag')); + +if (!empty($tag)) { + $title = sprintf(elgg_echo('groups:searchtitle'),$tag); + $body = ""; + $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag)); + $body .= elgg_view('group/search/startblurb',array('tag' => $tag)); + $body .= list_group_search($tag); + //$body = elgg_view_layout('two_column_left_sidebar','',$body); +} else { + $title = elgg_echo('item:group'); + $body .= elgg_view_title($title); + $body .= list_entities('groups'); +} + +$body = elgg_view_layout('two_column_left_sidebar','',$body); +page_draw($title,$body); \ No newline at end of file diff --git a/search/index.php b/search/index.php index 4366ade31..9ae3533d6 100644 --- a/search/index.php +++ b/search/index.php @@ -1,85 +1,85 @@ 0) { + if ($friends = get_user_friends($friends,'',9999)) { + $owner_guid_array = array(); + foreach($friends as $friend) { + $owner_guid_array[] = $friend->guid; } - $friends = (int) get_input('friends',0); - if ($friends > 0) { - if ($friends = get_user_friends($friends,'',9999)) { - $owner_guid_array = array(); - foreach($friends as $friend) { - $owner_guid_array[] = $friend->guid; + } else { + $owner_guid = -1; + } +} + +// Set up submenus +if ($object_types = get_registered_entity_types()) { + foreach($object_types as $object_type => $subtype_array) { + if (is_array($subtype_array) && sizeof($subtype_array)) + foreach($subtype_array as $object_subtype) { + $label = 'item:' . $object_type; + if (!empty($object_subtype)) { + $label .= ':' . $object_subtype; } - } else { - $owner_guid = -1; - } - } - - // Set up submenus - if ($object_types = get_registered_entity_types()) { - - foreach($object_types as $object_type => $subtype_array) { - if (is_array($subtype_array) && sizeof($subtype_array)) - foreach($subtype_array as $object_subtype) { - $label = 'item:' . $object_type; - if (!empty($object_subtype)) $label .= ':' . $object_subtype; - global $CONFIG; - add_submenu_item(elgg_echo($label), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&subtype=" . $object_subtype . "&object=". urlencode($object_type) ."&tagtype=" . urlencode($md_type) . "&owner_guid=" . urlencode($owner_guid)); - } + global $CONFIG; + add_submenu_item(elgg_echo($label), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&subtype=" . $object_subtype . "&object=". urlencode($object_type) ."&tagtype=" . urlencode($md_type) . "&owner_guid=" . urlencode($owner_guid)); } - add_submenu_item(elgg_echo('all'), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&owner_guid=" . urlencode($owner_guid)); - - } - - if (empty($objecttype) && empty($subtype)) { - $title = sprintf(elgg_echo('searchtitle'),$tag); - } else { - if (empty($objecttype)) $objecttype = 'object'; - $itemtitle = 'item:' . $objecttype; - if (!empty($subtype)) $itemtitle .= ':' . $subtype; - $itemtitle = elgg_echo($itemtitle); - $title = sprintf(elgg_echo('advancedsearchtitle'),$itemtitle,$tag); - } - - if (!empty($tag)) { - $body = ""; - $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag)); - $body .= trigger_plugin_hook('search','',$tag,""); - $body .= elgg_view('search/startblurb',array('tag' => $tag)); - $body .= list_entities_from_metadata($md_type, elgg_strtolower($tag), $objecttype, $subtype, $owner_guid_array, 10, false, false); - $body = elgg_view_layout('two_column_left_sidebar','',$body); - } - - page_draw($title,$body); + } + add_submenu_item(elgg_echo('all'), $CONFIG->wwwroot . "pg/search/?tag=". urlencode($tag) ."&owner_guid=" . urlencode($owner_guid)); + +} + +if (empty($objecttype) && empty($subtype)) { + $title = sprintf(elgg_echo('searchtitle'),$tag); +} else { + if (empty($objecttype)) { + $objecttype = 'object'; + } + $itemtitle = 'item:' . $objecttype; + if (!empty($subtype)) { + $itemtitle .= ':' . $subtype; + } + $itemtitle = elgg_echo($itemtitle); + $title = sprintf(elgg_echo('advancedsearchtitle'),$itemtitle,$tag); +} + +if (!empty($tag)) { + $body = ""; + $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag)); + $body .= trigger_plugin_hook('search','',$tag,""); + $body .= elgg_view('search/startblurb',array('tag' => $tag)); + $body .= list_entities_from_metadata($md_type, elgg_strtolower($tag), $objecttype, $subtype, $owner_guid_array, 10, false, false); + $body = elgg_view_layout('two_column_left_sidebar','',$body); +} -?> \ No newline at end of file +page_draw($title,$body); \ No newline at end of file diff --git a/search/users.php b/search/users.php index 5be11e020..62296e7e7 100644 --- a/search/users.php +++ b/search/users.php @@ -1,40 +1,35 @@ $tag)); - $body .= list_user_search($tag); - //$body = elgg_view_layout('two_column_left_sidebar','',$body); - } else { - $title = elgg_echo('item:user'); - $body .= elgg_view_title($title); - $body .= list_entities('user'); - } - - $body = elgg_view_layout('two_column_left_sidebar','',$body); - page_draw($title,$body); +// Set context +set_context('search'); -?> \ No newline at end of file +// Get input +$tag = stripslashes(get_input('tag')); + +if (!empty($tag)) { + $title = sprintf(elgg_echo('users:searchtitle'),$tag); + $body = ""; + $body .= elgg_view_title($title); // elgg_view_title(sprintf(elgg_echo('searchtitle'),$tag)); + $body .= elgg_view('user/search/startblurb',array('tag' => $tag)); + $body .= list_user_search($tag); + //$body = elgg_view_layout('two_column_left_sidebar','',$body); +} else { + $title = elgg_echo('item:user'); + $body .= elgg_view_title($title); + $body .= list_entities('user'); +} + +$body = elgg_view_layout('two_column_left_sidebar','',$body); +page_draw($title,$body); \ No newline at end of file diff --git a/services/api/rest.php b/services/api/rest.php index 5e99d58b7..dfa6cd3a5 100644 --- a/services/api/rest.php +++ b/services/api/rest.php @@ -1,58 +1,59 @@ - * @link http://elgg.org/ - */ - - /** - * Start the Elgg engine - */ - require_once("../../engine/start.php"); - global $CONFIG; - - // Register the error handler - error_reporting(E_ALL); - set_error_handler('__php_api_error_handler'); - - // Register a default exception handler - set_exception_handler('__php_api_exception_handler'); - - // Check to see if the api is available - if ((isset($CONFIG->disable_api)) && ($CONFIG->disable_api == true)) - throw new SecurityException(elgg_echo('SecurityException:APIAccessDenied')); - - // Register some default PAM methods, plugins can add their own - register_pam_handler('pam_auth_session_or_hmac'); // Command must either be authenticated by a hmac or the user is already logged in - register_pam_handler('pam_auth_usertoken', 'required'); // Either token present and valid OR method doesn't require one. - register_pam_handler('pam_auth_anonymous_method'); // Support anonymous functions - - // Get parameter variables - $method = get_input('method'); - $result = null; - - // Authenticate session - if (pam_authenticate()) - { - // Authenticated somehow, now execute. - $token = ""; - $params = get_parameters_for_method($method); // Use $CONFIG->input instead of $_REQUEST since this is called by the pagehandler - if (isset($params['auth_token'])) $token = $params['auth_token']; - - $result = execute_method($method, $params, $token); +/** + * Rest endpoint. + * The API REST endpoint. + * + * @package Elgg + * @subpackage API + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +/** + * Start the Elgg engine + */ +require_once("../../engine/start.php"); +global $CONFIG; + +// Register the error handler +error_reporting(E_ALL); +set_error_handler('__php_api_error_handler'); + +// Register a default exception handler +set_exception_handler('__php_api_exception_handler'); + +// Check to see if the api is available +if ((isset($CONFIG->disable_api)) && ($CONFIG->disable_api == true)) { + throw new SecurityException(elgg_echo('SecurityException:APIAccessDenied')); +} + +// Register some default PAM methods, plugins can add their own +register_pam_handler('pam_auth_session_or_hmac'); // Command must either be authenticated by a hmac or the user is already logged in +register_pam_handler('pam_auth_usertoken', 'required'); // Either token present and valid OR method doesn't require one. +register_pam_handler('pam_auth_anonymous_method'); // Support anonymous functions + +// Get parameter variables +$method = get_input('method'); +$result = null; + +// Authenticate session +if (pam_authenticate()) { + // Authenticated somehow, now execute. + $token = ""; + $params = get_parameters_for_method($method); // Use $CONFIG->input instead of $_REQUEST since this is called by the pagehandler + if (isset($params['auth_token'])) { + $token = $params['auth_token']; } - else - throw new SecurityException(elgg_echo('SecurityException:NoAuthMethods')); - - // Finally output - if (!($result instanceof GenericResult)) - throw new APIException(elgg_echo('APIException:ApiResultUnknown')); - - // Output the result - page_draw($method, elgg_view("api/output", array("result" => $result))); - -?> \ No newline at end of file + + $result = execute_method($method, $params, $token); +} else { + throw new SecurityException(elgg_echo('SecurityException:NoAuthMethods')); +} + +// Finally output +if (!($result instanceof GenericResult)) { + throw new APIException(elgg_echo('APIException:ApiResultUnknown')); +} + +// Output the result +page_draw($method, elgg_view("api/output", array("result" => $result))); \ No newline at end of file diff --git a/services/export/handler.php b/services/export/handler.php index d198149da..4c5391ed2 100644 --- a/services/export/handler.php +++ b/services/export/handler.php @@ -1,123 +1,113 @@ $entity, "uuid" => guid_to_uuid($guid))); +/** + * Open Document Definition Handler. + * This file acts as the endpoint for ODD UUID url requests, exporting the requested data as an + * OpenDD XML file. + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +require_once("../../engine/start.php"); + +// Get input values, these will be mapped via modrewrite +$guid = get_input("guid"); // guid of the entity + +// For attributes eg http://example.com/odd/73/attr/owner_uuid/ or http://example.com/odd/73/metadata/86/ +$type = get_input("type"); // attr, metadata, annotation, rekationship +$id_or_name = get_input("idname"); // Either a number or the key name (if attribute) + +$body = ""; +$title = ""; + +// Only export the GUID +if (($guid!="") && ($type=="") && ($id_or_name=="")) { + $entity = get_entity($guid); + + if (!$entity) { + throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:GUIDNotFound'), $guid)); } - - // Export an individual attribute - else if ( - ($guid!="") && - ($type!="") && - ($id_or_name!="") - ) - { - // Get a uuid - $entity = get_entity($guid); - if (!$entity) - throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:GUIDNotFound'), $guid)); - - $uuid = guid_to_uuid($entity->getGUID()) . "$type/$id_or_name/"; - - switch ($type) - { - case 'attr' : // TODO: Do this better? - This is a bit of a hack... - $v = $entity->get($id_or_name); - if (!$v) throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:IdNotExistForGUID'), $id_or_name, $guid)); - - $m = new ElggMetadata(); - - $m->value = $v; - $m->name = $id_or_name; - $m->entity_guid = $guid; - $m->time_created = $entity->time_created; - $m->time_updated = $entity->time_updated; - $m->owner_guid = $entity->owner_guid; - $m->id = $id_or_name; - $m->type = "attr"; + + $title = "GUID:$guid"; + $body = elgg_view("export/entity", array("entity" => $entity, "uuid" => guid_to_uuid($guid))); +} + +// Export an individual attribute +else if (($guid!="") && ($type!="") && ($id_or_name!="")) { + // Get a uuid + $entity = get_entity($guid); + if (!$entity) { + throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:GUIDNotFound'), $guid)); + } + + $uuid = guid_to_uuid($entity->getGUID()) . "$type/$id_or_name/"; + + switch ($type) { + case 'attr' : // TODO: Do this better? - This is a bit of a hack... + $v = $entity->get($id_or_name); + if (!$v) { + throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:IdNotExistForGUID'), $id_or_name, $guid)); + } + + $m = new ElggMetadata(); + + $m->value = $v; + $m->name = $id_or_name; + $m->entity_guid = $guid; + $m->time_created = $entity->time_created; + $m->time_updated = $entity->time_updated; + $m->owner_guid = $entity->owner_guid; + $m->id = $id_or_name; + $m->type = "attr"; break; - case 'metadata' : - $m = get_metadata($id_or_name); + case 'metadata' : + $m = get_metadata($id_or_name); break; - case 'annotation' : - $m = get_annotation($id_or_name); - break; - case 'relationship' : - $r = get_relationship($id_or_name); + case 'annotation' : + $m = get_annotation($id_or_name); break; - case 'volatile' : - $m = trigger_plugin_hook('volatile', 'metadata', array('guid' => $guid, 'varname' => $id_or_name)); + case 'relationship' : + $r = get_relationship($id_or_name); break; - - default : - throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:CanNotExportType'), $type)); - } - - // Render metadata or relationship - if ((!$m) && (!$r)) - throw new InvalidParameterException(elgg_echo('InvalidParameterException:NoDataFound')); - - // Exporting metadata? - if ($m) - { - if ($m->entity_guid!=$entity->guid) - throw new InvalidParameterException(elgg_echo('InvalidParameterException:DoesNotBelong')); - - $title = "$type:$id_or_name"; - $body = elgg_view("export/metadata", array("metadata" => $m, "uuid" => $uuid)); + case 'volatile' : + $m = trigger_plugin_hook('volatile', 'metadata', array('guid' => $guid, 'varname' => $id_or_name)); + break; + + default : + throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:CanNotExportType'), $type)); + } + + // Render metadata or relationship + if ((!$m) && (!$r)) { + throw new InvalidParameterException(elgg_echo('InvalidParameterException:NoDataFound')); + } + + // Exporting metadata? + if ($m) { + if ($m->entity_guid!=$entity->guid) { + throw new InvalidParameterException(elgg_echo('InvalidParameterException:DoesNotBelong')); } - - // Exporting relationship - if ($r) - { - if ( - ($r->guid_one!=$entity->guid) && - ($r->guid_two!=$entity->guid) - ) - throw new InvalidParameterException(elgg_echo('InvalidParameterException:DoesNotBelongOrRefer')); - - $title = "$type:$id_or_name"; - $body = elgg_view("export/relationship", array("relationship" => $r, "uuid" => $uuid)); + + $title = "$type:$id_or_name"; + $body = elgg_view("export/metadata", array("metadata" => $m, "uuid" => $uuid)); + } + + // Exporting relationship + if ($r) { + if (($r->guid_one!=$entity->guid) && ($r->guid_two!=$entity->guid)) { + throw new InvalidParameterException(elgg_echo('InvalidParameterException:DoesNotBelongOrRefer')); } + + $title = "$type:$id_or_name"; + $body = elgg_view("export/relationship", array("relationship" => $r, "uuid" => $uuid)); } - - // Something went wrong - else - throw new InvalidParameterException(elgg_echo('InvalidParameterException:MissingParameter')); - - page_draw($title, elgg_view_layout('one_column',elgg_view_title($title) . $body)); -?> \ No newline at end of file +} + +// Something went wrong +else { + throw new InvalidParameterException(elgg_echo('InvalidParameterException:MissingParameter')); +} + +page_draw($title, elgg_view_layout('one_column',elgg_view_title($title) . $body)); \ No newline at end of file diff --git a/settings/index.php b/settings/index.php index 736dfe4c7..b5a966dbb 100644 --- a/settings/index.php +++ b/settings/index.php @@ -1,25 +1,24 @@ canEdit())) { - set_page_owner($_SESSION['guid']); - } - - // Forward to the user settings - forward('pg/settings/user/' . page_owner_entity()->username . "/"); - -?> \ No newline at end of file +// Get the Elgg framework +require_once(dirname(dirname(__FILE__)) . "/engine/start.php"); + +if (!page_owner()) { + set_page_owner($_SESSION['guid']); +} + +// Make sure we don't open a security hole ... +if ((!page_owner_entity()) || (!page_owner_entity()->canEdit())) { + set_page_owner($_SESSION['guid']); +} + +// Forward to the user settings +forward('pg/settings/user/' . page_owner_entity()->username . "/"); \ No newline at end of file diff --git a/settings/plugins.php b/settings/plugins.php index 3db665a16..219302ebc 100644 --- a/settings/plugins.php +++ b/settings/plugins.php @@ -1,24 +1,23 @@ canEdit())) { - set_page_owner($_SESSION['guid']); - } +// Make sure only valid users can see this +gatekeeper(); - // Display main admin menu - page_draw(elgg_echo("usersettings:plugins"),elgg_view_layout('two_column_left_sidebar','',elgg_view_title(elgg_echo("usersettings:plugins")) . elgg_view("usersettings/plugins", array('installed_plugins' => get_installed_plugins())))); -?> \ No newline at end of file +// Make sure we don't open a security hole ... +if ((!page_owner_entity()) || (!page_owner_entity()->canEdit())) { + set_page_owner($_SESSION['guid']); +} + +// Display main admin menu +page_draw(elgg_echo("usersettings:plugins"),elgg_view_layout('two_column_left_sidebar','',elgg_view_title(elgg_echo("usersettings:plugins")) . elgg_view("usersettings/plugins", array('installed_plugins' => get_installed_plugins())))); diff --git a/settings/statistics.php b/settings/statistics.php index 45de3ba5c..f0bbcfe63 100644 --- a/settings/statistics.php +++ b/settings/statistics.php @@ -1,24 +1,23 @@ canEdit())) { - set_page_owner($_SESSION['guid']); - } +// Make sure only valid admin users can see this +gatekeeper(); - // Display main admin menu - page_draw(elgg_echo("usersettings:statistics"),elgg_view_layout('two_column_left_sidebar','',elgg_view_title(elgg_echo("usersettings:statistics")) . elgg_view("usersettings/statistics"))); -?> \ No newline at end of file +// Make sure we don't open a security hole ... +if ((!page_owner_entity()) || (!page_owner_entity()->canEdit())) { + set_page_owner($_SESSION['guid']); +} + +// Display main admin menu +page_draw(elgg_echo("usersettings:statistics"),elgg_view_layout('two_column_left_sidebar','',elgg_view_title(elgg_echo("usersettings:statistics")) . elgg_view("usersettings/statistics"))); \ No newline at end of file diff --git a/settings/user.php b/settings/user.php index fdf055303..ae9dd5061 100644 --- a/settings/user.php +++ b/settings/user.php @@ -1,27 +1,26 @@ canEdit())) { - set_page_owner($_SESSION['guid']); - } +// Make sure only valid admin users can see this +gatekeeper(); - // Display main admin menu - page_draw( - elgg_echo("usersettings:user"), - elgg_view_layout("two_column_left_sidebar", '', elgg_view_title(elgg_echo('usersettings:user')) . elgg_view("usersettings/form")) - ); -?> \ No newline at end of file +// Make sure we don't open a security hole ... +if ((!page_owner_entity()) || (!page_owner_entity()->canEdit())) { + set_page_owner($_SESSION['guid']); +} + +// Display main admin menu +page_draw( + elgg_echo("usersettings:user"), + elgg_view_layout("two_column_left_sidebar", '', elgg_view_title(elgg_echo('usersettings:user')) . elgg_view("usersettings/form")) +); \ No newline at end of file diff --git a/simplecache/view.php b/simplecache/view.php index 0913ddb3e..01e4fe0e7 100644 --- a/simplecache/view.php +++ b/simplecache/view.php @@ -1,71 +1,73 @@ dbhost,$CONFIG->dbuser,$CONFIG->dbpass, true)) { +global $CONFIG, $viewinput, $override; +if (!isset($override)) { + $override = false; +} - $view = $viewinput['view']; - $viewtype = $viewinput['viewtype']; - if (empty($viewtype)) $viewtype = 'default'; - - if (@mysql_select_db($CONFIG->dbname,$mysql_dblink)) { - // get dataroot and simplecache_enabled in one select for efficiency - $simplecache_enabled = true; - if (!isset($dataroot)) { - if ($result = mysql_query("select name, value from {$CONFIG->dbprefix}datalists where name in ('dataroot','simplecache_enabled')",$mysql_dblink)) { - $row = mysql_fetch_object($result); - - while ($row) { - if ($row->name == 'dataroot') { - $dataroot = $row->value; - } else if ($row->name == 'simplecache_enabled') { - $simplecache_enabled = $row->value; - } - $row = mysql_fetch_object($result); - } +$contents = ''; +if (!isset($viewinput)) { + $viewinput = $_GET; +} + +if ($mysql_dblink = @mysql_connect($CONFIG->dbhost,$CONFIG->dbuser,$CONFIG->dbpass, true)) { + $view = $viewinput['view']; + $viewtype = $viewinput['viewtype']; + if (empty($viewtype)) { + $viewtype = 'default'; + } + + if (@mysql_select_db($CONFIG->dbname,$mysql_dblink)) { + // get dataroot and simplecache_enabled in one select for efficiency + $simplecache_enabled = true; + if (!isset($dataroot)) { + if ($result = mysql_query("select name, value from {$CONFIG->dbprefix}datalists where name in ('dataroot','simplecache_enabled')",$mysql_dblink)) { + $row = mysql_fetch_object($result); + + while ($row) { + if ($row->name == 'dataroot') { + $dataroot = $row->value; + } else if ($row->name == 'simplecache_enabled') { + $simplecache_enabled = $row->value; } - } - - if ($simplecache_enabled || $override) { - $filename = $dataroot . 'views_simplecache/' . md5($viewtype . $view); - if (file_exists($filename)) { - $contents = file_get_contents($filename); - header("Content-Length: " . strlen($contents)); - } else { - mysql_query("INSERT into {$CONFIG->dbprefix}datalists set name = 'simplecache_lastupdate', value = '0' ON DUPLICATE KEY UPDATE value='0'"); - - echo ''; exit; - } - } else { - mysql_close($mysql_dblink); - require_once(dirname(dirname(__FILE__)) . "/engine/start.php"); - $contents = elgg_view($view); - header("Content-Length: " . strlen($contents)); + $row = mysql_fetch_object($result); } } } - - $split_output = str_split($contents, 1024); - foreach($split_output as $chunk) - echo $chunk; + if ($simplecache_enabled || $override) { + $filename = $dataroot . 'views_simplecache/' . md5($viewtype . $view); + if (file_exists($filename)) { + $contents = file_get_contents($filename); + header("Content-Length: " . strlen($contents)); + } else { + mysql_query("INSERT into {$CONFIG->dbprefix}datalists set name = 'simplecache_lastupdate', value = '0' ON DUPLICATE KEY UPDATE value='0'"); + + echo ''; exit; + } + } else { + mysql_close($mysql_dblink); + require_once(dirname(dirname(__FILE__)) . "/engine/start.php"); + $contents = elgg_view($view); + header("Content-Length: " . strlen($contents)); + } + } +} +$split_output = str_split($contents, 1024); -?> +foreach($split_output as $chunk) { + echo $chunk; +} \ No newline at end of file diff --git a/upgrade.php b/upgrade.php index 8de74ad54..af06552cd 100644 --- a/upgrade.php +++ b/upgrade.php @@ -1,33 +1,32 @@ \ No newline at end of file + datalist_set('simplecache_lastupdate',0); + + elgg_filepath_cache_reset(); +} else { + global $CONFIG; + echo elgg_view('settings/upgrading'); + exit; +} + +forward(); \ No newline at end of file diff --git a/version.php b/version.php index 58963471a..cd33e34e1 100644 --- a/version.php +++ b/version.php @@ -1,19 +1,16 @@ +$release = '1.6.1'; // Human-friendly version name \ No newline at end of file -- cgit v1.2.3