Page tree
Skip to end of metadata
Go to start of metadata

1. Hinweis

API Klassen und deren Funktionen können nur mit TecArt-System Version >= 3.2 genutzt werden

2. Methoden

2.1. addTree

Syntax:

int addTree( string $module, array $crmFileTree, int $user_id = -1, int $object_id = -1, int $ext_id = 0)

Beschreibung:

Erstellt einen kompletten Dateibaum. Gibt 1 zurück, wenn der Dateibaum komplett erstellt wurde oder 0 einen teilweisen Erfolg.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Hinweis: addTree() hält nicht an, wenn Fehler auftreten (z.B. wenn Strukturen bereits existieren), sondern gibt stattdessen 0 zurück.

$module (obligatorisch): diese Variable muss einen der folgenden Strings beinhalten:

- offers: Dokumente vom ausgewähltem Angebot (das Setzen der Variable $object_id ist obligatorisch)
- contracts: Dokumente vom ausgewähltem Vertrag (das Setzen der Variable $object_id ist obligatorisch)
- calls: Dokumente vom ausgewähltem Anruf (das Setzen der Variable $object_id ist obligatorisch)
- todo: Dokumente von der ausgewählten Aufgabe (das Setzen der Variable $object_id ist obligatorisch)
- dates: Dokumente vom ausgewähltem Termin (das Setzen der Variable $object_id ist obligatorisch)
- projects: Dokumente vom ausgewähltem Projekt (das Setzen der Variable $object_id ist obligatorisch)
- contacts: Dokumente vom ausgewähltem Kontakt(das Setzen der Variable $object_id ist obligatorisch)
- tickets: Dokumente vom ausgewähltem Ticket(das Setzen der Variable $object_id ist obligatorisch)
- articles: Dokumente vom ausgewähltem Artikel (das Setzen der Variable $object_id ist obligatorisch)
- orders: Dokumente vom ausgewähltem Auftrag (das Setzen der Variable $object_id ist obligatorisch)
- notes: Dokumente vom ausgewählter Notiz (das Setzen der Variable $object_id ist obligatorisch)
- payments: Dokumente vom ausgewählter Zahlung (das Setzen der Variable $object_id ist obligatorisch)
- invoices: Dokumente vom ausgewählter Ausgangsrechnung (das Setzen der Variable $object_id ist obligatorisch)
- purchases: Dokumente vom ausgewählter Eingangsrechnung (das Setzen der Variable $object_id ist obligatorisch)
- ressources: Dokumente vom ausgewählter Ressource (das Setzen der Variable $object_id ist obligatorisch)
- forum: Dokumente vom ausgewähltem Forum-Thema (das Setzen der Variable $object_id ist obligatorisch)
- client_accounts: Dokumente vom ausgewähltem Rechnungskonto (das Setzen der Variable $object_id ist obligatorisch)
- deliveries: Dokumente vom ausgewähltem Lieferschein (das Setzen der Variable $object_id ist obligatorisch)
- vouchers: Dokumente vom ausgewählter Gutschrift (das Setzen der Variable $object_id ist obligatorisch)
- admonitions: Dokumente vom ausgewählter Mahnung (das Setzen der Variable $object_id ist obligatorisch)
- cash_journals_entries: Dokumente vom ausgewähltem Kassenbuch-Eintrag (das Setzen der Variable $object_id ist obligatorisch)
- user_docs: Dokumente vom ausgewähltem Nutzer (das Setzen der Variable $user_id ist obligatorisch)
- common: Dokumente aus den gemeinsamen Dokumenten
- domaintemplates: domaintemplate Dokumente
- drafts: Dokumenten-Vorlagen
- dashboard: Startbildschirm-Vorlagen
- ticketdrafts: Ticket-Vorlagen
- folderdrafts: Ordner-Vorlagen
- mailtemplates: E-Mail-Vorlagen
- reportingtemplates: Auswertungen-Vorlagen
- billingdrafts: Systemvorlagen für Rechnungs-Module
- billingemaildrafts: E-Mail-Vorlagen für Rechnungs-Module
- ressourcetemplates: ressourcetemplates Dokumente
- contacttemplates: contacttemplates Dokumente
- ordertemplates: persontemplates Dokumente
- persontemplates: persontemplates Dokumente
- projecttemplates: projecttemplates Dokumente
- contracttemplates: contracttemplates Dokumente
- offertemplates: offertemplates Dokumente
- tickettemplates: tickettemplates Dokumente
- articletemplates: articletemplates Dokumente
- invoicetemplates: invoicetemplates Dokumente
- admonitiontemplates: admonitiontemplates Dokumente
- deliverytemplates: deliverytemplates Dokumente
- vouchertemplates: vouchertemplates Dokumente
- client_accounttemplates: client_accounttemplates Dokumente
- paymenttemplates: paymenttemplates Dokumente
- cash_journals_entrytemplates: cash_journals_entrytemplates Dokumente

$crmFileTree (obligatorisch):

- ist ein Array, welches Informationen über den Dateibaum enthält

$user_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein, wenn $module auf user_docs gesetzt ist

$object_id (optional, -1 wenn ungenutzt):

- muss gesetzt sein, wenn $module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$ext_id (optional, 0 wenn nicht genutzt):

- Externe ID ( ab Version 4.2 )

Beispiel:

<?php
 
/**
    - in diesem Beispiel werden 3 Verzeichnisbäume und 2 Dokumente erstellt
    - Das Dokument "file1" enthält einen unkomprimierten, Base64-kodierten String
    - the document "file2" enthält einen GZIP- / Base64-kodierten String
    - Hinweis: Alle Strukturen werden rekursiv erstellt
**/
 
