DMS specifieke functies

Voorbeeld voor het maken van een veld (in een formulier) waarin een folder (in dit geval een project) kan worden uitgekozen:

Veld “project” van type lijst:

     $form["metaspec"]["fields"]["project"]["type"] = "list";

Verkrijg toegang tot de projecten folder:

     uuse ("tree");

     $tree = &MB_Ref ("ims_trees", IMS_SuperGroupName()."_documents");

     $projects = &TREE_AccessObject(&$tree, "projects");

Doorloop alle kinderen van deze folder (de projecten) en zet ze in de lijst:

     foreach ($projects["children"] as $id => $dummy) {

       $child = &TREE_AccessObject(&$tree, $id);

       $form["metaspec"]["fields"]["project"]["values"][$child["shorttitle"]] = $id;

     }

 Voorbeeld voor het aanmaken van een nieuwe folder

Verkrijg toegang tot de directory boom:

       uuse ("case","tree");

       $tree = &CASE_TreeRef ("ims_trees", $input["sgn"]."_documents");

Verkrijg toegang tot een gekozen folder:

       $object = &TREE_AccessObject($tree, $data["project"]); 

Selecteer in deze folder “Inkomende post” of maak aan als deze nog niet bestaat:

       $inbox="";

       foreach ($object["children"] as $id => $dummy) {

         $sub = &TREE_AccessObject($tree, $id);

         if ($sub["shorttitle"]=="Inkomende post") $inbox = $id;

       }

       if (!$inbox) {

         $inbox = TREE_AddObject ($tree);

         $object = &TREE_AccessObject($tree, $inbox);

         $object["shorttitle"] = "Inkomende post";

         $object["longtitle"] = "Inkomende post";

         TREE_ConnectObject ($tree, $data["project"], $inbox);

       }

Voorbeeld voor het aanmaken van een nieuwe (geupload) bestand in een folder:

Kies een geldige bestandsnaam:

       $filename = strtolower ($files["file"]["name"]);

       $filename = preg_replace (chr(39)."[^a-z0-9\.]".chr(39)."i", "_", $filename);

Bepaal het type:

       $ext = N_KeepAfter ($filename, ".", true);

Maak het object aan:

       $object_id = IMS_NewObject ($input["sgn"], "document");

       $object = &IMS_AccessObject ($input["sgn"], $object_id);

Vul de eigenschappen van het object:

       $object["directory"] = $inbox;

       $object["shorttitle"] = $data["name"];

       $object["allocto"] = SHIELD_CurrentUser(IMS_SuperGroupName());

       $object["workflow"] = "<<<workflow id>>>";

       $object["meta_bedrijfsnaam"]=$data["bedrijfsnaam"];

       $object["meta_contactpersoon"]= $data["contactpersoon"];

       $object["meta_datum"]= $data["datum"];

       $object["meta_uwkenmerk"]= $data["uwkenmerk"];

       $object["meta_terattentievan"]= $data["terattentievan"];

       $object["meta_onderwerp"]= $data["onderwerp"];

       $object["filename"] = $filename;

       if ($ext=="doc") {

         $object["executable"]="winword.exe";

       } else if ($ext=="xls") {

         $object["executable"]="excel.exe";

       } else if ($ext=="htm" || $ext=="html") {

         $object["executable"]="notepad.exe";

       } else if ($ext=="ppt") {

         $object["executable"]="powerpnt.exe";

       } else {

         $object["executable"] = "auto";

       }

Zet het bijbehorende bestand op disk:

       N_WriteFile ("html::".$input["sgn"]."/preview/objects/".$object_id."/".$filename, $files["file"]["content"]);

 Zorg dat OpenIMS zich bewust is van het nieuwe bestand:

       uuse ("search");

       IMS_ArchiveObject ($input["sgn"], $object_id, SHIELD_CurrentUser ($input["sgn"]), true);

       SEARCH_AddPreviewDocumentToDMSIndex ($input["sgn"], $object_id);

Altijd als eerste op de hoogte van de laatste nieuwtjes?

Schrijf je in voor onze nieuwsbrief