Esempio n. 1
0
    <?php 
    if ($certificate->hasLastLog()) {
        ?>
        <div class="card">
            <h3>Last log</h3>
            <pre><code><?php 
        foreach (explode("\n", $certificate->getLastLog()) as $line) {
            if (preg_match('~ERROR:~', $line)) {
                echo '<strong>';
                echo findLinks(er($line));
                echo "</strong>\n";
            } else {
                if (preg_match('~DEBUG:~', $line)) {
                    echo '<span style="color: gray;">';
                    echo findLinks(er($line));
                    echo "</span>\n";
                } else {
                    echo er($line);
                    echo "\n";
                }
            }
        }
        ?>
</code></pre>
        </div>
    <?php 
    }
    ?>

    <div class="card">
function findLinks($titleurl, $depth, $maxDepth, $meetings)
{
    #static $maxDepth = 4;
    print "titleurl" . $titleurl . "\n";
    $dom = new simple_html_dom();
    $html = scraperwiki::scrape($titleurl);
    $dom->load($html);
    print "depth" . $depth . "\n";
    print "maxdepth" . $maxDepth . "\n";
    if ($depth > 1) {
        $rows = $dom->find("div[id=data1] table tbody tr");
    } else {
        $rows = $dom->find("div[id=data] table tbody tr");
    }
    unset($rows[0]);
    if ($depth <= $maxDepth) {
        $count = 0;
        #      $i=0;
        foreach ($rows as $row) {
            print "row" . "\n";
            /*
                        $check0 = $row->find("td a",0);
            print "check0" . $check0 . "\n";
                        $check1 = $row->find("td a",1);
            print "check1" . $check1 . "\n";
                        if ( (!empty($check0)) && (!empty($check1)) ) {
                            print "both not empty" . "\n";
            }
             if ( (empty($check0)) && (empty($check1)) ) {
                            print "both empty" . "\n";
            }
                        if ( (!empty($check0)) && (!empty($check1)) ) { 
            */
            $uribase = "http://www.fingalcoco.ie/minutes/";
            #print "row1" . $row ."\n";
            #print "row2" . $rows[1] ."\n";
            if ($depth > 2) {
                $titleurl = $row->find("td a", 1);
            } else {
                $titleurl = $row->find("td a", 0);
            }
            #$titleurl = $row->find("td a",0);
            #print "titleurl1" . $titleurl . "\n";
            #$titleurl = $row->href;
            $title = strip_tags($titleurl);
            #print "title" . $title . "\n";
            #print "titleurl2" . $titleurl . "\n";
            $titleurl = $uribase . $titleurl->href;
            $titleurl = str_replace('../../minutes/', '', $titleurl);
            #$titleurl = $uribase . $titleurl;
            print "titleurl3" . $titleurl . "\n";
            #year,comittee,meetingdate,minuteref,url
            if ($depth == 1) {
                $committee = "";
                $year = $title;
                $meetingdate = "";
            } elseif ($depth == 2) {
                $committee = $title;
                $year = $meetings["year"];
                #print "year" . $meetings["year"];
                $meetingdate = "";
            } elseif ($depth == 3) {
                $committee = $meetings["committee"];
                #print "3committee" . $meetings["committee"];
                $year = $meetings["year"];
                #print "3year" . $meetings["year"];
                $meetingdate = $title;
            } elseif ($depth == 4) {
                $committee = $meetings["committee"];
                #print "4committee" . $meetings["committee"];
                $year = $meetings["year"];
                #print "4year" . $meetings["year"];
                $meetingdate = $meetings["meetingdate"];
                #print "4meetingdate" . $meetings["meetingdate"];
            } else {
                $committee = "committeeelse";
                $year = "yearelse";
                $meetingdate = "meetingdateelse";
            }
            if ($depth == 4) {
                print "yes";
                #$meetingdetails = get_meetingdetails($titleurl);
                $meetingdetails = get_extras($titleurl);
                print "meetingdetails" . print_r($meetingdetails) . "\n";
                /*
                $councillors["$name"] = array(
                                    "name"     => $meetingdetails["name"],
                                    "Url"     => $meetingdetails["url"],
                                    "Reply"   => $meetingdetails["reply"],
                                    "Question"   => $meetingdetails["question"],
                                      "Cllrq"   => $meetingdetails["cllrq"],
                                    "Qtype"   => $meetingdetails["qtype"], #, #,
                  "Response"   => $meetingdetails["response"] #, #,
                                      );
                #}
                $name  = $councillors["name"];
                                               $url     = $councillors["url"];
                                    $reply   = $councillors["reply"];
                                    $question   = $councillors["question"];
                                      $cllrq   = $councillors["cllrq"];
                                    $qtype   = $councillors["qtype"]; 
                 $response   = $councillors["response"];
                */
                $reply = $meetingdetails["reply"];
                $question = $meetingdetails["question"];
                $cllrq = $meetingdetails["cllrq"];
                $qtype = $meetingdetails["qtype"];
                $response = $meetingdetails["response"];
            } else {
                $url = "urlelse";
                $reply = "replyelse";
                $question = "questionelse";
                $cllrq = "cllrqelse";
                $qtype = "qtypeelse";
                $response = "responseelse";
            }
            $meetings = array('depth' => $depth, 'year' => $year, 'committee' => $committee, 'meetingdate' => $meetingdate, 'title' => $title, 'titleurl' => $titleurl, 'name' => $name, 'reply' => $reply, 'question' => $question, 'cllrq' => $cllrq, 'qtype' => $qtype, 'response' => $response);
            scraperwiki::save(array('titleurl', 'title'), $meetings);
            #}
            findLinks($titleurl, $depth + 1, $maxDepth, $meetings);
            #   }
            #      $i++;
            #      if($i==3) break;
        }
    }
}
function findLinks($titleurl, $depth, $maxDepth, $meetings)
{
    #static $maxDepth = 4;
    print "titleurl" . $titleurl . "\n";
    $dom = new simple_html_dom();
    $html = scraperwiki::scrape($titleurl);
    $dom->load($html);
    print "depth" . $depth . "\n";
    print "maxdepth" . $maxDepth . "\n";
    if ($depth > 1) {
        $rows = $dom->find("div[id=data1] table tbody tr");
    } else {
        $rows = $dom->find("div[id=data] table tbody tr");
    }
    unset($rows[0]);
    if ($depth <= $maxDepth) {
        $count = 0;
        #      $i=0;
        foreach ($rows as $row) {
            print "row" . "\n";
            /*
                        $check0 = $row->find("td a",0);
            print "check0" . $check0 . "\n";
                        $check1 = $row->find("td a",1);
            print "check1" . $check1 . "\n";
                        if ( (!empty($check0)) && (!empty($check1)) ) {
                            print "both not empty" . "\n";
            }
             if ( (empty($check0)) && (empty($check1)) ) {
                            print "both empty" . "\n";
            }
                        if ( (!empty($check0)) && (!empty($check1)) ) { 
            */
            $uribase = "http://www.fingalcoco.ie/minutes/";
            #print "row1" . $row ."\n";
            #print "row2" . $rows[1] ."\n";
            if ($depth > 2) {
                $titleurl = $row->find("td a", 1);
            } else {
                $titleurl = $row->find("td a", 0);
            }
            #$titleurl = $row->find("td a",0);
            #print "titleurl1" . $titleurl . "\n";
            #$titleurl = $row->href;
            $title = strip_tags($titleurl);
            $meetingdate = $row->find("td a", 0);
            $meetingdate = strip_tags($meetingdate);
            #print "title" . $title . "\n";
            #print "titleurl2" . $titleurl . "\n";
            $titleurl = $uribase . $titleurl->href;
            $titleurl = str_replace('../../minutes/', '', $titleurl);
            #$titleurl = $uribase . $titleurl;
            print "titleurl3" . $titleurl . "\n";
            #year,comittee,meetingdate,minuteref,url
            if ($depth == 1) {
                $committee = "";
                $year = $title;
                $meetingdate = "";
            } elseif ($depth == 2) {
                $committee = $title;
                $year = $meetings["year"];
                #print "year" . $meetings["year"];
                $meetingdate = "";
            } elseif ($depth == 3) {
                $committee = $meetings["committee"];
                #print "3committee" . $meetings["committee"];
                $year = $meetings["year"];
                #print "3year" . $meetings["year"];
                #    $meetingdate = $meetings["meetingdate"];
            } elseif ($depth == 4) {
                $committee = $meetings["committee"];
                #print "3committee" . $meetings["committee"];
                $year = $meetings["year"];
                #print "3year" . $meetings["year"];
                #   $meetingdate = $meetings["meetingdate"];
            } else {
                $committee = "committeeelse";
                $year = "yearelse";
                $meetingdate = "meetingdateelse";
            }
            $meetings = array('depth' => $depth, 'year' => $year, 'committee' => $committee, 'meetingdate' => $meetingdate, 'title' => $title, 'titleurl' => $titleurl, 'name' => $name);
            scraperwiki::save(array('titleurl', 'title'), $meetings);
            #}
            findLinks($titleurl, $depth + 1, $maxDepth, $meetings);
            #   }
            #      $i++;
            #      if($i==3) break;
        }
    }
}
Esempio n. 4
0
 public function setNode($node, $force = FALSE, $action = "SaveNode")
 {
     global $system;
     global $ignoreValidationErrors;
     global $trackNodeContext;
     $execute = TRUE;
     $next = array();
     $new = FALSE;
     $isDelta = FALSE;
     $deltaReport = array();
     $reviewState = 0;
     if (isset($node["node"]["Node_id"]) && $node["node"]["Node_id"] !== FALSE && isset($node["node"]["Parent_id"]) && isset($node["node"]["Type"])) {
         if (isset($node["Errors"])) {
             unset($node["Errors"]);
         }
         $nodeId = $node["node"]["Node_id"];
         $nodeType = $node["node"]["Type"];
         $nodeType2 = $node["node"]["Type"];
         $nodeParent = $node["node"]["Parent_id"];
         if (isset($node["node"]["Review"])) {
             $nodeReview = $node["node"]["Review"];
         } else {
             $nodeReview = 0;
         }
         if (isset($node["node"]["Review_member"])) {
             $nodeReviewMember = $node["node"]["Review_member"];
         } else {
             $nodeReviewMember = 0;
         }
         $controlInfo = getNodeContext($nodeId, FALSE, TRUE);
         if (!$controlInfo) {
             $new = TRUE;
         }
         // print_r($controlInfo);
         if ($node["node"]["Node_id"] == 0) {
             $new = TRUE;
             $next = getNextFreeIds("mt_main", $system["Offset"], FALSE, 0);
             $node["node"]["Node_id"] = $next[0];
             $nodeId = $next[0];
         }
         if ($new) {
             $isDelta = TRUE;
             $controlInfo = array();
             $controlInfo["node"] = array("Node_id" => $nodeId, "Parent_id" => $nodeParent, "Title" => "", "Image" => "", "Type" => $nodeType, "Protected" => 0, "Review" => 0, "Review_member" => 0, "Update" => 0);
             $controlInfo["data"] = array("Review" => 0, "Rights" => "", "Dependancies" => "", "Values" => array());
             $controlInfo["rights"] = array();
             $attributes = array();
             $attributesKeys = array();
             if (isset($system["Types"][$nodeType2]["__Fields__"])) {
                 $typeAttributes = $system["Types"][$nodeType2]["__Fields__"];
             } else {
                 $typeAttributes = array();
             }
             $attributesMultiLang = array();
             $attributesNames = array();
             $keys_typeAtt = array_keys($typeAttributes);
             for ($i = 0; $i < count($keys_typeAtt); $i++) {
                 $cf = $typeAttributes[$keys_typeAtt[$i]];
                 $value = "";
                 $attributesKey = $cf["__Name__"];
                 $attributesKeys[] = $attributesKey;
                 $attributesNames[$cf["__Name__"]] = "";
                 $attributes[$attributesKey] = $cf;
                 if ($cf["Monolingual"] == 0) {
                     $attributesMultiLang[$attributesKey] = "";
                 }
                 echo $fieldId = $keys_typeAtt[$i];
                 $fieldType = $cf["BaseType"];
                 $fieldName = $cf["__Name__"];
                 $keys = array_keys($system["Languages"]);
                 for ($j = 0; $j < count($keys); $j++) {
                     $language = translateIds2old("Languages", $keys[$j]);
                     if (!isset($node["data"]["Values"][$language][$attributesKey])) {
                         $node["data"]["Values"][$language][$attributesKey] = "";
                     } else {
                         $controlInfo["data"]["Values"][$language][$attributesKey] = "";
                     }
                 }
             }
         }
         // print_r($controlInfo);
         if (!isset($controlInfo["rights"])) {
             $controlInfo["rights"] = array();
         }
         if (!isset($node["node"]["Position"])) {
             $node["node"]["Position"] = 0;
         }
         if (!isset($node["node"]["Protected"])) {
             $node["node"]["Protected"] = 0;
         }
         if (!isset($node["node"]["Review"])) {
             $node["node"]["Review"] = 0;
         }
         if (!isset($node["node"]["Review_member"])) {
             $node["node"]["Review_member"] = 0;
         }
         if (!isset($node["node"]["Image"])) {
             $node["node"]["Image"] = $system["Types"][$nodeType2]["__Icon__"];
         }
         $node["node"]["Update"] = date("YmdHis");
         // #################### Workflow ####################
         if ($nodeReviewMember != 0 && $node["node"]["Review_member"] != $controlInfo["node"]["Review_member"]) {
             // echo "bad way to change RMember...";
             $node["node"]["Review_member"] = $controlInfo["node"]["Review_member"];
         }
         if ($nodeReviewMember != 0) {
             if (isset($node["node"]["NewReview_member"]) && isset($node["node"]["Review_Comment"])) {
                 $member = getReviewMemberInfo($nodeReviewMember);
                 $oldReviewMemberId = $node["node"]["Review_member"];
                 $reviewMemberId = $node["node"]["NewReview_member"];
                 if ($oldReviewMemberId != $reviewMemberId) {
                     $node["node"]["Review_member"] = $reviewMemberId;
                     if (isset($member["mt_review_levels_Change_Action"]) && trim($member["mt_review_levels_Change_Action"] != "")) {
                         eval("?" . ">" . $member["mt_review_levels_Change_Action"]);
                     }
                     if (isset($member["mt_review_members_Change_Action"]) && trim($member["mt_review_members_Change_Action"] != "")) {
                         eval("?" . ">" . $member["mt_review_members_Change_Action"]);
                     }
                     $actor = getNodeContext($_SESSION["User"]["User_id"]);
                     $newState = getReviewMemberInfo($reviewMemberId);
                     if ($newState["mt_review_members_User_id"] != 0) {
                         $user = getNodeContext($newState["mt_review_members_User_id"]);
                     } else {
                         $user["node"] = array("Node_id" => 0, "Title" => "Open User Definition");
                     }
                     $fileStream = date("YmdHis") . ";";
                     $fileStream .= $member["mt_review_levels_Name"] . ";";
                     $fileStream .= $actor["node"]["Node_id"] . ";";
                     $fileStream .= str_replace(";", ",", $actor["node"]["Title"]) . ";";
                     $fileStream .= $oldReviewMemberId . ";";
                     $fileStream .= $reviewMemberId . ";";
                     $fileStream .= $user["node"]["Node_id"] . ";";
                     $fileStream .= str_replace(";", ",", $user["node"]["Title"]) . ";";
                     $fileStream .= serialize($node["node"]["Review_Comment"]) . "\r\n";
                     $fileName = $system["systemFilePath"] . "log/" . $node["node"]["Node_id"] . "_review.log";
                     appendLogFile($fileName, $fileStream);
                 }
                 $nodeReviewMember = $reviewMemberId;
             }
             $member = getReviewMemberInfo($nodeReviewMember);
             if (isset($member["mt_review_levels_Position"]) && $member["mt_review_levels_Position"] > 10) {
                 $reviewState = 1;
             } else {
                 $reviewState = 0;
             }
             $node["node"]["Review"] = $reviewState;
             $node["data"]["Review"] = $reviewState;
         }
         // ################## Extra Code ####################
         if ($execute) {
             if ($new) {
                 if (trim($system["Types"][$nodeType2]["Creation_Code"])) {
                     eval("?" . ">" . $system["Types"][$nodeType2]["Creation_Code"]);
                 }
             } else {
                 if ($node["node"]["Parent_id"] == 3) {
                     if (trim($system["Types"][$nodeType2]["Erase_Code"])) {
                         eval("?" . ">" . $system["Types"][$nodeType2]["Erase_Code"]);
                     }
                     findLinks($node["node"]["Node_id"], $execute);
                 } else {
                     if (trim($system["Types"][$nodeType2]["Save_Code"])) {
                         eval("?" . ">" . $system["Types"][$nodeType2]["Save_Code"]);
                     }
                 }
             }
         }
         // ##################################################
         $DBArray = array();
         $DBArray["table"] = "mt_main";
         $DBArray["master"]["mt_main_Node_id"] = $nodeId;
         $DBArray["master"]["mt_main_Review"] = $reviewState;
         $DBArray["data"]["mt_main_Parent_id"] = $nodeParent;
         $DBArray["data"]["mt_main_Title"] = $node["node"]["Title"];
         $DBArray["data"]["mt_main_Image"] = $node["node"]["Image"];
         $DBArray["data"]["mt_main_Type"] = $nodeType;
         $DBArray["data"]["mt_main_Position"] = $node["node"]["Position"];
         $DBArray["data"]["mt_main_Protected"] = $node["node"]["Protected"];
         $DBArray["data"]["mt_main_Review_member"] = $node["node"]["Review_member"];
         $DBArray["data"]["mt_main_Update"] = $node["node"]["Update"];
         $nodeQuery = generateSQL($DBArray);
         // ##################################################
         if (!isset($node["node"])) {
             $node["node"] = array();
         }
         if (!isset($controlInfo["node"])) {
             $controlInfo["node"] = array();
         }
         $diff = array_diff_assoc($controlInfo["node"], $node["node"]);
         if (isset($diff["Update"])) {
             unset($diff["Update"]);
         }
         if (count($diff)) {
             $deltaReport["node"] = $diff;
         }
         // ##################################################
         if (!isset($node["data"]) || !is_array($node["data"])) {
             $node["data"] = array();
         }
         if (!isset($node["data"]["Review"])) {
             $node["data"]["Review"] = $reviewState;
         }
         if (!isset($node["data"]["Rights"])) {
             $node["data"]["Rights"] = array();
         }
         if (!isset($node["data"]["Dependancies"])) {
             $node["data"]["Dependancies"] = "";
         }
         if (!isset($node["data"]["Values"])) {
             $node["data"]["Values"] = array();
         }
         if (!is_array($controlInfo["data"]["Rights"])) {
             $controlInfo["data"]["Rights"] = array();
         }
         if (!is_array($node["data"]["Rights"])) {
             $node["data"]["Rights"] = array();
         }
         if (!isset($controlInfo["rights"]) || !is_array($controlInfo["rights"])) {
             $controlInfo["rights"] = array();
         }
         if (!isset($node["rights"]) || !is_array($node["rights"])) {
             $node["rights"] = array();
         }
         $DeltaArray = array();
         if (!isset($controlInfo["data"])) {
             $controlInfo["data"] = array();
         }
         $diff = array_diff_assoc($controlInfo["data"], $node["data"]);
         if (count($diff)) {
             $deltaReport["data"] = $diff;
             $isDelta = TRUE;
         }
         $keys = array_keys($system["Languages"]);
         for ($i = 0; $i < count($keys); $i++) {
             $Lang_id = translateIds2old("Languages", $keys[$i]);
             $Delta = array();
             if (isset($node["data"]["Values"][$Lang_id])) {
                 // ["data"]["Values"][$Lang_id]
                 if (!isset($controlInfo["data"]["Values"][$Lang_id])) {
                     $controlInfo["data"]["Values"][$Lang_id] = array();
                 }
                 $diff = array_diff_assoc($controlInfo["data"]["Values"][$Lang_id], $node["data"]["Values"][$Lang_id]);
                 if (count($diff)) {
                     $deltaReport["data"]["Values"][$Lang_id] = $diff;
                     $isDelta = TRUE;
                 }
                 $Delta = array_merge($controlInfo["data"]["Values"][$Lang_id], $node["data"]["Values"][$Lang_id]);
                 $DeltaArray[$Lang_id] = $Delta;
             }
         }
         $nodeInfo = $node;
         // echo "<pre>";
         // print_r($system["Types"][$nodeType2]);
         // Workaround until complete change of rights
         $rightsData = FALSE;
         if (isset($node["rights"]) && is_array($node["rights"])) {
             $diff = array_diff_assoc($node["rights"], $controlInfo["rights"]);
             if (count($diff)) {
                 if (isset($node["data"]["Rights"])) {
                     $diff = array_diff_assoc($node["data"]["Rights"], $controlInfo["data"]["Rights"]);
                     if (!count($diff)) {
                         $node["data"]["Rights"] = $node["rights"];
                     }
                 }
             }
         }
         if (isset($node["data"]["Rights"])) {
             $diff = array_diff_assoc($node["data"]["Rights"], $controlInfo["data"]["Rights"]);
             if (count($diff)) {
                 $isDelta = TRUE;
                 $right = array_merge($controlInfo["data"]["Rights"], $node["data"]["Rights"]);
                 $empty = array();
                 if (version_compare(phpversion(), "5.0.1") >= 0) {
                     $empty = array_keys($node["data"]["Rights"], "", TRUE);
                 } else {
                     $empty = array_keys($node["data"]["Rights"], "");
                 }
                 for ($i = 0; $i < count($empty); $i++) {
                     if (isset($node["data"]["Rights"][$empty[$i]])) {
                         unset($node["data"]["Rights"][$empty[$i]]);
                     }
                 }
                 $deltaReport["data"]["Rights"] = $node["data"]["Rights"];
             }
         }
         if ($isDelta || $ignoreValidationErrors) {
             $attributes = array();
             $attributesKeys = array();
             $typeAttributes = array();
             if (isset($system["Types"][$nodeType2]["__Fields__"])) {
                 $typeAttributes = $system["Types"][$nodeType2]["__Fields__"];
             }
             $attributesMultiLang = array();
             $attributesNames = array();
             $keys_typeAtt = array_keys($typeAttributes);
             for ($i = 0; $i < count($keys_typeAtt); $i++) {
                 $cf = $typeAttributes[$keys_typeAtt[$i]];
                 $cf["Unique"] = $keys_typeAtt[$i];
                 $attributesKey = $cf["__Name__"];
                 $attributesKeys[] = $attributesKey;
                 $attributesNames[$cf["__Name__"]] = "";
                 $attributes[$attributesKey] = $cf;
                 if (isset($cf["Monolingual"]) && $cf["Monolingual"] == 0) {
                     $attributesMultiLang[$attributesKey] = "";
                 }
             }
             $Data = array();
             if (!isset($controlInfo["data"]) || !isset($controlInfo["data"]["Values"]) || !isset($controlInfo["data"]["Values"][1])) {
                 $controlInfo["data"]["Values"][1] = array();
             }
             if (!isset($DeltaArray[1])) {
                 $DeltaArray[1] = array();
             }
             $MainData = array_merge($attributesNames, $controlInfo["data"]["Values"][1], $DeltaArray[1]);
             $keys = array_keys($system["Languages"]);
             for ($j = 0; $j < count($keys); $j++) {
                 $language = translateIds2old("Languages", $keys[$j]);
                 for ($i = 0; $i < count($attributesKeys); $i++) {
                     $cf = $attributes[$attributesKeys[$i]];
                     $value = FALSE;
                     $nodeInfo = $node;
                     $fieldId = $cf["Unique"];
                     $fieldId = $attributes[$attributesKeys[$i]]["Id"];
                     // ALTLAST
                     $fieldName = $attributes[$attributesKeys[$i]]["__Name__"];
                     $fieldType = $attributes[$attributesKeys[$i]]["BaseType"];
                     if ($cf["Monolingual"] == 1) {
                         $fieldLanguage = 1;
                     } else {
                         $fieldLanguage = $language;
                     }
                     if ($fieldLanguage == 1) {
                         if ($fieldLanguage == $language) {
                             $value = $MainData[$attributesKeys[$i]];
                         }
                     } else {
                         if (isset($DeltaArray[$language][$attributesKeys[$i]])) {
                             $value = $DeltaArray[$language][$attributesKeys[$i]];
                         }
                     }
                     if ($value !== FALSE) {
                         $Data[$language][$fieldId] = $value;
                     }
                 }
             }
             $DBArray = array();
             $DBArray["table"] = "mt_data";
             $DBArray["master"]["mt_data_Node_id"] = $node["node"]["Node_id"];
             $DBArray["master"]["mt_data_Review"] = $reviewState;
             $DBArray["data"]["mt_data_Type"] = $nodeType;
             $DBArray["data"]["mt_data_Dependencies"] = " " . trim($node["data"]["Dependancies"]) . " ";
             if (count($node["data"]["Rights"])) {
                 $DBArray["data"]["mt_data_Rights"] = serialize($node["data"]["Rights"]);
             } else {
                 $DBArray["data"]["mt_data_Rights"] = "";
             }
             if (count($Data)) {
                 $DBArray["data"]["mt_data_Value"] = serialize($Data);
             } else {
                 $DBArray["data"]["mt_data_Value"] = "";
             }
             $dataQuery = generateSQL($DBArray);
         }
         // print_r($node);
         if ($node["node"]["Parent_id"] == 3 && isset($node["Errors"])) {
             unset($node["Errors"]);
         }
         // ##################################################
         if ((!isset($node["Errors"]) || $ignoreValidationErrors && isset($node["Errors"]) || $new || $force) && $reviewState != -1) {
             if ($execute) {
                 if (isset($nodeQuery)) {
                     mysql_query($nodeQuery, $system["dbCon"]);
                 }
                 if (isset($dataQuery)) {
                     mysql_query($dataQuery, $system["dbCon"]);
                 }
                 // if(isset($rightQuery)) mysql_query($rightQuery,$system["dbCon"]);
                 if ($trackNodeContext && count($deltaReport) && isset($_SESSION["User"]["User_id"]) && $_SESSION["User"]["User_id"]) {
                     $u = getNodeContext($_SESSION["User"]["User_id"]);
                     $fileStream = date("YmdHis") . ";" . str_replace(";", ",", $action) . ";";
                     $fileStream .= $u["node"]["Node_id"] . ";" . str_replace(";", ",", $u["node"]["Title"]) . ";";
                     $fileStream .= str_replace("\r", "\\r", str_replace("\n", "\\n", serialize($deltaReport))) . "\r\n";
                     $fileName = $system["systemFilePath"] . "log/" . $node["node"]["Node_id"] . ".txt";
                     appendLogFile($fileName, $fileStream);
                 }
                 // if(isset($system["Types"][$nodeType2]["Save_Code"]) && trim($system["Types"][$nodeType2]["Save_Code"])!="") {
                 // $reason = FALSE;
                 // eval("?".">".$system["Types"][$nodeType2]["Save_Code"]);
                 // if($reason!==FALSE) $node["Errors"][$fieldName] = $reason;
                 // }
                 if ($reviewState === 0) {
                     $dbQuery = "DELETE FROM mt_main WHERE mt_main_Node_id='" . $node["node"]["Node_id"] . "' AND mt_main_Review='1';";
                     mysql_query($dbQuery, $system["dbCon"]);
                     $dbQuery = "DELETE FROM mt_data WHERE mt_data_Node_id='" . $node["node"]["Node_id"] . "' AND mt_data_Review='1';";
                     mysql_query($dbQuery, $system["dbCon"]);
                 }
             } else {
                 echo "<pre>";
                 print_r($deltaReport);
                 echo "</pre>";
                 if (isset($nodeQuery)) {
                     echo $nodeQuery . "<br/>";
                 }
                 if (isset($dataQuery)) {
                     echo $dataQuery . "<br/>";
                 }
                 if ($reviewState === 0) {
                     $dbQuery = "DELETE FROM mt_main WHERE mt_main_Node_id='" . $node["node"]["Node_id"] . "' AND mt_main_Review='1';";
                     echo $dbQuery . "<br/>";
                     $dbQuery = "DELETE FROM mt_data WHERE mt_data_Node_id='" . $node["node"]["Node_id"] . "' AND mt_data_Review='1';";
                     echo $dbQuery . "<br/>";
                 }
             }
         }
         // ##################################################
     } else {
         $node = FALSE;
     }
     // ##################################################
     // Workaround until complete change of rights
     // $node["rights"] = $node["data"]["Rights"];
     unset($node["rights"]);
     // ##################################################
     return $node;
 }