try {
    $file1 = array(
		'path'          => '/new_path/inner_path/file1.doc', 
		'content'       => base64_encode('testcontent'),
		'is_path'       => 0,
		'is_compressed' => 0
	);
 
    $file2 = array(
		'path'          => '/new_path/inner_path/inner_path2/file2.txt', 
		'content'       => base64_encode('testcontent'),
		'is_path'       => 0,
		'is_compressed' => 1
	);
 
    $path = array(
		'path'		=> utf8_encode("/new_path_a/emty_path"), 
		'is_path'	=> 1
	);
 
    $filetree		= array($file1, $file2, $path);
    $crmapi_docs	= crmapi::docs();
    $success		= $crmapi_docs->addTree("common", $filetree, -1, -1);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $success;



2.2. getTree

Syntax:

array getTree(string $module, string $root_path, int $recursive = 0, int $changed_timestamp = -1, int $user_id = -1, int $object_id = -1, int $get_readable_only = -1)

Beschreibung:

Gibt ein Array mit dem angegebenen Dateibaum (Dokumente und Ordner) zurück.

Wirft eine CRMException im Fehlerfall.

Die zurückgegebenen Dokumente müssen zunächst im TecArt-System angegeben werden.

$module (obligatorisch):

- die gleichen Eigenschaften wie für addTree

$root_path (obligatorisch):

- der relative Basispfad zur Wurzel des ausgewählten Moduls oder Objekts

- ein UTF-8 kodierter String wird erwartet

$recursive (optional):

- kann 0 sein(gibt nur Dokumente vom ersten $root_path level) oder 1 (gibt alle Dokumente rekursiv zurück, beginnend mit dem $root_path level)

$changed_timestamp (optional, -1 wenn nicht genutzt):

- wenn gesetzt (UNIX timestamp format) werden alle nach dem Datum des $changed_timestamp geänderten oder erstellten Dateibaumobjekte zurückgegeben

- wenn auf -1 gesetzt, werden alle Dokumente zurückgegeben

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

- Gibt die Dokumente des TecArt-System Nutzers mit der gegebenen User ID zurück

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$get_readable_only (optional, -1 wenn nicht genutzt):

- wenn auf 1 gesetzt werden nur Dokumente/Ordner zurückgegeben, bei denen der authentifizierte Nutzter Leseberechtigungen hat

Eigenschaften des zurückgegebenen document array :

Type(Length)            Eigenschaft               Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                     relativer Pfad zum Dokument
string(255)             $title                    Titel des Dokuments
string(255)             $keywords                 Dokumenten-Stichwörter
int                     $category                 ID einer einzelnen Kategorie
int                     $filesize                 Die Dateigröße des Dokuments (0 bei Verzeichnissen)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt-ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument gerade bearbeitet wird, 0 wenn nicht
int                     $edituser                 Userid des Nutzers, der das Dokument gerade bearbeitet
int                     $authuser                 Userid des authentifizierten Session-Users
int                     $version                  Die Dokumentenversion
int                     $folder                   0 wenn das Dokument eine Datei ist, 1 wenn das Dokument ein Ordner ist
string(255)             $mimetype                 Der MIME-Type des Dokuments
string(255)             $modul                    Der Name des Moduls
text                    $content                  Base64-kodierter (optional: komprimierter) Dokumenteninhalt, nur in crmgetDocument genutzt
array                   $group_permission         Array mit Gruppenberechtigungen
array                   $user_permission          Array mit Nutzerberechtigungen

Eigenschaften von $group_permission und $user_permission array :

Type(Length)         Eigenschaft           Beschreibung
---------------------------------------------------------------------------------------------
int                  $id                Nutzer- oder Gruppen-ID des Dokuments
int                  $read              1 = Leseberechtigungen, 0 = keine Leseberechtigungen, -1 = keine Leseberechtigungen und keine Vererbung von Gruppenrechten
int                  $write             1 = Schreibberechtigungen, 0 = keine Schreibberechtigungen, -1 = keine Schreibberechtigungen und keine Vererbung von Gruppenrechten
int                  $delete            1 = Löschberechtigung, 0 = keine Löschberechtigung, -1 = keine Löschberechtigung und keine Vererbung von Gruppenrechten

Beispiel:

<?php
 
try {
    // this example fetches all common documents changed after 01.08.2008
 
    // the TecArt-System module
    $module = "common";
   
    // we want all the docs from the parent directory "new_docs"
    $base_directory = utf8_encode("new_docs");
   
    // fetch the complete tree - recursive
    $recursive      = 1;
   
    // the timestamp for 01.08.2008
    $timestamp      = 1217541600;
   
    // no user ID needed when using not the own docs
    $userid         = -1;
   
    // the common docs module needs no object ID
    $objectid       = -1;
   
    // we want all the documents, not only the read only docs for the current session user
    $readonly_docs  = -1;
   
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // send the request and fetch the result
    $result = $crmapi_docs->getTree($module, $base_directory, $recursive, $timestamp, $userid, $objectid, $readonly_docs);
 
    // loop through the result set
    foreach ($result as $doc) {
 
        // handle an Beispiel return value
        // is the current dataset a directory?
 
        if ($doc['folder'] == 1) {
            echo $doc['path'] . " is an DIRECTORY!<br>";
        } 
		else { 
            echo $doc['path'] . " is an FILE!<br>";
		}
 
        // show the user permissions for the current dataset    
 
        foreach ($doc['$user_permission'] as $perm) {
 
            //display the read, write and delete rights for the current user
            echo "User with ID " .$perm['id'] . ": can read - " . ($perm['read'] == 1 ? "YES" : "NO");
            echo "User with ID " .$perm['id'] . ": can write - " . ($perm['write'] == 1 ? "YES" : "NO");
            echo "User with ID " .$perm['id'] . ": can delete - " . ($perm['delete'] == 1 ? "YES" : "NO");
        }
    }
}
catch (CRMException $e) {
    echo $e->getMessage();
}



2.3. uploadDocument

Syntax:

int uploadDocument(string $module, string $document_path, string $document_content, int $user_id = -1, int $object_id = -1, int $compress = -1, int $ext_id = 0)

Beschreibung:

Lädt ein Dokument hoch und gibt 1 bei Erfolg zurück.

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): siehe addTree

