Mein Script von gestern war etwas sehr umständlich, da aber die Funktionen zum WFC nicht in der Anleitung standen (zumindest hab ich sie nicht gefunden) dachte ich es gäbe keinen direkten Zugriff. Aber in der Console habe ich jetzt doch was gefunden. Das Script kopiert den WFC mit der ID 11193 (müsst ihr halt austauschen) in einen neuen WFC , übernimmt alle Elemente (ohne den ganzen Neustart-Krams) aber leider kann er die Position nicht setzen (anscheinend können das die Funktionen nicht). Trotzdem sollte ein nahezu 1:1-WFC bei rauskommen. Bewusst habe ich die Daten bzgl. Login, Einstellungen, IP’s usw. nicht mit kopiert, das kann ja jeder selber ergänzen, wenn er das auch haben möchte.
Also, Script anlegen, den Inhalt hier unten reinkopieren, ID ändern und starten. Fertig ist die WFC-Kopie.
<?
$quelle = 11193 /*[MeinTollesWebfont]*/;
$wf = WFC_GetItems($quelle);
$Quellobjekt = IPS_GetObject($quelle);
$Quellinstance = IPS_GetInstance($quelle);
$NeuesWF = IPS_CreateInstance($Quellinstance['ModuleInfo']['ModuleID']);
IPS_SetName($NeuesWF, $Quellobjekt['ObjectName']);
IPS_SetInfo($NeuesWF, $Quellobjekt['ObjectInfo']);
IPS_SetIcon($NeuesWF, $Quellobjekt['ObjectIcon']);
IPS_SetPosition($NeuesWF, $Quellobjekt['ObjectPosition']);
IPS_SetHidden($NeuesWF, $Quellobjekt['ObjectIsHidden']);
IPS_SetIdent($NeuesWF, $Quellobjekt['ObjectIdent']);
$neuesWFItems = WFC_GetItems($NeuesWF);
foreach ($neuesWFItems as $item) {
WFC_DeleteItem($NeuesWF, $item['ID']);
}
$neuesWFItems = WFC_GetItems($NeuesWF);
foreach($wf as $item) {
WFC_AddItem($NeuesWF, $item['ID'], $item['ClassName'], $item['Configuration'], $item['ParentID']);
WFC_UpdatePosition($NeuesWF , $item['ID'], $item['Position']);
WFC_SetVisible($NeuesWF , $item['Visible']);
}
$neuesWFItems = WFC_GetItems($NeuesWF);
print_r($neuesWFItems);
?>