hypejunction / hypeinbox Goto Github PK
View Code? Open in Web Editor NEWEnhanced messaging capabilities for Elgg
Enhanced messaging capabilities for Elgg
the icon for senders of messages is presumably intended to be 'small' size, like the other icons - yet it is set to medium.
i dug through the code and found the change that is needed to resolve this.
the last line of the function handleMessageIconURL needs to change to:
return $entity->getSender()->getIconURL($params['size']);
Hi,
When I receive a private message from my platform Elgg, the subject is "Vous avez un nouveau item:object:message:__private:singular"
The $language variable doesn't seem initialized in /actions/messages/send.php on line 84
$type_label = $ruleset->getSingularLabel($language);
I added
$type_label = strtolower($ruleset->getSingularLabel($recipient->language));
in the foreach loop, line 102
foreach ($recipient_guids as $recipient_guid) {
$recipient = get_entity($recipient_guid);
$type_label = strtolower($ruleset->getSingularLabel($recipient->language));
$subject = elgg_echo('inbox:notification:subject', array($type_label), $recipient->language);
Thanks for your plugin.
JgC
hi
when reply to message forward page to compose page and message not send
I´ve site_notifications and notifications plugins enabled, and I can list site notifications from /site_notifications/view/username url but not from messages/inbox/username?message_type=__notification.
Is supposed hypeInbox plugin manages site notification messages, are not?, if yes, how can I achieve it? I see there is an upgrade process in the plugin, but I think it isn´t never executed.
I´ve last Elgg and plugin releases.
Hi,
Is there something special to do to install the plugin in Elgg ? I've installed hypeinbox, hypeLists and Tokenizink Autocomplete. When I click on the email icon with the anchor #inbox-popup (i only have Elgg default theme), I have the following error in the console : TypeError: i is undefined.
s http://localhost/elgg/cache/0/default/jquery-ui.js:6:16667
e.fn.position http://localhost/elgg/cache/0/default/jquery-ui.js:6:18379
open http://localhost/elgg/cache/0/default/elgg.js:547:4
bind/< http://localhost/elgg/cache/0/default/elgg.js:468:7
dispatch http://localhost/elgg/cache/0/default/jquery.js:3:7485
add/r.handle http://localhost/elgg/cache/0/default/jquery.js:3:5603
Good day,
I've installed hypeInbox ver 6.1.0 (Tokenzing Autocomplete - from GitHub master, hypeUI, hypeAttachements and hypeList) via the Elgg site.
The recipient input field doesn't seem to work and I get the following in the console:
require.js:1961 GET https://[myserver]/testing/cache/1519295077/default/jquery.tokeninput.js net::ERR_ABORTED
req.load @ require.js:1961
load @ require.js:1685
load @ require.js:834
fetch @ require.js:824
check @ require.js:856
enable @ require.js:1176
enable @ require.js:1557
(anonymous) @ require.js:1161
(anonymous) @ require.js:134
each @ require.js:59
enable @ require.js:1113
init @ require.js:788
callGetModule @ require.js:1203
completeLoad @ require.js:1590
onScriptLoad @ require.js:1717
require.js:168 Uncaught Error: Script error for "jquery.tokeninput", needed by: tokeninput/lib
http://requirejs.org/docs/errors.html#scripterror
at makeError (require.js:168)
at HTMLScriptElement.onScriptError (require.js:1738)
the 'mark read' function cannot be used since there is no way to mark messages as 'selected'
I wasn't able to locate "Message types" as not in plugin's settings. I guess it would be more intuitive if placed in plugins' settings page in a new tab like Tidypics.
No indication of message received when multiple recipients is utilized. It also does not indicate that the message is new (different background color). It works fine (i.e. number indictor) when single recipient is used.
Elgg 2.01
It seems like there is no way to compose messages after activating the plugin. Clicking on the username in the inbox will just come up with a blank page.
Maybe it is just because I have not yet configured any message types, but if this is the case it would be nice if there was at least one default pre-configured that allows for the same functionality as offered by the standard messaging system.
While there is a convenient entry to the drop-down menu of every user, the big "send message" button is missing from the profile page after activating the plugin.
For me that is inconvenient as the drop-down menu is really not all that obvious to normal users, and that I have the lagged_dropdown plugin installed makes matters worse.
Perfect would be if every message type had a check-box to enable that message type to be displayed as a big button on the profile sidebar directly under the profile picture. Alternatively it could also be enabled or disabled depending on the relationship settings of the message type rule or something like that.
When I try to save inbox settings, it gives a white page. when I go back to settings, it shows error Form is missing __token or __ts fields. I have disabled friends feature and installed followers plugin. "Relationship of the sender to the group that the recipient is a member of" and "relationship to recipient" dropdown is empty.
Hi,
The drop down in admin settings is empty.
In /classes/HypeJunction/Inbox/Config.php line 108
if (!isset(self::$userGroupRelationships)) {
! is missing.
Best regards.
JgC
Hello,
Elgg 2.3.3, hypeinbox 7, when clicking on the envelope icon the popup doesn't open but all the rest seems to work as a charm. Nothing in error_log, tell me what else I can check to give you more details.
Cheers
M
Hello,
when trying to forward on page /messages/forward/769881/
error "Page not found"
This plugin's 6.1.0, Elgg 2.3.1
Cheers
Hi Ismayil, I´ve manually added "Site Messages (__notification)" messajes type, but I can´t find how to delete this added type. How can I delete it?
the text key for this reply button is missing.
Hello,
I try to make a link to send a message to multiple Elgg users or to a group into Elgg.
Right now, I can use /messages/compose?send_to=<guid>
URL to pre-fill the field To: for a single Elgg user but I cannot figure out how to pre-fill with multiple users or to a particular existing Elgg group.
How can I achieve that ?
Thanks for your help 😄
Hello,
1st, ability to add "All friends" to recipient field with a click would be great.
2nd, if users create Friend collections (Friends->Friends collections) it would be useful to retrieve/add them (via tokeninput?) into the recipients field of a new private message so users don't have to type each friend's name for the desired collection.
Cheers
I find strange to see also my own sent messages in "Private messages" tab. As user I guess I'd prefer see there only conversations whose last replies are from counterparts, not from myself.
Hello,
lately recipients' accessing their messages via email links (ie. /messages/read/834900#elgg-object-834900) get a "You have not sufficient permissions to view this page" even if they0re logged in.
Tested with Elgg 2.3.3 and hypeinbox 6.1.0
Hi,
I encountered a fatal error with sql query when the recipient must be in a same group as the sender.
in /classes/hypeJunction/Inbox/Policy.php on line 266
$clauses['join'] = "JOIN {$this->dbprefix}entity_relationships $alias ON ge_rel.guid_one = $guid
AND ge_rel.relationship = '$this->group_relationship'";
$clauses['where'] = "$alias.guid_two IN (SELECT guid_two FROM {$this->dbprefix}entity_relationships WHERE guid_one = e.guid
AND relationship = '$this->group_relationship')";
instead of using $alias in the ON clause
$clauses['join'] = "JOIN {$this->dbprefix}entity_relationships $alias ON $alias.guid_one = $guid
AND $alias.relationship = '$this->group_relationship'";
$clauses['where'] = "$alias.guid_two IN (SELECT guid_two FROM {$this->dbprefix}entity_relationships WHERE guid_one = e.guid
AND relationship = '$this->group_relationship')";
But maybe I'm wrong.
Best regards.
JgC
This is my humble contribution
<?php
$french = array(
'admin:inbox' => 'Paramètres de la messagerie',
'admin:inbox:message_types' => 'Types de message',
'item:object:message:create' => 'Ajouter un nouveau type de message',
'item:object:message:name' => 'Identifiant unique',
'item:object:message:setting:multiple' => 'Autoriser plusieurs destinataires',
'item:object:message:setting:attachments' => 'Autoriser les pièces jointes',
'item:object:message:setting:persistent' => 'Les messages ne pourront pas être supprimés par le destinataire',
'item:object:message:setting:no_subject' => 'Inhiber le champ sujet',
'item:object:message:setting:policy' => 'Règles de communication',
'item:object:message:setting:policy:help' => 'Détermine le jeu d\'utilisateurs entre lesquels l\'envoi de message est possible.
Les champs "Expéditeur" et "Destinataire" contiennent les rôles des utilisateurs
"Relation avec le destinataire" contient le type de relation qui doit lier destinataire et expéditeur (L\'expéditeur doit être un contact du destinataire par exemple).
"Relation inverse" indique si le type de relation doit être valable dans le sens inverse (Le destinataire doit être un contact de l\'expéditeur par exemple).
"Relation du destinataire avec un groupe" impose un filtre supplémentaire pour lequel l\'expéditeur doit être membre d\'un groupe auquel appartient aussi le destinataire.
',
'item:object:message:all' => 'Tous les messages',
'inbox:admin:import' => 'Importer les anciens messages',
'inbox:admin:import_stats' => 'Les métadatas sont manquantes pour %s messages. Ces informations sont indispensables pour des raisons de compatibilité',
'inbox:admin:import_start' => 'Commencer l\'import',
'inbox:admin:import_complete' => 'L\'import a été finalisé.',
'inbox:user_type:all' => 'N\'importe quel utilisateur',
'inbox:user_type:admin' => 'Administrateur',
'inbox:user_type:editor' => 'Editeur',
'inbox:user_type:supervisor' => 'Superviseu',
'inbox:user_type:observer' => 'Observateur',
'item:object:message:label:singular' => 'Label (au singulier)',
'item:object:message:label:plural' => 'Label (au pluriel)',
'inbox:send' => 'Send %s',
'inbox:sender' => 'Expéditeur',
'inbox:relationship' => 'Relation avec le destinataire',
'inbox:recipient' => 'Destinataire',
'inbox:inverse_relationship' => 'Relation inverse',
'inbox:relationship' => 'Relation avec le destinataire',
'inbox:group_relationship' => 'Relation de l\'expéditeur au groupe dont le destinataire est membre',
'inbox' => 'Messages',
'inbox:all' => 'Tous les messages',
'inbox:inbox' => 'Boîte de réception',
'inbox:sent' => 'Boîte d\'envoi',
'inbox:compose' => 'Rédiger',
'inbox:compose:message_type' => 'Rédiger un %s',
'inbox:reply' => 'Répondre',
'inbox:reply:message_type' => 'Répondre à un %s',
'inbox:reply:prefix' => 'Re:',
'inbox:message_type' => '%s',
'inbox:message_type:sent' => 'Sent %s',
'inbox:conversation:user' => 'Fil de discussion avec %s',
'inbox:conversation:group' => 'Fil de discussion d\'un groupe',
'inbox:usersettings:grouping' => 'Regrouper les messages par expéditeur',
'inbox:group' => 'Group',
'inbox:dontgroup' => 'Ne pas regrouper',
'inbox:message_not_found' => 'Message non trouvé',
'inbox:untitled' => 'Sans titre',
'inbox:me' => 'moi',
'inbox:recipients:others' => '%s autres',
'inbox:thread' => 'Voir tous les %s messages dans ce fil',
'inbox:thread:count' => '%s messages',
'inbox:thread:unread' => '%s nouveaux',
'inbox:thread:new' => 'Nouveau message',
'inbox:thread:participants' => 'Membres dans ce fil',
'inbox:attachments:count' => '%s pièces jointes',
'inbox:message' => 'Message: %s',
'inbox:conversation' => 'Conversation entre vous et %s',
'inbox:nomessages' => 'Il n\'y a aucun message dans ce fil',
'inbox:load:before' => 'Montrer les %s messages précédents',
'inbox:load:after' => 'Montrer les %s messages suivants',
'inbox:delete' => 'Supprimer',
'inbox:markread' => 'Marquer comme lu',
'inbox:markunread' => 'Marquer comme non lu',
'inbox:delete:success' => '%s messages ont été supprimés.',
'inbox:delete:success:single' => 'Le message a été supprimé.',
'inbox:delete:error' => 'Les messages n\'ont pu être supprimés.',
'inbox:delete:inbox:confirm' => 'Êtes-vous sûr de vouloir supprimes tous les messages sélectionnés ?',
'inbox:delete:thread:confirm' => 'Êtes-vous sûr de vouloir supprimes tous les messages de ce fil ?',
'inbox:delete:message:confirm' => 'Êtes-vous sûr de vouloir supprimes ce message ?',
'inbox:markread:success' => '%s messages ont été marqués comme lus.',
'inbox:markread:success:single' => 'Le message a été marqué comme lu.',
'inbox:markread:error' => 'Les messages n\'ont pu être marqués comme lus.',
'inbox:markunread:success' => '%s messages ont été marqués comme non-lus.',
'inbox:markunread:success:single' => 'Le message a été marqué comme non-lu.',
'inbox:markunread:error' => 'Les messages n\'ont pu être marqués comme non-lus.',
'inbox:error:notfound' => '%s messages n\'ont pu être trouvés',
'inbox:error:persistent' => '%s messages n\'ont pu être supprimés, ils sont en lecture seule.',
'inbox:error:unknown' => '%s messages n\'ont pu être supprimés en raison d\'une erreur inconnue.',
'inbox:send:success' => 'Le message a été envoyé.',
'inbox:send:error:no_recipients' => 'Vous devez sélectionner un destinataire.',
'inbox:send:error:no_body' => 'Vous devez ajouter un corps de texte au message.',
'inbox:send:error:generic' => 'Une erreur inconnue est survenue lors de l\'envoi du message.',
'inbox:user:unknown' => 'Inconnu',
'inbox:form:toggle_all' => 'Basculer',
'inbox:message:recipient' => 'Destinataire',
'inbox:message:recipients' => 'Destinataires',
'inbox:message:subject' => 'Sujet',
'inbox:message:body' => 'Message',
'inbox:message:attachments' => 'Pièces jointes',
'inbox:message:attachments:add' => 'Ajouter une pièce jointe',
'inbox:message:send' => 'Envoyer',
'inbox:notification:subject' => 'Vous avez un nouveau %s',
'inbox:notification:body' => "Vous avez reçu un nouveau %s de %s.
%s
Pour consulter vos messages, cliquez ici :
%s
Pour rédiger un message à %s, cliquez ici :
%s
Merci de ne pas répondre directement à ce message. Aucune suite ne sera donnée.",
);
add_translation("fr", $french);
In the user-dropdown you can select sending a message to yourself, which is in the end not possible because if you click on it no recipient is selected, but it would be still nice if that one could be hidden.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.