$document_path (obligatorisch):

- Der relative Pfad des Dokuments, einschließlich Verzeichnis und Dateiname

- der übergebene Pfad wird, sofern teile nicht vorhanden sind, durch den Aufruf erstellt und die Rechte des ersten gefundenen Ordners übernommen

- ein UTF-8 kodierter String wird erwartet

$document_content (obligatorisch):

- Der Inhalt des Elements

- ein UTF-8 kodierter String wird erwartet

- Kann komprimiert sein(vor dem Base64-Codieren unter Zuhilfenahme von GZIP)

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module als user_docs gesetzt wird

- Läd das Dokument in die Eigenen Dateien des Nutzers

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf einen der folgenden Werte gesetzt ist: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des entsprechenden Objekts

$compress (optional, -1 wenn nicht genutzt):

- muss auf 1 gesetzt sein, wenn der hochgeladene Content mit GZIP (Spezifikationen: http://www.faqs.org/rfcs/rfc1952 ) komprimiert wurde (vor der Base64-Codierung)

$ext_id (optional, 0 wenn nicht genutzt):

- ID des Dokuments aus externer Anwendung

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs		= crmapi::docs();
    $base64_content		= base64_encode('testcontent');
    $new_doc_full_name	= utf8_encode("/temp/uploaded_document.doc");
 
    // Uploads a document into the existing directory "temp" of the contacts (ID 4978) document collection:
    $result = $crmapi_docs->uploadDocument("contacts", $new_doc_full_name, $base64_content, -1, 4978, -1);
}
catch (CRMException $f) {
    echo $e->getMessage();
}
 
echo $result;



2.4. createDocument

Syntax:

int createDocument(string $module, string $document_path, string $draft_path, int $user_id = -1, int $object_id = -1, string $draft_contact = -1, int $draft_project = -1, int $ext_id = 0)

Beschreibung:

Erstellt ein Dokument basierend auf einem existierenden Entwurf und gibt 1 zurück.

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): siehe addTree

$document_path (obligatory):

- der relative Pfad des neuen Dokuments, einschließlich Verzeichnis und Dateiname

- der gesetzte Verzeichnispfad muss existieren, crmcreateDocument erstellt keine Verzeichnisse

- ein UTF-8 kodierter String wird erwartet

$draft_path (obligatorisch):

- der relative Pfad des Entwurf-Dokuments, einschließlich Verzeichnis und Dateiname

- ein UTF-8 kodierter String wird erwartet

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

- läd das Dokument in die Eigenen Dateien des Nutzers

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf einen der folgenden Werte gesetzt ist: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des entsprechenden Objekts

$draft_contact (optional, -1 wenn nicht genutzt):

- Die Kontakt- / Personen-ID die vom Entwurfsparser genutzt wird (Kontakt-Platzhalter im Entwurf werden mit den Informationen des ausgewählten Kontakts / der ausgewählten Person ersetzt)

- Format: Contact-Id:Person-Id

$draft_project (optional, -1 wenn nicht genutzt):

- die Projekt-ID die für den Entwurfsparser genutzt wird (Projekt-Platzhalter im Entwurf werden mit den Informationen des gewählten Projekts ersetzt)

$ext_id (optional, 0 wenn nicht genutzt):

- ID des Dokuments aus externer Anwendung

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // Creates a new document based on a draft for contact 4978:
    $draft_doc_full_name	= utf8_encode("Mappe1.xls");
    $new_doc_full_name		= utf8_encode("Document.xls");
 
    $result = $crmapi_docs->createDocument("contacts", $new_doc_full_name, $draft_doc_full_name, -1, 4978, "4978:4829", 362);
 
}
catch (CRMException $f) {
    echo $e->getMessage();
}
 
echo $result;



2.5. renameDocument

Syntax:

int renameDocument(string $module, string $from_name, string $to_name, int $user_id = 0, int $object_id = 0)

Beschreibung:

Benennt ein Dokument oder einen Ordner um und gibt 1 zurück.

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): siehe module bei addTree

$from_path (obligatorisch):

- der relative Pfad des Dokuments oder des Verzeichnisses, das umbenannt werden soll

- ein UTF-8 kodierter String wird erwartet

$to_path (obligatorisch):

- der relative Pfad des umbenannten Dokuments oder Verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$user_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

$object_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf einen der folgenden Werte gesetzt ist: offers, contracts, calls, todo, dates, projects, contacts

- enthält die entsprechende Objekt-ID

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // renames the directory "newdir" into "newdir_renamed" from contact ID 4978
    $from_doc_name	= utf8_encode("newdir");
    $to_doc_name	= utf8_encode("newdir_renamed");
 
    $result = $crmapi_docs->renameDocument($session_id , "contacts",  $from_doc_name, $to_doc_name, -1, 4978);
}
catch (CRMException $f) {
    echo $e->getMessage();
}
 
