Nenninger N-Tools.de

    * 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
    * 19.09.2023 -> $_SERVER['SERVER_NAME'] wird wenn nicht da auf Hostname gesetzt
    * 20.09.2023 -> get_channel_messages korrigiert (limit, offset)
    * 26.09.2023 -> löschen von Dateien eingebaut;
    * 31.10.2023 -> Fehler beim speichern der Logins gefixt
    * V1.13  26.11.2023 -> open_conversation eingebaut
    
    hermine@THW PHPConnector
    inspiriert von https://gitlab.com/aeberhardt/stashcat-api-client
    
    curl und php >= 7.4
    
    Funktionen:
    
      get_last_error();
      
      login(soll der Login gespeichert werden);
      
      get_companies_list(); -> List der Firmen (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)
          
      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_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);
      
      get_channel_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":

    $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');
      $hermine->send_message_with_file_to_channel(165562,'jpg per php',$file,'test.jpg','image/jpeg',1080,2068);

    }else{
      //login fehlgeschlagen
      print_r($hermine->get_last_error);
    }
    
    Beispiel "Login und Prüfen ob Mitglieder in Channels vorhanden sind":
        $hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort');
        if($hermine->login(true) !== false){
	        $quasselgruppe = $hermine->get_channel_infos(110266);
	        $content .= 'die Quasselgruppe hat '.count($quasselgruppe->members).' Mitglieder';
	        //AnkündigungsCHannel 209674
	        $gruppe = $hermine->get_channel_infos(209674);
	        $content .= 'der Ankündigungschannel hat '.count($gruppe->members).' Mitglieder';

	        $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);
        }
		
	Beispiel "Login und Konversation erstellen" *wenn diese schon vorhanden ist, wird die schon vorhandene zurück gegeben*:
		$hermine = new hermineConnect('mailadresse','Accountpassword','Verschlüsselungskennwort');
		if($hermine->login(true) !== false){
			$ret = $hermine->open_conversation([
				['id'=>xxxxxxx,'public_key'=>'-----BEGIN PUBLIC KEY-----hier muss der Publickey rein (kann mit search_user geholt werden	)-----END PUBLIC KEY-----'],
				['id'=>xxxxxxx,'public_key'=>'-----BEGIN PUBLIC KEY-----hier muss der Publickey rein (kann mit search_user geholt werden	)-----END PUBLIC KEY-----'],
				...
			]);
			print_r($ret);
		}else{
			print_r($hermine->get_last_error);
		}
Description
No description provided
Readme 142 KiB
Languages
PHP 100%