if (empty($sessionFilters) || !is_array($sessionFilters)) {
        Log::warning("* Create a new set of session filters");
        $sessionFilters = array();
    }
    foreach ($filterKeys as $keyPath) {
        Log::debug("* Saving filter: {$keyPath}");
        $sessionFilters["{$keyPath}"] = $filters["{$keyPath}"];
    }
    // save changes to Session
    Session::user("_CONDUIT_FILTERS", $sessionFilters);
    /*
    // Render a new filter to include in response
    */
    // ? Guardian: test for META access
    try {
        $xmlRendering = DraftingDesk::renderFilter("FilterXMLDrafter", $entitySignature, $filterSignature, $params);
        $responseNode->appendChild($dom->createElement("status", "success"));
        $responseNode->appendChild($dom->createELement("message", "Updated filters for {$entitySignature}"));
        $xmlRenderingDom = new DomDocument();
        $xmlRenderingDom->loadXML($xmlRendering);
        $bpXmlDraftRenderingNode = $xmlRenderingDom->getElementsByTagName("bpXmlDraftRendering")->item(0);
        $importNode = $dom->importNode($bpXmlDraftRenderingNode, true);
        $xmlNode = $dom->createElement("xml");
        $responseNode->appendChild($xmlNode);
        $xmlNode->appendChild($importNode);
    } catch (Exception $e) {
        Log::error("* Caught Exception: " . $e->getMessage());
        $xml->addChild("status", "error");
        $xml->addChild("message", "Caught Exception: " . $e->getMessage());
    }
} else {
         $xml->addChild("status", "success");
         $xml->addChild("message", "Successfully rendered a list");
         $xml->addChild("html", $encodedHtml);
     } catch (Exception $e) {
         Log::error("Caught: " . $e->getMessage());
         $xml->addChild("status", "error");
         $xml->addChild("message", "Caught Exception: " . $e->getMessage());
         $xml->addChild("html", "An error occurred rendering the list");
     }
     break;
 case "report":
     try {
         // ! TODO: Protect data with Guardian
         Log::debug("* reportSignature = {$reportSignature}");
         // Render html
         $html = DraftingDesk::renderReport($renderer, $reportSignature, $params);
         // Encode html for packaging in xml
         $encodedHtml = htmlentities($html);
         // Prepare response
         $xml->addChild("status", "success");
         $xml->addChild("message", "Successfully rendered a report");
         $xml->addChild("html", $encodedHtml);
     } catch (Exception $e) {
         Log::error("Caught: " . $e->getMessage());
         $xml->addChild("status", "error");
         $xml->addChild("message", "Caught Exception: " . $e->getMessage());
         $xml->addChild("html", "An error occurred rendering the report");
     }
     break;
 default:
     Log::warning("* Invalid value '{$type}' for 'type' parameter");
                 $html = DraftingDesk::renderForm("FormDrafter", $blueprintSignature);
                 $content->addHtml("{$html}");
             } catch (Exception $e) {
                 $html = "<div class='.error'>Caught Exception: " . $e->getMessage() . "</div>";
                 $content->addHtml("{$html}");
             }
             break;
         case "edit":
             $id = @$_GET["id"];
             if (!empty($id)) {
                 $js = "\n\t\t\t\t\t<!-- BEGIN: Javascript -->\n\t\t\t\t\t<script>\n\t\t\t\t\t\t\$().ready(function() {\n\t\t\t\t\t\t\t\$.fn.conduit.debug = true;\n\t\t\t\t\t\t\t\$('.bp-draft-rendering').conduit({\n\t\t\t\t\t\t\t\tbuttons: {\n\t\t\t\t\t\t\t\t\tsave: {\n\t\t\t\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\t\t\t\tlabel: 'Save',\n\t\t\t\t\t\t\t\t\t\ticon: 'ui-icon-disk',\n\t\t\t\t\t\t\t\t\t\tclick: function(event) {\n\t\t\t\t\t\t\t\t\t\t\tvar \$rendering = event.data.\$rendering;\n\t\t\t\t\t\t\t\t\t\t\t\$rendering.conduit('save');\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t</script>\n\t\t\t\t\t<!-- END: Javascript -->\n\t\t\t\t\t";
                 $content->addHtml($js);
                 try {
                     $params = array();
                     $params["entityId"] = $id;
                     $html = DraftingDesk::renderForm("FormDrafter", $blueprintSignature, null, $params);
                     $content->addHtml("{$html}");
                 } catch (Exception $e) {
                     $html = "<div class='.error'>Caught Exception: " . $e->getMessage() . "</div>";
                     $content->addHtml("{$html}");
                 }
             } else {
                 $content->addHtml("<h1>Blueprints</h1>");
                 $content->addFile("list.inc");
             }
             break;
     }
 } catch (Exception $e) {
     $html = "<div class='.error'>Caught Exception: " . $e->getMessage() . "</div>";
     $content->addHtml("{$html}");
 }