echo $result;



2.6. getDocument

Syntax:

array getDocument(string $module, string $root_path, int $user_id = -1, int $object_id = -1, int $compress = -1)

Beschreibung:

Gibt alle Information eines einzelnen Verzeichnisses oder Dokuments zurück, wenn ein Dokument angefordert wird, wird der Inhalt zurückgegeben( Base64-codiert und - optional - GZIP komprimiert).

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): siehe addTree

$root_path (obligatorisch):

- der relative Pfade des angeforderten Dokuments oder Verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$user_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

- gibt die Dokumente des Nutzers mit der gegebenen ID zurück

$object_id (optional, -1 wenn nicht genutzt):

- muss gesetzt sein wenn $module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$compress (optional, -1 wenn nicht genutzt):

- wenn auf 1 gesetzt, wird der Inhalt mit GZIP (Spezifikationen: http://www.faqs.org/rfcs/rfc1952 ) komprimiert (vor der Base64-Codierung)

Eigenschaften des zurückgegebenen Document array :

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                     relativer Pfad des Dokuments
string(255)             $title                    Titel des Dokuments
string(255)             $keywords                 Dokument Stichwort
int                     $category                 ID einer einzigen Kategorie
int                     $filesize                 die Dateigröße des Dokuments (0 bei Verzeichnissen)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt-ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument gerade bearbeitet wird, 0 wenn nicht
int                     $edituser                 Userid des Nutzers, der das Dokument gerade bearbeitet
int                     $authuser                 Userid des authentifizierten Session-Users
int                     $version                  Die Dokumentenversion
int                     $folder                   0 wenn das Dokument eine Datei ist, 1 wenn das Dokument ein Ordner ist
string(255)             $mimetype                 Der MIME-Type des Dokuments
string(255)             $modul                    Der Name des Moduls
text                    $content                  Base64-kodierter (optional: komprimierter) Dokumenteninhalt, nur in crmgetDocument genutzt
array                   $group_permission         Array mit Gruppenberechtigungen
array                   $user_permission          Array mit Nutzerberechtigungen

Eigenschaften des $group_permission und $user_permission arrays :

Type(Length)        Eigenschaft            Beschreibung
---------------------------------------------------------------------------------------------
int                  $id                Nutzer- oder Gruppen-ID des Dokuments
int                  $read              1 = Leseberechtigungen,    0 = keine Leseberechtigungen,    -1 = keine Leseberechtigungen und keine Vererbung von Gruppenrechten
int                  $write             1 = Schreibberechtigungen, 0 = keine Schreibberechtigungen, -1 = keine Schreibberechtigungen und keine Vererbung von Gruppenrechten
int                  $delete            1 = Löschberechtigung,     0 = keine Löschberechtigung,     -1 = keine Löschberechtigung und keine Vererbung von Gruppenrechten

Beispiel:

<?php
 
try {
    /**
      * this Beispiel fetches all the information from a document
      * the document is located in the archive of the contact with ID 4978
      **/
   
    // the TecArt-System module
    $module = "contacts";
   
    // the full path to the document
    $docpath = utf8_encode("directory/Creek.jpg");
   
    // no user ID needed when using not the own docs
    $userid = -1;
   
    // the contact ID is 4878 
    $objectid = 4978;
   
    // the document should be compressed
    $compress = 1;
   
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // send the request and fetch the result   
    $result = $crmapi_docs->getDocument($module, $docpath, $userid, $objectid, $compress);
 
    // handle an Beispiel return value
    // is the current dataset a directory?
 
    if ($result[0]['folder'] == 1) {
        echo $result[0]['path'] . " is an DIRECTORY!<br>";
    }
	else { 
        echo $result[0]['path'] . " is an FILE!<br>";
	}
 
    // show the user permissions for the current dataset    
 
    foreach ($result[0]['user_permission'] as $perm) {
 
        //display the read, write and delete rights for the current user
        echo "User with ID " .$perm['id'] . ": can read - " . ($perm['read'] == 1 ? "YES" : "NO");
        echo "User with ID " .$perm['id'] . ": can write - " . ($perm['write'] == 1 ? "YES" : "NO");
        echo "User with ID " .$perm['id'] . ": can delete - " . ($perm['delete'] == 1 ? "YES" : "NO");
    }
}
catch (CRMException $f) {
    echo $e->getMessage();
}



2.7. getChangedDocsLimit

(Version >= 4.6.19678)

Syntax:

array getChangedDocsLimit(string $module, int $lastmodified = 0, int $limit = 1000, int $offset = 0, int $object_id = 0, boolean $include_folders = false )

Beschreibung:

Liefert Array mit Dokument-Objekten zurück, welches mit $limit und $offset für seitenweise Auflistung und $lastmodified eingeschränkt werden kann. Wirft eine CRMException im Fehlerfall.

  • Parameter $module ist obligatorisch: siehe addTree

  • Parameter $lastmodified ist ein Unix Timestamp und spezifiziert den Zeitpunkt der letzten Änderung, ab dem Dokumente zurückgegeben werden sollen.

  • Parameter $limit beschränkt Gesamtanzahl der Rückgabe auf ganzzahligen Wert

  • Parameter $offset spezifiziert, wieviele Einträge des Resultsets übersprungen werden sollen

  • Parameter $object_id spezifiziert ein bestimmtes Modulobjekt, z.B. eine Kontakt ID oder Aufgaben ID

  • Parameter $include_folder bestimmt, ob auch Ordner in die Rückgabe einbezogen werden sollen

Eigenschaften des zurückgegebenen Document array :

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                     relativer Pfad des Dokuments
string(255)             $title                    Titel des Dokuments
string(255)             $filename                 Dateiname des Dokuments
string(255)             $keywords                 Dokument Stichwort
int                     $category                 ID einer einzigen Kategorie
int                     $filesize                 die Dateigröße des Dokuments (0 bei Verzeichnissen)
int                     $dtime                    Unix-Timestamp der Dokumenten- Löschung
int                     $duser                    Userid der Dokumenten- Löschung
int                     $ctime                    Unix-Timestamp der letzten Dokumentenbearbeitung
int                     $cuser                    Userid der letzten Dokumentenbearbeitung
int                     $otime                    Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                     $ouser                    Userid des letzte Dokument Downloads / Öffnens
int                     $etime                    Unix-Timestamp der letzten Dokumentenerstellung
int                     $euser                    Userid der Dokumentenerstellung
int                     $itime                    Unix-Timestamp der letzten Indexierung des Dokuments
int                     $iuser                    Userid der letzten Indexierung des Dokuments
int                     $pid                      Projekt-ID
int                     $ext_id                   Externe ID ( ab Version 4.2 )
int                     $edit                     1 wenn das Dokument gerade bearbeitet wird, 0 wenn nicht
int                     $edituser                 Userid des Nutzers, der das Dokument gerade bearbeitet
int                     $version                  Die Dokumentenversion
int                     $folder                   0 wenn das Dokument eine Datei ist, 1 wenn das Dokument ein Ordner ist
string(255)             $mimetype                 Der MIME-Type des Dokuments
string(255)             $modul                    Der Name des Moduls

Beispiel:

<?php
 
try {
    // the TecArt-System module
    $module = "common";
     
    crmapi::logon()->Login('login', 'password');
    $session_id = crmapi::logon()->getSessionId();
       
    // get API Doc object
    $crmapi_docs = crmapi::docs();
    $result      = $this->crmapi_docs->getChangedDocsLimit(
        'common',               // fetch from common documents
        (time() - (3*86400)),   // last modification within the last 3 days
        50,                     // max. 50
        0,                      // page 1, no offset
        0,                      // no specific module, so no object ID needed
        true                    // include folders in resultset
    );
 
    echo '<pre>'.print_r($result, true).'</pre>';
}
catch (CRMException $f) {
    echo $e->getMessage();
}




2.8. createDirectory

Syntax:

int createDirectory(string $module, string $directory_path, int $user_id = 0, int $object_id = 0, int $ext_id = 0)

Beschreibung:

Erstellt rekursiv ein Verzeichnis im gegebenen Eltern-Verzeichnis ($directory_path) und gibt 1 zurück.

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): see module at addTree

