Пример #1
0
function addWorkshop()
{
    $workshopname = GetField('workshopname');
    $datetime = GetField('datetime');
    $location = GetField('location');
    $category = GetField('category');
    $tutorname = GetField('tutorname');
    $message = GetField('message');
    $query = mysqli_query($GLOBALS['con'], "INSERT INTO workshop VALUES ( NULL,'" . $workshopname . "','" . $datetime . "','" . $location . "','" . $category . "','" . $tutorname . "','" . $message . "')") or die('error saving data: ' . mysqli_error($GLOBALS['con']));
    if ($query) {
        echo 'You have registered a workshop';
    }
}
</td>
                <td width="128" class="nav_text" align="center"><b>
				<?php 
    echo strip_tags($orders['order_total']);
    $sqlAmount = "SELECT\n\t\t\t\torders_total.`text`\n\t\t\t\tFROM\n\t\t\t\torders_total\n\t\t\t\tWHERE\n\t\t\t\torders_total.orders_id =  '" . $resultCatalog['orders_id'] . "' AND\n\t\t\t\torders_total.title =  'Total:'\n\t\t\t\t";
    $ex = mysql_query($sqlAmount);
    $rs = mysql_fetch_array($ex);
    echo $rs[0];
    ?>
				</b></td>
                <td width="121" class="nav_text" align="center"><?php 
    echo date('d-m-Y', strtotime($resultCatalog['date_purchased']));
    ?>
</td>
                <td width="127" class="nav_text" align="center"><?php 
    echo GetField(orders_status, orders_status_id, orders_status_name, $resultCatalog['orders_status']);
    ?>