示例#4
0
     $responseNode->appendChild($dom->createElement("status", "invalid"));
     $responseNode->appendChild($dom->createElement("message", "Validation Errors!"));
 }
 /*
 // Render a new (xml) form to include in response
 */
 try {
     // Build a new set of params for rendering
     $_params = array();
     //$_params["id"] = $id;
     $_params["entity"] = $entity;
     if (count($errs) > 0) {
         $_params["errs"] = $errs;
     }
     // Render XML
     $xmlRendering = DraftingDesk::renderForm("FormXMLDrafter", $entitySignature, $formSignature, $_params);
     // Prepare response
     // NOTE: "status" and "message" already set (above)
     try {
         $xmlRenderingDom = new DomDocument();
         Log::debug("* Loading xmlRendering (string) into a new DomDocument...");
         $xmlRenderingDom->loadXML($xmlRendering);
         Log::debug("* Finding bpXmlDraftRenderingNode...");
         $bpXmlDraftRenderingNode = $xmlRenderingDom->getElementsByTagName("bpXmlDraftRendering")->item(0);
         Log::debug("* Importing bpXmlDraftRenderingNode into the original response Document...");
         $importNode = $dom->importNode($bpXmlDraftRenderingNode, true);
         Log::debug("* Appending xmlNode to responseNode...");
         $xmlNode = $dom->createElement("xml");
         $responseNode->appendChild($xmlNode);
         Log::debug("* Appending bpXmlDraftRenderingNode to xmlNode...");
         $xmlNode->appendChild($importNode);
DraftingDesk::renderList("ListDrafter", "Member.entity.xml");
echo "using ListUlDrafter<br/>";
echo "using ListUlDrafter with a ListBlueprint<br/>";
DraftingDesk::renderList("ListUlDrafter", "Member.entity.xml", "Member.Directory.list.xml");
$params = array();
$params["order"] = "lname DESC";
$params["filters"] = array();
$params["filters"]["filter_fname_like"] = "Be";
DraftingDesk::renderList("ListTableDrafter", "Member.entity.xml", null, $params);
echo "<br/><br/><hr/><br/><br/>";
echo "Test FilterDrafter<br/><br/>";
$drafter = new FilterDrafter($entityBP);
$html = $drafter->render();
echo $html;
echo "<br/><br/>";
echo "Test Reading a Filter Blueprint<br/><br/>";
$filterBP = BlueprintReader::read("Member.Name.filter.xml");
echo "Test class instance..<br>";
if ($filterBP instanceof FilterBlueprint) {
    echo "filterBP is an instance of FilterBlueprint<br><br>";
} else {
    echo "filterBP is not an instance of FilterBlueprint<br><br>";
}
echo "Test FilterDrafter with a FilterBlueprint<br/><br/>";
$drafter = new FilterDrafter($entityBP, $filterBP);
$html = $drafter->render();
echo $html;
echo "<br/><br/><hr/><br/><br/>";
echo "Testing DraftingDesk, renderFilter()...<br/>";
DraftingDesk::renderFilter("FilterDrafter", "Member.entity.xml", "Member.Name.filter.xml");