$directory_path (obligatorisch):

- der relative Pfad des neuen Verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$user_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

$object_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$ext_id (optional, 0 if not used):

- Externe ID ( ab Version 4.2 )

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // creates a new directory "newdir" in the root path of the contact documents from contact ID 4978
    $new_directory = utf8_encode("newdir");
 
    $result = $crmapi_docs->createDirectory("contacts",  $new_directory, -1, 4978);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.9. moveDocument

Syntax:

int moveDocument(string $from_module, string $from_document_path, int $from_user_id, int $from_object_id, string $to_module, string $to_document_path, int $to_user_id = 0, int $to_object_id = 0, int $copy_rights = 0)

Beschreibung:

Verschiebt ein Verzeichnis (einschließlich aller Unterverzeichnisse) oder ein einzelnes Dokument von einem Ort zum anderen und gibt 1 zurück. Ein Multi-Modul-Verschieben wird unterstützt, die Zugriffsrechte der verschoben Dokumente werden erhalten (optional).

Wirft eine CRMException im Fehlerfall.

$from_module (obligatorisch): see module at addTree

$from_document_path (obligatorisch):

- der relative des Quelldokuments/-Verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$from_user_id (obligatorisch, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $from_module auf user_docs gesetzt ist

$from_object_id (obligatorisch, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $from_module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$to_module (obligatorisch): see module at addTree

$to_document_path (obligatorisch):

- der relative des Zieldokuments/-Verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$to_user_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $to_module auf user_docs gesetzt ist

$to_object_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $to_module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$copy_rights (optional, 0 wenn nicht genutzt):

- wenn auf 1 gesetzt, werden auch alle Dokumentenrechte kopiert(Nutzer und Gruppenrechte)

- wenn auf -1 gesetzt, werden die Rechte vom Elternelement von $to_document_path geerbt

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // move the file Document.doc from the contact with the ID 4878 to the file Test.doc in the user docs of user with ID 4
    // keep the permission setting of the moved file
    $original_doc_full_name	= utf8_encode("Document.doc");
    $copy_doc_full_name		= utf8_encode("Test.doc");
    $result = $crmapi_docs->moveDocument(
		"contacts",
		$original_doc_full_name,
		-1,
		4978, 
		"user_docs",
		$copy_doc_full_name,
		4,
		-1,
		true
	);
}
catch (CRMException $f) {
    echo $e->getMessage();
}
 
echo $result;


2.10. copyDocument

Syntax:

int copyDocument(string $from_module, string $from_document_path, int $from_user_id, int $from_object_id, string $to_module, string $to_document_path, int $to_user_id = 0, int $to_object_id = 0, int $copy_rights = 0)

Beschreibung:

Kopiert ein Verzeichnis (einschließlich Unterverzeichnisse) oder ein einzelnes Dokument von einer Stelle zu einer anderen und gibt 1 zurück. Ein Multi-Modul-Kopieren wird unterstützt, die Zugriffsrechte der kopierten Dokumente werden erhalten (optional).

Wirft eine CRMException im Fehlerfall.

Hinweis: Diese Funktion bietet nicht die Möglichkeit, ein Dokument (oder ein Verzeichnis) in den selben Ordner zu kopieren. Im TecArt-System (Version >= 3.4.5083) kann man dieses machen mit der Funktion copyDoc().

Die copyDoc() Funktion benutzt man genau wie diese copyDocument() Funktion.

$from_module (obligatorisch): siehe module bei addTree

$from_document_path (obligatorisch):

- der relative Pfad des Quelldokuments/-verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$from_user_id (obligatorisch, geben Sie 0 an, wenn Sie es nicht nutzen wollen):

- muss gesetzt sein wenn $from_module auf user_docs gesetzt ist

$from_object_id (obligatorisch, geben Sie 0 an, wenn Sie es nicht nutzen wollen):

- muss gesetzt sein wenn $from_module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$to_module (obligatorisch): siehe module bei addTree

$to_document_path (obligatorisch):

- der relative Pfad des Zieldokuments/-verzeichnisses

- ein UTF-8 kodierter String wird erwartet

$to_user_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $to_module auf user_docs gesetzt ist

$to_object_id (optional, 0 wenn nicht genutzt):

- muss gesetzt sein wenn $to_module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

$copy_rights (optional, 0 wenn nicht genutzt):

- wenn auf 1 gesetzt, werden auch alle Dokumentenrechte kopiert(Nutzer und Gruppenrechte)

- wenn auf 0 gesetzt, werden die Rechte vom Elternelement von $to_document_path geerbt

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // copy the entire directory directory_a from the contact with the ID 4878 to a new directory in the user docs of user with ID 4
    // keep the permission setting of each file / directory
    $original_doc_full_name	= utf8_encode("directory_a");
    $copy_doc_full_name		= utf8_encode("directory_b");
    $result = $crmapi_docs->copyDocument(
		"contacts",
		$original_doc_full_name,
		0,
		4978, 
		"user_docs",
		$copy_doc_full_name,
		4,
		0,
		1
	);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.11. searchDocument

Syntax:

array searchDocument(string $searchterm, string $module, string $path = "", int $fulltext = 0)

Beschreibung:

Gibt ein Array mit Dokumenten, welche den Suchausdruck enthalten, zurück.

Wirft eine CRMException im Fehlerfall.

$searchterm (obligatorisch):

- der gesuchte Ausdruck

$module (obligatorisch): siehe addTree

$path (optional, "" wenn nicht genutzt):

- der relative Basispfad zur Wurzel des ausgewählten Moduls

- ein UTF-8 kodierter String wird erwartet

$fulltext (optional):

- 0 = keine Volltextsuche

- 1 = Volltextsuche

Eigenschaften der zurückgegebenen document arrays :

Type(Length)       Eigenschaft        Beschreibung
---------------------------------------------------------------------------------------------
string(255)        $path              relativer Pfad zum Dokument
string(255)        $title             Titel des Dokuments
string(255)        $keywords          Dokumentenstichwörter
int                $category          ID einer einzelnen Kategorie
int                $filesize          Die Dateigröße des Dokuments (0 bei Verzeichnissen)
int                $dtime             Unix-Timestamp der Dokumenten- Löschung
int                $duser             Userid der Dokumenten- Löschung
int                $ctime             Unix-Timestamp der letzten Dokumentenbearbeitung
int                $cuser             Userid der letzten Dokumentenbearbeitung
int                $otime             Unix-Timestamp des letzte Dokument Downloads / Öffnens
int                $ouser             Userid des letzte Dokument Downloads / Öffnens
int                $etime             Unix-Timestamp der letzten Dokumentenerstellung
int                $euser             Userid der Dokumentenerstellung
int                $itime             Unix-Timestamp der letzten Indexierung des Dokuments
int                $iuser             Userid der letzten Indexierung des Dokuments
int                $pid               Projekt-ID
int                $ext_id            Externe ID ( ab Version 4.2 )
int                $edit              1 wenn das Dokument gerade bearbeitet wird, 0 wenn nicht
int                $edituser          Userid des Nutzers, der das Dokument gerade bearbeitet
int                $authuser          Userid des authentifizierten Session-Users
int                $version           Die Dokumentenversion
int                $folder            0 wenn das Dokument eine Datei ist, 1 wenn das Dokument ein Ordner ist
string(255)        $mimetype          Der MIME-Type des Dokuments
string(255)        $modul             Der Name des Moduls
int                $read_permission   1 = Leseberechtigungen,    
                                      0 = Keine Leseberechtigungen,    
                                      -1 = Keine Leseberechtigungen und keine Vererbung von Gruppenrechten
int                $write_permission  1 = Schreibberechtigungen, 
                                      0 = Keine Schreibberechtigungen, 
                                      -1 = Keine Schreibberechtigungen und keine Vererbung von Gruppenrechten
int                $delete_permission 1 = Löschberechtigungen,   
                                      0 = Keine Löschberechtigungen,   
                                      -1 = Keine Löschberechtigungen und keine Vererbung von Gruppenrechten

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // search all common documents containing "testterm"
    $result = $crmapi_docs->searchDocument("testterm", "common", "", 1);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
print_r($result);



2.12. updateDocument

Syntax:

int updateDocument(string $module, array $doc_Eigenschaft, int $user_id = 0, int $object_id = 0)

Beschreibung:

Aktualisiert die Dokumenten-Metainformationen und -Berechtigungen für ein einzelnes Dokument oder ein Verzeichnis und gibt 1 zurück. Der Session-Benutzer muss Lese-und Schreibrechte auf die Daten des Dokuments und zusätzliche Berechtigungen haben, um die Rechte zu aktualisieren (also volle Berechtigungen).

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): siehe module bei addTree