</td>
                <td width="130" class="nav_text" align="center"><!--for shipping status-->
		<?php 
    //echo "SELECT `orders_id`, sum(`products_quantity`) as totalQty FROM `orders_products` where orders_id='".$resultCatalog['orders_id']."' group by orders_id";
    $sqlOrdreQty = mysql_fetch_array(mysql_query("SELECT `orders_id`, sum(`products_quantity`) as totalQty FROM `orders_products` where orders_id='" . $resultCatalog['orders_id'] . "' group by orders_id"));
    $totalQty = $sqlOrdreQty['totalQty'];
    $sqlShippedQty = mysql_fetch_array(mysql_query("SELECT count(orders_id) as shippedQty FROM `ims_orders_shipping` where shipping_status='2' and orders_id='" . $resultCatalog['orders_id'] . "' group by orders_id"));
    $totalShippedQty = $sqlShippedQty['shippedQty'];
    if (isset($totalShippedQty)) {
        $totalShippedQty = $totalShippedQty;
    } else {
        $totalShippedQty = 0;
    }
    if (isset($totalReadyToShipped) or $totalReadyToShipped > 0) {
Пример #3
0
function &dmQuery($alias, $searchstring, $field, $sortby, $maxrecs, $start, &$total, $suppress = 0, $docptr = -1, &$suggest = 0, &$facet = "")
{
    $record = array();
    $pathmap = array();
    $n = 0;
    $numsearchfields = count($searchstring);
    if ($numsearchfields == 0 && count($alias) != 1) {
        /* can only browse one collection */
        $total = 0;
    } else {
        if (count($alias) == 0) {
            print "Error, no collections specified<br>\n";
            exit;
        }
        $catlist =& dmGetCollectionList();
        for ($i = 0; $i < count($catlist); $i++) {
            $pathmap[$catlist[$i]["alias"]] = $catlist[$i]["path"];
        }
        if ($alias[0] == "all" || count($alias) == count($catlist) && count($catlist) > 1) {
            $n = GetCatalogCount();
            if (count($catlist) == $n) {
                $dblist = "/";
            } else {
                $dblist = $catlist[0]["alias"];
                for ($i = 1; $i < count($catlist); $i++) {
                    $dblist = $dblist . "," . $catlist[$i]["alias"];
                }
            }
        } else {
            $dblist = $alias[0];
            for ($i = 1; $i < count($alias); $i++) {
                $dblist = $dblist . "," . $alias[$i];
            }
        }
        if (count($sortby) == 0) {
            $sortlist = "";
        } else {
            $sortlist = $sortby[0];
            for ($i = 1; $i < count($sortby); $i++) {
                $sortlist = $sortlist . " " . $sortby[$i];
            }
        }
        if ($alias[0] == "all" || count($alias) > 1) {
            $temp = "dc";
        } else {
            $temp = $alias[0];
        }
        $findmap = dmGetFindNick($temp);
        for ($i = 0; $i < 6; $i++) {
            $fieldmap[$i] = -1;
        }
        $multimode = 0;
        for ($i = 0; $i < $numsearchfields; $i++) {
            if (trim($searchstring[$i]["string"]) != "") {
                $searchstring[$i]["string"] = str_replace('"', "", $searchstring[$i]["string"]);
                //        $searchstring[$i]["string"] = str_replace(':'," ",$searchstring[$i]["string"]);
                if ($searchstring[$i]["mode"] == "exact") {
                    $searchstring[$i]["string"] = str_replace("--", " -- ", $searchstring[$i]["string"]);
                    $fieldmap[1] = $i;
                } else {
                    $searchstring[$i]["string"] = str_replace("--", " - ", $searchstring[$i]["string"]);
                    if ($searchstring[$i]["mode"] == "all") {
                        $fieldmap[0] = $i;
                    } elseif ($searchstring[$i]["mode"] == "any") {
                        $fieldmap[2] = $i;
                    } elseif ($searchstring[$i]["mode"] == "none") {
                        $fieldmap[3] = $i;
                    }
                }
            }
        }
        $searchlist = "";
        if ($multimode == 1) {
            /* Search across all fields */
            if ($fieldmap[1] >= 0) {
                if (!strstr($searchstring[$fieldmap[1]]["string"], " near")) {
                    $searchlist = '"' . $searchstring[$fieldmap[1]]["string"] . '"';
                } else {
                    $searchlist = $searchstring[$fieldmap[1]]["string"];
                }
            }
            if ($fieldmap[0] >= 0) {
                if ($searchlist != "") {
                    $searchlist = $searchlist . " and ";
                }
                $str = str_replace('(', " ", $searchstring[$fieldmap[0]]["string"]);
                $str = str_replace(')', " ", $str);
                $searchlist = $searchlist . AddOperator($str, "and");
            }
            if ($fieldmap[2] >= 0) {
                $str = str_replace('(', " ", $searchstring[$fieldmap[2]]["string"]);
                $str = str_replace(')', " ", $str);
                if ($searchlist != "") {
                    $searchlist = $searchlist . " and ";
                    $searchlist = $searchlist . "(" . AddOperator($str, "or") . ")";
                } else {
                    $searchlist = $searchlist . AddOperator($str, "or");
                }
            }
            if ($fieldmap[3] >= 0) {
                if ($searchlist != "") {
                    $searchlist = $searchlist . " not ";
                } else {
                    $searchlist = "not ";
                }
                $searchlist = $searchlist . "(" . AddOperator($searchstring[$fieldmap[3]]["string"], "or") . ")";
            }
        } else {
            /* Selected fields */
            $notclause = "";
            for ($i = 0; $i < $numsearchfields; $i++) {
                if (trim($searchstring[$i]["string"]) != "") {
                    if ($i > 0) {
                        $searchlist = $searchlist . " ";
                    }
                    $code = "ft";
                    $isdate = 0;
                    for ($j = 0; $j < count($findmap); $j++) {
                        if ($searchstring[$i]["field"] == "CISOSEARCHALL") {
                            $code = "ft";
                            $isdate = 0;
                            break;
                        }
                        if ($searchstring[$i]["field"] == $findmap[$j]["cdmnick"]) {
                            $code = $findmap[$j]["findnick"];
                            $isdate = $findmap[$j]["date"];
                            break;
                        }
                    }
                    if ($isdate && !strstr($searchstring[$i]["string"], " ")) {
                        $searchlist = $searchlist . "(" . $code . ":" . FormatDateString($searchstring[$i]["string"]) . ")";
                    } elseif ($searchstring[$i]["mode"] == "all") {
                        $str = str_replace('(', " ", $searchstring[$i]["string"]);
                        $str = str_replace(')', " ", $str);
                        $searchlist = $searchlist . $code . ":" . AddOperator($str, "and");
                    } elseif ($searchstring[$i]["mode"] == "exact") {
                        if (!strstr($searchstring[$i]["string"], " near")) {
                            $searchlist = $searchlist . $code . ":" . '"' . $searchstring[$i]["string"] . '"';
                        } else {
                            $searchlist = $searchlist . $code . ":" . $searchstring[$i]["string"];
                        }
                    } elseif ($searchstring[$i]["mode"] == "any") {
                        $str = str_replace('(', " ", $searchstring[$i]["string"]);
                        $str = str_replace(')', " ", $str);
                        $searchlist = $searchlist . "(" . $code . ":" . AddOperator($str, "or") . ")";
                    } elseif ($searchstring[$i]["mode"] == "none") {
                        $notclause = $notclause . " not (" . $code . ":" . AddOperator($searchstring[$i]["string"], "or") . ")";
                        //            $searchlist = $searchlist . "not (" . $code . ":" . AddOperator($searchstring[$i]["string"],"or") . ")";
                    }
                }
            }
            if ($notclause != "") {
                $searchlist = trim($searchlist) . $notclause;
            }
        }
        if (!extension_loaded('DmSearch')) {
            if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
                dl('php_dmsearchmod.dll');
            } else {
                dl('dmsearch.so');
            }
        }
        $dmid = dmGetUser();
        if (isset($_SERVER["REMOTE_ADDR"])) {
            $remote_addr = $_SERVER["REMOTE_ADDR"];
        } else {
            $remote_addr = "";
        }
        if ($suppress == 1) {
            $multimode = $multimode + 20;
        }
        /* browse mode */
        if ($numsearchfields == 0) {
            $result = dmsearch($dblist, $searchlist, $multimode, $docptr, $start, $maxrecs, $sortlist, $dmid, $remote_addr);
            if (substr($result, 0, 1) == "0") {
                $total = 0;
                $n = 0;
                $temp = strtok($result, "\n");
                $p1 = strpos($temp, " ");
                if ($p1 != FALSE) {
                    $p2 = strpos($temp, " ", $p1 + 1);
                    if ($p2 != FALSE) {
                        $total = (int) trim(substr($temp, $p2 + 1));
                    }
                }
                while (($temp = strtok("\n")) != FALSE) {
                    $p1 = strpos($temp, " ");
                    $p2 = strpos($temp, " ", $p1 + 1);
                    $record[$n]["collection"] = trim(substr($temp, 0, $p1));
                    $record[$n]["pointer"] = trim(substr($temp, $p1 + 1, $p2 - $p1 - 1));
                    $record[$n]["filetype"] = trim(substr($temp, $p2 + 1));
                    $record[$n]["parentobject"] = GetParent($record[$n]["collection"], $record[$n]["pointer"], $pathmap[$record[$n]["collection"]]);
                    $n++;
                }
            } else {
                /* Error */
                $total = 0;
            }
        } else {
            /* Run the FIND search */
            $searchstr = $searchlist;
            $searchstr = str_replace("*", "\\*", $searchstr);
            /* wildcard */
            $searchstr = str_replace(" near", " n", $searchstr);
            /* proximity */
            //      $searchstr = str_replace('"',"",$searchstr);
            //      $searchstr = str_replace(" -- "," - ",$searchstr);
            //      $searchstr = str_replace(" --"," -",$searchstr);
            if ($dblist != "/") {
                $dblist = str_replace(",", "/,", $dblist) . "/";
            }
            $collstr = $dblist;
            /* Handle the sortby, hardcoded 2-character nicknames */
            if (count($sortby) == 0) {
                $sortstr = "ti";
            } else {
                $scount = count($sortby);
                $sortstr = "";
                if ($sortby[$scount - 1] == "reverse") {
                    $sortstr = "-";
                }
                $scount--;
                if ($scount == 0) {
                    $sortstr = $sortstr . "ti";
                } else {
                    $sortstr = $sortstr . substr($sortby[0], 0, 2);
                    for ($i = 1; $i < $scount; $i++) {
                        $sortstr = $sortstr . ":" . substr($sortby[$i], 0, 2);
                    }
                }
            }
            $fstart = $start - 1;
            if (isset($_SERVER["REMOTE_ADDR"])) {
                $remote_addr = $_SERVER["REMOTE_ADDR"];
            } else {
                $remote_addr = "";
            }
            $access_str = " (za:f3";
            if ($dmid != "") {
                $access_str = $access_str . " or \"" . $dmid . "\"";
            }
            if ($remote_addr != "") {
                $access_str = $access_str . " or " . $remote_addr . ")";
            }
            /* compound object search */
            if ($docptr > -1) {
                $searchstr = $searchstr . " cp:" . $docptr;
            }
            if ($suppress == 1) {
                $sortstr = "";
                $scount = count($sortby);
                if ($scount == 0) {
                    $sortstr = "-\$max.\$d";
                } else {
                    if ($sortby[$scount - 1] == "reverse") {
                        $sortstr = "-";
                        $scount = $scount - 1;
                    }
                    for ($i = 0; $i < $scount; $i++) {
                        $code = LookupFindNick($findmap, $sortby[$i]);
                        if ($code != "" && $code != "BLANK") {
                            $sortstr = $sortstr . "\$" . $code;
                        }
                    }
                }
                if ($sortstr == "" || $sortstr == "-" || $sortstr == "\$") {
                    $sortstr = "-\$max.\$d";
                }
                $displaystr = "&group=\$group.pa.cp<ITEM><DB>\$pa</DB><KEY>\$cp</KEY><SORT>\$sort" . $sortstr . "</SORT></ITEM>";
            } else {
                $sortstr = "";
                $scount = count($sortby);
                if ($scount == 0) {
                    $sortstr = "\$density";
                } else {
                    if ($sortby[$scount - 1] == "reverse") {
                        $sortstr = "-";
                        $scount = $scount - 1;
                    }
                    for ($i = 0; $i < $scount; $i++) {
                        $code = LookupFindNick($findmap, $sortby[$i]);
                        if ($i > 0) {
                            $sortstr = $sortstr . ":";
                        }
                        $sortstr = $sortstr . $code;
                    }
                }
                $displaystr = "&sort=" . $sortstr . "&display=<ITEM><DB>\$\$DM_pa\$\$</DB><KEY>\$\$DM_ci\$\$</KEY></ITEM>";
            }
            $facetstr = "";
            if ($facet != "") {
                $facetnick = explode(":", $facet);
                $facetcodestr = "";
                for ($i = 0; $i < count($facetnick); $i++) {
                    $code = LookupFindNick($findmap, $facetnick[$i]);
                    if ($code != "" && $code != "BLANK") {
                        $facetcodestr = $facetcodestr . $code . ":";
                    }
                }
                $facetstr = "&facet=1&maxfacet=10&rsum=" . $facetcodestr . "&facetinitial=" . $facetcodestr;
            }
            $findurl = ReadFindURL();
            $url = $findurl . "/!/search?query=" . urlencode($searchstr) . " and" . $access_str . $displaystr . "&collection=" . $collstr . "&suggest=1" . $facetstr . "&rankboost=&proximity=strict&priority=normal&unanchoredphrases=1&maxres=" . $maxrecs . "&firstres=" . $fstart . "&rform=/!/null.htm";
            print "<!-- {$url} //-->\n";
            $result = file_get_contents($url);
            $result = str_replace("&lt;", "<", $result);
            $istart = 0;
            $n = 0;
            $rc = GetField("count", $result, $buf, 0);
            if ($rc < -1) {
                $total = 0;
            } else {
                $total = $buf + 0;
            }
            while ($istart >= 0) {
                $istart = GetField("ITEM", $result, $buf, $istart);
                if ($istart >= 0) {
                    $rc = GetField("DB", $buf, $db, 0);
                    $rc = GetField("KEY", $buf, $ptr, 0);
                    if ($db != "" && $ptr != "") {
                        $record[$n]["collection"] = rtrim($db, "/ ");
                        $record[$n]["pointer"] = $ptr;
                        $record[$n]["filetype"] = "jpg";
                        /* hardcoded */
                        $record[$n]["parentobject"] = GetParent($record[$n]["collection"], $record[$n]["pointer"], $pathmap[$record[$n]["collection"]]);
                        $n++;
                        if ($n == $maxrecs) {
                            break;
                        }
                    }
                }
            }
            /* spelling suggestion */
            if ($total == 0 && $suggest == 1) {
                if (!strstr($searchstr, " not ") && !strstr($searchstr, ":not ")) {
                    $url = $findurl . "/!/search?query=" . urlencode($searchstr) . $displaystr . "&collection=" . $collstr . "&suggest=1" . $facetstr . "&rankboost=&proximity=strict&priority=normal&unanchoredphrases=0&maxres=" . $maxrecs . "&firstres=" . $fstart . "&rform=/!/null.htm";
                    $result = file_get_contents($url);
                    $rc = GetField("alternate", $result, $temp, 0);
                    if ($rc < -1) {
                        $temp = "";
                    }
                    $suggest = trim($temp);
                    if ($suggest != "") {
                        if (substr($suggest, 2, 1) == ":") {
                            $suggest = substr($suggest, 3);
                        }
                        $p = strpos($suggest, ":", 0);
                        if ($p) {
                            if ($p > 1) {
                                $suggest = trim(substr($suggest, 0, $p - 2));
                            }
                        }
                    }
                } else {
                    $suggest = "";
                }
            }
            /* facets */
            if ($facet != "") {
                $istart = 0;
                $facet = "<facet>\n";
                $k = 0;
                $facetmap = array();
                while ($istart >= 0) {
                    $istart = GetField("FacetItem", $result, $buf, $istart);
                    if ($istart >= 0) {
                        $rc = GetField("label", $buf, $facetlabel, 0);
                        $rc = GetField("name", $buf, $facetname, 0);
                        $rc = GetField("count", $buf, $facetcount, 0);
                        if ($facetlabel != "" && $facetname != "" && $facetcount != "") {
                            $code = substr(trim($facetlabel), 0, 2);
                            $label = "";
                            for ($j = 0; $j < count($findmap); $j++) {
                                if ($code == $findmap[$j]["findnick"]) {
                                    $label = $findmap[$j]["cdmnick"];
                                    break;
                                }
                            }
                            $facetmap[$k]["label"] = $label;
                            $facetmap[$k]["name"] = $facetname;
                            $facetmap[$k]["count"] = (int) $facetcount;
                            $k++;
                        }
                    }
                }
                for ($i = 0; $i < $k - 1; $i++) {
                    for ($j = $i + 1; $j < $k; $j++) {
                        if ($facetmap[$i]["label"] == $facetmap[$j]["label"] && $facetmap[$i]["name"] == $facetmap[$j]["name"]) {
                            $facetmap[$i]["count"] = $facetmap[$i]["count"] + $facetmap[$j]["count"];
                            $facetmap[$j]["count"] = 0;
                        }
                    }
                }
                for ($i = 0; $i < $k - 1; $i++) {
                    for ($j = $i + 1; $j < $k; $j++) {
                        if ($facetmap[$i]["count"] < $facetmap[$j]["count"]) {
                            $label = $facetmap[$i]["label"];
                            $facetname = $facetmap[$i]["name"];
                            $facetcount = $facetmap[$i]["count"];
                            $facetmap[$i]["label"] = $facetmap[$j]["label"];
                            $facetmap[$i]["name"] = $facetmap[$j]["name"];
                            $facetmap[$i]["count"] = $facetmap[$j]["count"];
                            $facetmap[$j]["label"] = $label;
                            $facetmap[$j]["name"] = $facetname;
                            $facetmap[$j]["count"] = $facetcount;
                        }
                    }
                }
                for ($j = 0; $j < $k; $j++) {
                    if ($facetmap[$j]["count"] > 0) {
                        $facet = $facet . "  <label>" . $facetmap[$j]["label"] . "</label><name>" . $facetmap[$j]["name"] . "</name><count>" . $facetmap[$j]["count"] . "</count>\n";
                    }
                }
                $facet = $facet . "</facet>\n";
            }
        }
    }
    /* Check if there are any metadata fields to return */
    if (count($field) > 0) {
        for ($i = 0; $i < count($record); $i++) {
            dmGetItemInfo($record[$i]["collection"], $record[$i]["pointer"], $data);
            if (!($parser = xml_parser_create())) {
                print "Error creating XML parser<br>";
                exit;
            }
            xml_parse_into_struct($parser, $data, $structure, $index);
            xml_parser_free($parser);
            for ($j = 0; $j < count($field); $j++) {
                $tag = strtoupper($field[$j]);
                if (array_key_exists($tag, $index)) {
                    if (array_key_exists("value", $structure[$index[$tag][0]])) {
                        $record[$i][$field[$j]] = $structure[$index[$tag][0]]["value"];
                    } else {
                        $record[$i][$field[$j]] = "";
                    }
                } else {
                    $record[$i][$field[$j]] = "";
                }
            }
            /* Get the file extension for Find */
            if (array_key_exists("FIND", $index)) {
                if (array_key_exists("value", $structure[$index["FIND"][0]])) {
                    $temp = $structure[$index["FIND"][0]]["value"];
                    $record[$i]["filetype"] = GetFileExt($temp);
                }
            }
        }
    }
    return $record;
}