* 26.11.2023 -> open_conversation eingebaut

This commit is contained in:
2023-11-26 20:34:55 +01:00
parent 6c09b9f301
commit fa1c1f7d47
2 changed files with 719 additions and 756 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,14 @@
Nenninger N-Tools.de Nenninger N-Tools.de
Version 1.12 Version 1.12
*20.06.2023 -> neue Parameter und devid darf keine Zeichen sondern nur Buchstaben und Zahlen enthalten * 20.06.2023 -> neue Parameter und devid darf keine Zeichen sondern nur Buchstaben und Zahlen enthalten
*13.09.2023 -> cookie Datei und Login.dat umbenannt * 13.09.2023 -> cookie Datei und Login.dat umbenannt
*19.09.2023 -> $_SERVER['SERVER_NAME'] wird wenn nicht da auf Hostname gesetzt * 19.09.2023 -> $_SERVER['SERVER_NAME'] wird wenn nicht da auf Hostname gesetzt
*20.09.2023 -> get_channel_messages korrigiert (limit, offset) * 20.09.2023 -> get_channel_messages korrigiert (limit, offset)
*26.09.2023 -> löschen von Dateien eingebaut; * 26.09.2023 -> löschen von Dateien eingebaut;
*31.10.2023 -> Fehler beim speichern der Logins gefixt * 31.10.2023 -> Fehler beim speichern der Logins gefixt
* 26.11.2023 -> open_conversation eingebaut
hermine@THW PHPConnector hermine@THW PHPConnector
inspiriert von https://gitlab.com/aeberhardt/stashcat-api-client inspiriert von https://gitlab.com/aeberhardt/stashcat-api-client
@@ -16,28 +17,35 @@
Funktionen: Funktionen:
get_last_error(); get_last_error();
login(soll der Login gespeichert werden);
login(soll der Login gespeichert werden);
get_companies_list(); -> List der Firmen (wird beim Login erstellt)
get_companies_list(); -> List der Firmen (wird beim Login erstellt) get_conversations_list(); -> List der Konversationen (wird beim Login erstellt)
get_conversations_list(); -> List der Konversationen (wird beim Login erstellt) get_channels_list(); -> List der Kanäle (1. Firma) (wird beim Login erstellt)
get_channels_list(); -> List der Kanäle (1. Firma) (wird beim Login erstellt)
send_message_to_conversation(id,Nachricht,optional URLs als array, optional Standort als Array);
send_message_to_conversation(id,Nachricht,optional URLs als array, optional Standort als Array); send_message_to_channel(id,Nachricht,optional URLs als array, optional Standort als Array);
send_message_to_channel(id,Nachricht,optional URLs als array, optional Standort als Array);
send_message_with_file_to_conversation(id,Nachricht,Dateiinhalt (max 5MB),Dateiname in Hermine,Type Bsp:'image/jpeg',Breite Standard 0,Höhe Standard 0);
send_message_with_file_to_conversation(id,Nachricht,Dateiinhalt (max 5MB),Dateiname in Hermine,Type Bsp:'image/jpeg',Breite Standard 0,Höhe Standard 0); send_message_with_file_to_channel(id,Nachricht,Dateiinhalt (max 5MB),Dateiname in Hermine,Type Bsp:'image/jpeg',Breite Standard 0,Höhe Standard 0);
send_message_with_file_to_channel(id,Nachricht,Dateiinhalt (max 5MB),Dateiname in Hermine,Type Bsp:'image/jpeg',Breite Standard 0,Höhe Standard 0);
get_channel_messages(id, $_limit=50, $_offset=0); -< array
get_channel_messages(id, $_limit=50, $_offset=0); -< array get_conversation_messages(id,limit=50,offset=0); -< array
get_conversation_messages(id,limit=50,offset=0); -< array
get_channel_infos($_channel_id); -< array
search_user($_searchby, $_limit=50, $_offset=0); -< array
list_uploaded_chat_files($_search); -< array
delete_files($_ids=[]) -< boolean
open_conversation($_members) -< array
Beispiel "Login, Chats holen, Nachricht mit Datei senden":
Beispiele:
$hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort'); $hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort');
if($hermine->login(true) !== false){ if($hermine->login(true) !== false){
$array = $hermine->get_companies_list(); $array = $hermine->get_companies_list();
@@ -46,73 +54,56 @@
print_r($array); print_r($array);
$array = $hermine->get_channels_list(); $array = $hermine->get_channels_list();
print_r($array); print_r($array);
$file = file_get_contents('./test.jpg');
$hermine->send_message_with_file_to_channel(165562,'jpg per php',$file,'test.jpg','image/jpeg',1080,2068);
$array = $hermine->get_channel_messages(165562);
foreach($array as $msg){
echo $msg->text."\n";
}
$array = $hermine->search_user('Nennin');
}else{
//login fehlgeschlagen
print_r($hermine->get_last_error);
}
Beispiele 1:
$hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort');
if($hermine->login(true) !== false){
$array = $hermine->get_companies_list();
print_r($array);
$array = $hermine->get_conversations_list();
print_r($array);
$array = $hermine->get_channels_list();
print_r($array);
$file = file_get_contents('./ich.jpg'); $file = file_get_contents('./ich.jpg');
$hermine->send_message_with_file_to_channel(165562,'jpg per php',$file,'test.jpg','image/jpeg',1080,2068); $hermine->send_message_with_file_to_channel(165562,'jpg per php',$file,'test.jpg','image/jpeg',1080,2068);
}else{ }else{
//login fehlgeschlagen //login fehlgeschlagen
print_r($hermine->get_last_error); print_r($hermine->get_last_error);
} }
Beispiel 2: Beispiel "Login und Prüfen ob Mitglieder in Channels vorhanden sind":
$hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort'); $hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort');
if($hermine->login(true) !== false){ if($hermine->login(true) !== false){
$quasselgruppe = $hermine->get_channel_infos(110266); $quasselgruppe = $hermine->get_channel_infos(110266);
$content .= 'die Quasselgruppe hat '.count($quasselgruppe->members).' Mitglieder<br>Achtung Karin ist RSt!!!<br><br>'; $content .= 'die Quasselgruppe hat '.count($quasselgruppe->members).' Mitglieder';
//print_r($quasselgruppe->members); //AnkündigungsCHannel 209674
//AnkündigungsCHannel 209674 $gruppe = $hermine->get_channel_infos(209674);
$gruppe = $hermine->get_channel_infos(209674); $content .= 'der Ankündigungschannel hat '.count($gruppe->members).' Mitglieder';
$content .= 'der Ankündigungschannel hat '.count($gruppe->members).' Mitglieder<br>Achtung Karin ist RSt!!!<br><br>';
$array = $hermine->search_user('(OV Alzenau)',200,0);
$content .= '(OV Alzenau) haben '.count($array).' Mitglieder im Nachnamen<table >';
$content .= '<tr><th>Helfende</th><th>Quasselgruppe</th><th>Ankündigungs Gruppe</th></tr>';
foreach($array as $user){
$content .= '<tr style="border-bottom: solid 1px;"><td>'.$user->first_name.' '.$user->last_name;
$content .= "</td><td>";
$uQG = array_column($quasselgruppe->members, null, 'id')[$user->id] ?? false;
if($uQG !== false){
$content .= 'X';
}
$content .= "</td><td>";
$uAG = array_column($gruppe->members, null, 'id')[$user->id] ?? false;
if($uAG !== false){
$content .= 'X';
}
$content .= "</td></tr>\n";
}
}else{
//login fehlgeschlagen
print_r($hermine->get_last_error);
}
$array = $hermine->search_user('(OV Alzenau)',200,0); Beispiel "Login und Konversation erstellen" *wenn diese schon vorhanden ist, wird die schon vorhandene zurück gegeben*:
//print_r($array); $hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort');
$content .= '(OV Alzenau) haben '.count($array).' Mitglieder im Nachnamen<br>Achtung Karin ist RSt!!!<br><table >'; if($hermine->login(true) !== false){
$content .= '<tr><th>Helfende</th><th>Quasselgruppe</th><th>Ankündigungs Gruppe</th></tr>'; $ret = $hermine->open_conversation([
foreach($array as $user){ ['id'=>xxxxxxx,'public_key'=>'-----BEGIN PUBLIC KEY-----hier muss der Publickey rein (kann mit search_user geholt werden )-----END PUBLIC KEY-----'],
$content .= '<tr style="border-bottom: solid 1px;"><td>'.$user->first_name.' '.$user->last_name; ['id'=>xxxxxxx,'public_key'=>'-----BEGIN PUBLIC KEY-----hier muss der Publickey rein (kann mit search_user geholt werden )-----END PUBLIC KEY-----'],
$content .= "</td><td>"; ...
$uQG = array_column($quasselgruppe->members, null, 'id')[$user->id] ?? false; ]);
if($uQG !== false){ print_r($ret);
$content .= 'X'; }else{
print_r($hermine->get_last_error);
} }
$content .= "</td><td>";
$uAG = array_column($gruppe->members, null, 'id')[$user->id] ?? false;
if($uAG !== false){
$content .= 'X';
}
//$content .= print_r($uQG,true);
$content .= "</td></tr>\n";
}
}else{
//login fehlgeschlagen
print_r($hermine->get_last_error);
}