$doc_Eigenschaft (obligatorisch): siehe unten.

$user_id (optional, 0 wenn ungenutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

$object_id (optional, 0 wenn ungenutzt):

- muss gesetzt sein wenn $module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

Eigenschaften von doc_Eigenschaft array :

Type(Length)            Eigenschaft                      Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $path                         Relativer Pfad des Dokuments / Verzeichnisses
int                     $in_process                   1 = Dokument wird derzeit bearbeitet, 0 = Dokument wird nicht bearbeitet
string(255)             $title                        Der Titel des Dokuments
string(255)             $keywords                     Die Stichworte des Dokuments
string(255)             $Beschreibung                 Kurze Beschreibung des Dokuments
int                     $category                     Die Dokumentenkategorie
int                     $ext_id                       Externe ID ( ab Version 4.2 )
array                   $updated_group_permission     Ein Array mit updated_group_permission Werten, einschließlich aller geänderten Gruppenrechte
array                   $removed_group_permission     Ein Array mit removed_group_permission Werten, beinhaltet IDs
                                                      der Gruppen deren Gruppenrechte entfernt werden sollen
array                   $updated_user_permission      Ein Array mit updated_user_permission Werten, einschließlich aller geänderten Nutzerrechte
array                   $removed_user_permission      Ein Array mit removed_user_permission Werten, beinhaltet IDs
                                                      der Benutzer deren Nutzerrechte entfernt werden sollen

Eigenschaften von update permission items:

Type(Length)     Eigenschaft        Beschreibung
---------------------------------------------------------------------------------------------
int              $id             Die Nutzer- oder Gruppen-ID
int              $read           Leseberechtigung:    -1 = Keine Berechtigung und keine Gruppenrechtevererbung , 0 = keine Berechtigung, 1 = Berechtigt
int              $write          Schreibberechtigung: -1 = Keine Berechtigung und keine Gruppenrechtevererbung , 0 = keine Berechtigung, 1 = Berechtigt
int              $delete         Löschberechtigung:   -1 = Keine Berechtigung und keine Gruppenrechtevererbung , 0 = keine Berechtigung, 1 = Berechtigt

Eigenschaften von remove permission items:

Type(Length)     Eigenschaft       Beschreibung
---------------------------------------------------------------------------------------------
int              $id            Nutzer- oder Gruppen-ID des Nutzers / der Gruppe, deren Berechtigung entfernt werden soll

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // Update the metadata the directory "temp2" from the contact documents of contact ID 4978
    $document_properties = array(
		"path"			=> utf8_encode("temp2"), 
		"title"			=> utf8_encode("new title"), 
		"keywords"		=> utf8_encode("keyword_1, keyword_2"), 
		"description"	=> utf8_encode("this is a short document description"), 
		"category"		=> 5, 
		"updated_group_permission" => array(
			array("id" => 1, "read" => 1, "write" => 1, "delete" => 0), 
			array( "id" => 14, "read" => 1, "write" => 1, "delete" => 0)
		), 
		"removed_group_permission" => array(
			array( "id" => 4)
		),
		"updated_user_permission" => array(
			array( "id" => 5, "read" => 1, "write" => 1, "delete" => 0), 
			array( "id" => 4, "read" => 1, "write" => 1, "delete" => 0)
		), 
		"removed_user_permission"   => array(
			array( "id" => 20)
		)
	);
    $result = $crmapi_docs->updateDocument("contacts",  $document_properties, 0, 4978);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.13. deleteDocument

Syntax:

int deleteDocument(string $module, string $document_path, int $user_id = 0, int $object_id = 0)

Beschreibung:

Löscht ein Dokument oder einen ganzen Dateibaum einschließlich aller Kindelemente und gibt 1 zurück. Die gelöschten Dokumente werden in den Papierkorb des authentifizierten Benutzers gelegt. Hinweis: Dateien mit dem gleichen Namen können nicht gelöscht werden, wenn bereits ein Element im Papierkorb liegt; Es sollte also vorher sichergestellt werden das ein gleichnamiges Dokument nicht bereits im Papierkorb liegt.

Wirft eine CRMException im Fehlerfall.

$module (obligatorisch): siehe module bei addTree

$document_path (obligatorisch):

- der relative Pfad des Dokuments / Verzeichnisses das gelöscht werden soll

- ein UTF-8 kodierter String wird erwartet

$user_id (optional, 0 wenn ungenutzt):

- muss gesetzt sein wenn $module auf user_docs gesetzt ist

$object_id (optional, 0 wenn ungenutzt):

- muss gesetzt sein wenn $module einen der folgenden Werte hat: offers, contracts, calls, todo, dates, projects, contacts

- enthält die ID des jeweiligen Objekts

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // delete (move to trash) the directory "temp" including all its childs from the own docs of user 4
    $doc_full_name	= utf8_encode("temp");
    $result			= $crmapi_docs->deleteDocument("user_docs", $doc_full_name, 4, 0);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.14. emptyTrash

Syntax:

int emptyTrash()

Beschreibung:

Leert den Papierkorb des authentifizierten Nutzers und gibt 1 zurück.

Wirft eine CRMException im Fehlerfall.

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    // empty the trash of the session user
    $result = $crmapi_docs->emptyTrash();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $result;



2.15. documentExists

(Version >= 3.4.4514)

Syntax:

boolean documentExists( string $module, string $doc_path )

Beschreibung:

Liefert true, wenn ein Dokument oder ein Verzeichnis existiert. Liefert false wenn nicht.

Wirft eine CRMException im Fehlerfall.

Beispiel:

<?php
 
try {
    // get API Doc object
    $crmapi_docs = crmapi::docs();
 
    $is_exists = $crmapi_docs->documentExists('common', '/test_folder/test_document.doc');
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
if ($is_exists) {
    echo 'Document already exists';
}
else {
    echo 'Document does not exists';



2.16. getPathByExtId

(Version >= 4.2)

Syntax:

array getPathByExtId( string $external_id )

Beschreibung

Liefert Pfade von Dokumenten mit der übergebenen externen ID zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften des zurückgegebenen doc paths array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			$path			      Document-Path

Beispiel:

<?php
 
try {   
    $crmapi_docs	= crmapi::docs();
    $result			= $crmapi_docs->getPathByExtId(12345);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $path) {
    echo $path."<br>  ";
}



2.17. getAllExtIds

(Version >= 4.2)

Syntax:

array getAllExtIds( string $external_id )

Beschreibung

Liefert eine Liste aller externen IDs in Dokumenten zurück.

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Eigenschaften des zurückgegebenen doc ids array:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int			$id			      externe Document-Id 

Beispiel:

<?php
 
try {   
    $crmapi_docs	= crmapi::docs();
    $result			= $crmapi_docs->getAllExtIds();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach($result as $id) {
    echo $id."<br>  ";
}



2.18. getsearchfilteredDocuments

(Version v4.7.20011)

Syntax:

array getsearchfilteredDocuments(int $filter_id, string $search = "", int $count = 0, int $offset = 0, array $fields = false)

Beschreibung

Gibt ein Array mit Dokumenteninformationen zurück, die dem angegebenen Suchfilter und Suchbegriff entsprechen, limitiert von count und offset.

Parameter filter_id ist Pflichtangabe und benötigt die ganzzahlige ID eines im adressierten CRM für die Dokumentenverwaltung existierenden Suchfilters. Fehlerhafte Angabe der Suchfilter ID verursacht eine CRMException.

Der Parameter search repräsentiert die Eingabe im Suchfeld im CRM (Platzhalter <#search_field#> in Filterbedingungen).

Über den Parameter fields können die zurückgegeben Felder eingeschränkt werden (false = alle Felder).

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Hinweis: Es werden nur Dokumente und Felder zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften der zurückgegebenen Dokumenteninformationen sind identisch mit getDocument, ohne Content und evtl. eingeschränkt nach Parameter fields:

Beispiel:

<?php
 
try {
    crmapi::logon()->Login('testusr', 'testpass');
     
    $crmapi_docs = crmapi::docs();
    $filter_id   = $crmapi_docs->getfilteridAllDocuments();
    $search      = 'my document';
    $count       = 0;
    $offset      = 0;
    $fields      = array('title', 'path', 'etime');
     
    $result      = $crmapi_docs->getsearchfilteredDocuments($filter_id, $search, $count, $offset, $fields);
     
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo '<pre>'.print_r($result, true).'</pre>';



2.19. getsearchfilteredDocumentsJit

(Version v4.9.22620)

Syntax:

array getsearchfilteredDocumentsJit(string $conditions, int $count = 0, int $offset = 0, array $fields = false)

Beschreibung

Gibt ein Array mit Dokumenteninformationen zurück, die den angegebenen Filterbedingungen entsprechen, limitiert von count und offset.

Parameter conditions ist Pflichtangabe und benötigt die Filterbedingungen als XML Zeichenkette. Eine fehlerhafte Angabe der Filterbedingungen verursacht eine CRMException.

Über den Parameter fields können die zurückgegeben Felder eingeschränkt werden (false = alle Felder).

Im Falle eines Fehlers wird eine CRMException mit mehr Fehlerdetails geworfen.

Hinweis: Es werden nur Dokumente und Felder zurückgegeben, für die der authentifizierte Nutzer Leseberechtigungen hat.

Eigenschaften der zurückgegebenen Dokumenteninformationen sind identisch mit getDocument, ohne Content und evtl. eingeschränkt nach Parameter fields:

Beispiel:

<?php
 
try {
    crmapi::logon()->Login('testusr', 'testpass');
     
    $crmapi_docs = crmapi::docs();
    $count       = 0;
    $offset      = 0;
    $fields      = array('title', 'path', 'etime');
     
    $conditions  = 
		'<filter sortby="path" sortdir="ASC">' .
		'<condition con=""   field="filename"    operator="%LIKE%" value="test"/>' .
		'<condition con="OR" field="title"       operator="%LIKE%" value="test"/>' .
		'<condition con="OR" field="description" operator="%LIKE%" value="test"/>' .
		'<condition con="OR" field="keywords"    operator="%LIKE%" value="test"/>' .
		'</filter>';
     
    $result = $crmapi_docs->getsearchfilteredDocumentsJit($conditions, $count, $offset, $fields);
     
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo '<pre>'.print_r($result, true).'</pre>';



  • No labels