Example #1
0
function saveLend($option, $bids, $task = "")
{
    global $database;
    $checkh = mosGetParam($_POST, 'checkbook');
    if ($checkh != "on") {
        echo "<script> alert('Select an item to lend'); window.history.go(-1);</script>\n";
        exit;
    }
    $data = JFactory::getDBO();
    $bookid = mosGetParam($_POST, 'bookid');
    $id = mosGetParam($_POST, 'id');
    $query = "SELECT * FROM #__booklibrary_lend where fk_bookid= " . $id . " AND lend_return is NULL ";
    $data->setQuery($query);
    $lendTerm = $data->loadObjectList();
    if (!is_array($bids) || count($bids) < 1) {
        echo "<script> alert('Select an item to lend'); window.history.go(-1);</script>\n";
        exit;
    }
    $lend = new mosBookLibrary_lend($database);
    if ($task == "edit_lend") {
        $lend->load($bids[0]);
    }
    $lend_from = mosGetParam($_POST, 'lend_from');
    $lend_until = mosGetParam($_POST, 'lend_until');
    if ($lend_from > $lend_until) {
        echo "<script> alert('" . $lend_from . " more then " . $lend_until . "'); window.history.go(-1); </script>\n";
        exit;
    }
    $lend_from = substr($lend_from, 0, 10);
    $lend_until = substr($lend_until, 0, 10);
    if (isset($lendTerm[0])) {
        for ($e = 0, $m = count($lendTerm); $e < $m; $e++) {
            if ($task == "edit_lend" && $bids[0] == $lendTerm[$e]->id) {
                continue;
            }
            $lendTerm[$e]->lend_from = substr($lendTerm[$e]->lend_from, 0, 10);
            $lendTerm[$e]->lend_until = substr($lendTerm[$e]->lend_until, 0, 10);
            //lend check
            if ($lend_from >= $lendTerm[$e]->lend_from && $lend_from <= $lendTerm[$e]->lend_until || $lend_from <= $lendTerm[$e]->lend_from && $lend_until >= $lendTerm[$e]->lend_until || $lend_until >= $lendTerm[$e]->lend_from && $lend_until <= $lendTerm[$e]->lend_until) {
                echo "<script> alert('Sorry , this object already lend out from " . $lendTerm[$e]->lend_from . " to " . $lendTerm[$e]->lend_until . "'); window.history.go(-1); </script>\n";
                exit;
            }
        }
    }
    if (mosGetParam($_POST, 'lend_from') != "") {
        $lend->lend_from = mosGetParam($_POST, 'lend_from');
    } else {
        $lend->lend_from = null;
    }
    if (mosGetParam($_POST, 'lend_until') != "") {
        $lend->lend_until = mosGetParam($_POST, 'lend_until');
    } else {
        $lend->lend_until = null;
    }
    $lend->fk_bookid = $id;
    $userid = mosGetParam($_POST, 'userid');
    if ($userid == "-1") {
        $lend->user_name = mosGetParam($_POST, 'user_name', '');
        $lend->user_email = mosGetParam($_POST, 'user_email', '');
    } else {
        $lend->getLendTo(intval($userid));
    }
    // added lendee code - 20150819 - Ralph deGennaro
    $lend->lendeecode = mosGetParam($_POST, 'lendeecode', '');
    if (!$lend->check($lend)) {
        echo "<script> alert('" . $lend->getError() . "'); window.history.go(-1); </script>\n";
        exit;
    }
    if (!$lend->store()) {
        echo "<script> alert('" . $lend->getError() . "'); window.history.go(-1); </script>\n";
        exit;
    }
    $lend->checkin();
    $book = new mosBookLibrary($database);
    $book->load($id);
    $book->fk_lendid = $lend->id;
    $book->store();
    $book->checkin();
    mosRedirect("index.php?option={$option}");
}
 static function importBooksXML($files_name_pars, $catid)
 {
     $files_name_pars = file($files_name_pars);
     $files_name_pars = implode('', $files_name_pars);
     //echo $files_name_pars;
     global $database;
     $retVal = array();
     $new_categories = array();
     $k = 0;
     $dom = new domDocument('1.0', 'utf-8');
     $dom->loadXML($files_name_pars);
     $version = $dom->getElementsByTagName('version');
     if ($version->item(0) != NULL) {
         $numversion = explode(' ', $version->item(0)->nodeValue);
         if (intval($numversion[0]) >= 2) {
             $categories_xml = $dom->getElementsByTagName('category');
             if ($categories_xml->item(0) != NULL) {
                 //�µÑ��»�¸ �² XML �µÑ�Ñ‚ÑŒ Ñ��¿�¸Ñ��¾�º �º�°Ñ‚�µÑ€�¾�³�¸�¹ �´�»Ñ� �¸�¼�¿�¾Ñ€Ñ‚�°
                 mosBooklibraryImportExport::remove_info();
                 //ч�¸Ñ�Ñ‚�¸�¼ �±�°�·Ñƒ �´�°�½�½Ñ‹Ñ…
                 if ($catid === null) {
                     //�µÑ��»�¸ �º�°Ñ‚�µ�³�¾Ñ€�¸Ñ� �´�»Ñ� �¸�¼�¿�¾Ñ€Ñ‚�° �½�µ �²Ñ‹�±Ñ€�°�½�°
                     for ($i = 0; $i < $categories_xml->length; $i++) {
                         $category = $categories_xml->item($i);
                         $new_category = new stdClass();
                         $new_category->old_id = mosBooklibraryImportExport::getXMLItemValue($category, 'id');
                         $new_category->old_parent_id = mosBooklibraryImportExport::getXMLItemValue($category, 'parent_id');
                         $new_category->name = mosBooklibraryImportExport::getXMLItemValue($category, 'name');
                         $new_category->title = mosBooklibraryImportExport::getXMLItemValue($category, 'title');
                         $new_category->alias = mosBooklibraryImportExport::getXMLItemValue($category, 'alias');
                         $new_category->published = mosBooklibraryImportExport::getXMLItemValue($category, 'published');
                         $new_category->ordering = mosBooklibraryImportExport::getXMLItemValue($category, 'ordering');
                         $new_category->access = mosBooklibraryImportExport::getXMLItemValue($category, 'access');
                         $new_category->description = mosBooklibraryImportExport::getXMLItemValue($category, 'description');
                         $new_category->params = mosBooklibraryImportExport::getXMLItemValue($category, 'params');
                         $new_category->params2 = mosBooklibraryImportExport::getXMLItemValue($category, 'params2');
                         $new_category = mosBooklibraryImportExport::findCategory($new_categories, $new_category);
                     }
                 }
                 mosBooklibraryImportExport::refreshCategoryParentId($new_categories);
             }
             //end if exist categories
             //exit;
             $books_xml = $dom->getElementsByTagName('book');
             foreach ($books_xml as $i => $book_xml) {
                 //echo mosBooklibraryImportExport::getXMLItemValue($book_xml,'bookid');
                 $book = new mosBooklibrary($database);
                 //get BookID
                 $book->bookid = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'bookid');
                 //get ISBN
                 $book->isbn = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'isbn');
                 //get Title(book)
                 $book->title = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'title');
                 //get Authors
                 $book->authors = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'authors');
                 //get Manufacturer
                 $book->manufacturer = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'manufacturer');
                 //get releasedate
                 $book->release_Date = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'releaseDate');
                 //get language
                 $book->language = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'language');
                 $book->langshow = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'langshow');
                 if ($book->langshow == "") {
                     $book->langshow = "*";
                 }
                 //get hits
                 $book->hits = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'hits');
                 $book->user_name = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'user_name');
                 //get featured_clicks
                 $book->featured_clicks = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'featured_clicks');
                 //get featured_shows
                 $book->featured_shows = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'featured_shows');
                 //get rating
                 $book->rating = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'rating');
                 //get price
                 $book->price = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'price');
                 //get priceunit
                 $book->priceunit = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'priceunit');
                 //get URL
                 $book->URL = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'url');
                 //get imageURL
                 $book->imageURL = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'imageURL');
                 //get edition
                 $book->edition = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'edition');
                 //get ebookURL
                 $book->ebookURL = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'ebookURL');
                 //get informationFrom
                 $book->informationFrom = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'informationFrom');
                 //get date
                 $book->date = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'date');
                 //get published
                 $book->published = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'published');
                 //get comment
                 $book->comment = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'comment');
                 //get numberOfPages
                 $book->numberOfPages = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'numberOfPages');
                 $book->comment = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'comment');
                 //get email owner book
                 $book->owneremail = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'owneremail');
                 //get email owner book
                 $book->owner_id = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'owner_id');
                 //get email owner book
                 $book->vm_id_product = mosBooklibraryImportExport::getXMLItemValue($book_xml, 'vm_id_product');
                 //get Categorie
                 if ($catid != "0" && $catid != "") {
                     //�µÑ��»�¸ �²Ñ‹�±Ñ€�°�½ �¸�¼�¿�¾Ñ€Ñ‚ �² �º�°Ñ‚�µ�³�¾Ñ€�¸ÑŽ
                     $book->categs = array($catid);
                 } else {
                     $categ = $book_xml->getElementsByTagName('categ');
                     //var_dump($categ);
                     $arrcatid = array();
                     foreach ($categ as $cattemp) {
                         //Ñ��¿�¸Ñ��¾�º �º�°Ñ‚�µ�³�¾Ñ€�¸�¹ �º�½�¸�³ �¸�· XML
                         $category_book_old_id = $cattemp->nodeValue;
                         //n-�°Ñ� �º�°Ñ‚�µ�³�¾Ñ€�¸Ñ� �º�½�¸�³�¸ �¸�· XML
                         foreach ($new_categories as $new_category) {
                             //�¸Ñ‰�µ�¼ �² Ñ��¿�¸Ñ��º�µ Ñ��¾�·�´�°�½�½Ñ‹Ñ… �º�°Ñ‚�µ�³�¾Ñ€�¸�¹
                             if ($new_category->old_id == $category_book_old_id) {
                                 $arrcatid[] = $new_category->id;
                             }
                         }
                     }
                     $book->categs = $arrcatid;
                 }
                 $tmp[] = $i;
                 $tmp[] = $book->bookid;
                 $tmp[] = $book->isbn;
                 $tmp[] = $book->title;
                 $tmp[] = $book->authors;
                 $tmp[] = $book->manufacturer;
                 if (!$book->check()) {
                     $tmp[] = $book->getError();
                     $retVal[$i] = $tmp;
                     unset($tmp);
                     continue;
                 }
                 if (!$book->store()) {
                     $tmp[] = $book->getError();
                     $retVal[$i] = $tmp;
                     unset($tmp);
                     continue;
                 } else {
                     $book->saveCategs();
                     $tmp[] = "OK";
                     //save categ
                     //get Reviews
                     if (mosBooklibraryImportExport::getXMLItemValue($book_xml, 'reviews') != "") {
                         $review_list = $book_xml->getElementsByTagName('review');
                         for ($j = 0; $j < $review_list->length; $j++) {
                             $review = $review_list->item($j);
                             //get for review - fk_bookid == #__booklibrary.id
                             /*                  $database->setQuery("SELECT id FROM #__booklibrary  ".
                                                 "\n WHERE isbn = '".$book->isbn."';");
                                                 $fk_bookid = $database->loadResult();*/
                             $fk_bookid = $book->id;
                             //get for review - fk_userid
                             $review_fk_userid = mosBooklibraryImportExport::getXMLItemValue($review, 'fk_userid');
                             //check - exist this user or not - if don't exist set he as anonymous
                             $database->setQuery("SELECT id FROM #__users " . "\n WHERE id = " . $review_fk_userid . ";");
                             $review_fk_userid = $database->loadResult();
                             if (count($review_fk_userid) == 0) {
                                 $review_fk_userid = 0;
                             }
                             //get for review - date
                             $review_date = mosBooklibraryImportExport::getXMLItemValue($review, 'date');
                             //get for review - rating
                             $review_rating = mosBooklibraryImportExport::getXMLItemValue($review, 'rating');
                             //get for review - title
                             $review_title = mosBooklibraryImportExport::getXMLItemValue($review, 'title');
                             //get for review - comment
                             $review_comment = mosBooklibraryImportExport::getXMLItemValue($review, 'comment');
                             //insert data in table #__booklibrary_review
                             if (version_compare(JVERSION, "3.3.0", "ge")) {
                                 $database->setQuery("INSERT INTO #__booklibrary_review" . "\n (fk_bookid, fk_userid, date, rating, title, comment)" . "\n VALUES " . "\n (" . $database->Quote($fk_bookid) . ",\n                                                    " . $database->Quote($review_fk_userid) . ",\n                                                    " . $database->Quote($review_date) . ",\n                                                    " . $database->Quote($review_rating) . ",\n                                                    " . $database->Quote($review_title) . ",\n                                                    " . $database->Quote($review_comment) . ");");
                             } else {
                                 $database->setQuery("INSERT INTO #__booklibrary_review" . "\n (fk_bookid, fk_userid, date, rating, title, comment)" . "\n VALUES " . "\n (" . $fk_bookid . ",\n                                                        " . $review_fk_userid . ",\n                                                        '" . $review_date . "',\n                                                        " . $review_rating . ",\n                                                        '" . $review_title . "',\n                                                        '" . $review_comment . "');");
                             }
                             $database->query();
                         }
                         //end for(...) - REVIEW
                     }
                     //end if(...) - REVIEW
                     //***********************************************efiles **************************************************
                     if (mosBooklibraryImportExport::getXMLItemValue($book_xml, 'ebook') != "") {
                         $ebook_list = $book_xml->getElementsByTagName('ebook');
                         for ($j = 0; $j < $ebook_list->length; $j++) {
                             $efile = $ebook_list->item($j);
                             $fk_bookid = $book->id;
                             $efileLoc = mosBooklibraryImportExport::getXMLItemValue($efile, 'location');
                             $efileDesc = mosBooklibraryImportExport::getXMLItemValue($efile, 'description');
                             //insert data in table #__booklibrary_files
                             $database->setQuery("INSERT INTO #__booklibrary_files" . "\n (fk_book_id, location, description)" . "\n VALUES " . "\n (" . $fk_bookid . ",\n                                                    '" . $efileLoc . "',\n                                                    '" . $efileDesc . "');");
                             $database->query();
                         }
                         //end for(...) - EFILES
                     }
                     //end if(...) - EFILES
                     //************************************************end efiles***********************************************
                     $book->checkin();
                     //$book->updateOrder( "catid='$book->catid'" );
                     $retVal[$i] = $tmp;
                 }
                 //echo $i,':';var_dump($tmp); echo '<br/>';
                 unset($tmp);
                 continue;
             }
             //end foreach books */
         }
         // end if version >2.0
     } else {
         // ----- OLD VERSION------
         //exit;
         $st = $bookid = "";
         $begin = $end = $kol = 0;
         $book_list = $dom->getElementsByTagName('book');
         for ($i = 0; $i < $book_list->length; $i++) {
             $book_class = new mosBookLibrary($database);
             $book = $book_list->item($i);
             //            echo $book_item->hasChildNodes() . "<br />";
             //get BookID
             $book_id = $book_class->bookid = 1 + $book_class->getMaxBookid();
             //mosBooklibraryImportExport::getXMLItemValue($book,'bookid');
             //get ISBN
             $book_isbn = $book_class->isbn = mosBooklibraryImportExport::getXMLItemValue($book, 'isbn');
             //get Title(book)
             $book_title = $book_class->title = mosBooklibraryImportExport::getXMLItemValue($book, 'title');
             //get Authors
             $book_authors = $book_class->authors = mosBooklibraryImportExport::getXMLItemValue($book, 'authors');
             //get Manufacturer
             $book_manufacturer = $book_class->manufacturer = mosBooklibraryImportExport::getXMLItemValue($book, 'manufacturer');
             //get releasedate
             $book_class->release_Date = mosBooklibraryImportExport::getXMLItemValue($book, 'releaseDate');
             //get hits
             $book_class->hits = mosBooklibraryImportExport::getXMLItemValue($book, 'hits');
             $book_class->user_name = mosBooklibraryImportExport::getXMLItemValue($book, 'user_name');
             //get rating
             $book_class->rating = mosBooklibraryImportExport::getXMLItemValue($book, 'rating');
             //get featured_clicks
             $book_class->featured_clicks = mosBooklibraryImportExport::getXMLItemValue($book, 'featured_clicks');
             //get featured_shows
             $book_class->featured_shows = mosBooklibraryImportExport::getXMLItemValue($book, 'featured_shows');
             //get price
             $book_class->price = mosBooklibraryImportExport::getXMLItemValue($book, 'price');
             if (substr($book_class->price, 0, 1) == "\$") {
                 $book_class->price = substr($book_class->price, 1);
                 $book_class->priceunit = 'USD';
             }
             //get URL
             $book_class->URL = mosBooklibraryImportExport::getXMLItemValue($book, 'url');
             //get imageURL
             $book_class->imageURL = mosBooklibraryImportExport::getXMLItemValue($book, 'imageURL');
             //get edition
             $book_class->edition = mosBooklibraryImportExport::getXMLItemValue($book, 'edition');
             //get ebookURL
             $book_class->ebookURL = mosBooklibraryImportExport::getXMLItemValue($book, 'ebookURL');
             //get informationFrom
             $book_class->informationFrom = mosBooklibraryImportExport::getXMLItemValue($book, 'informationFrom');
             //get date
             $book_class->date = mosBooklibraryImportExport::getXMLItemValue($book, 'date');
             //get comment
             $book_class->comment = mosBooklibraryImportExport::getXMLItemValue($book, 'comment');
             //get Categorie
             $book_class->categs = array($catid);
             //get Language
             $book_class->language = mosBooklibraryImportExport::getXMLItemValue($book, 'language');
             $book_class->langshow = mosBooklibraryImportExport::getXMLItemValue($book, 'langshow');
             if ($book_class->langshow == "") {
                 $book_class->langshow = "*";
             }
             //get Comment for book (item Book Description)
             $book_class->comment = mosBooklibraryImportExport::getXMLItemValue($book, 'comment');
             //get vm_id_product
             $book_class->vm_id_product = mosBooklibraryImportExport::getXMLItemValue($book, 'vm_id_product');
             //for output rezult in table
             $tmp[0] = $i;
             $tmp[1] = $book_id;
             $tmp[2] = $book_isbn;
             $tmp[3] = $book_title;
             $tmp[4] = $book_authors;
             $tmp[5] = $book_manufacturer;
             if (!$book_class->check()) {
                 $tmp[6] = $book_class->getError();
                 $retVal[$i] = $tmp;
                 continue;
             }
             if (!$book_class->store()) {
                 $tmp[6] = $book_class->getError();
                 $retVal[$i] = $tmp;
                 continue;
             } else {
                 $tmp[6] = "OK";
                 $book_class->saveCategs();
             }
             //***********************************************efiles **************************************************
             if (mosBooklibraryImportExport::getXMLItemValue($book_xml, 'ebook') != "") {
                 $ebook_list = $book_xml->getElementsByTagName('ebook');
                 for ($j = 0; $j < $ebook_list->length; $j++) {
                     $efile = $ebook_list->item($j);
                     $fk_bookid = $book->id;
                     $efileLoc = mosBooklibraryImportExport::getXMLItemValue($efile, 'location');
                     $efileDesc = mosBooklibraryImportExport::getXMLItemValue($efile, 'description');
                     //insert data in table #__booklibrary_files
                     $database->setQuery("INSERT INTO #__booklibrary_files" . "\n (fk_book_id, location, description)" . "\n VALUES " . "\n (" . $fk_bookid . ",\n                                                    '" . $efileLoc . "',\n                                                    '" . $efileDesc . "');");
                     $database->query();
                 }
                 //end for(...) - EFILES
             }
             //end if(...) - EFILES
             //************************************************end efiles***********************************************
             $book_class->checkin();
             //$book_class->updateOrder( "catid='$book_class->catid'" );
             $retVal[$i] = $tmp;
             //get Reviews
             if ($tmp[6] == "OK" && mosBooklibraryImportExport::getXMLItemValue($book, 'reviews') != "") {
                 $review_list = $book->getElementsByTagname('review');
                 for ($j = 0; $j < $review_list->length; $j++) {
                     $review = $review_list->item($j);
                     //get for review - fk_bookid == #__booklibrary.id
                     /*            $database->setQuery("SELECT id FROM #__booklibrary  ".
                                   "\n WHERE isbn = '".$book_isbn."';");
                                   $fk_bookid = $database->loadResult();*/
                     $fk_bookid = $book_class->id;
                     //get for review - fk_userid
                     $review_fk_userid = mosBooklibraryImportExport::getXMLItemValue($review, 'fk_userid');
                     //check - exist this user or not - if don't exist set he as anonymous
                     $database->setQuery("SELECT id FROM #__users " . "\n WHERE id = " . $review_fk_userid . ";");
                     $review_fk_userid = $database->loadResult();
                     if (count($review_fk_userid) == 0) {
                         $review_fk_userid = 0;
                     }
                     //get for review - date
                     $review_date = mosBooklibraryImportExport::getXMLItemValue($review, 'date');
                     //get for review - rating
                     $review_rating = mosBooklibraryImportExport::getXMLItemValue($review, 'rating');
                     //get for review - title
                     $review_title = mosBooklibraryImportExport::getXMLItemValue($review, 'title');
                     //get for review - comment
                     $review_comment = mosBooklibraryImportExport::getXMLItemValue($review, 'comment');
                     //insert data in table #__booklibrary_review
                     if (version_compare(JVERSION, "3.3.0", "ge")) {
                         $database->setQuery("INSERT INTO #__booklibrary_review" . "\n (fk_bookid, fk_userid, date, rating, title, comment)" . "\n VALUES " . "\n (" . $database->Quote($fk_bookid) . ",\n                                                    " . $database->Quote($review_fk_userid) . ",\n                                                    " . $database->Quote($review_date) . ",\n                                                    " . $database->Quote($review_rating) . ",\n                                                    " . $database->Quote($review_title) . ",\n                                                    " . $database->Quote($review_comment) . ");");
                     } else {
                         $database->setQuery("INSERT INTO #__booklibrary_review" . "\n (fk_bookid, fk_userid, date, rating, title, comment)" . "\n VALUES " . "\n (" . $fk_bookid . ",\n                                                        " . $review_fk_userid . ",\n                                                        '" . $review_date . "',\n                                                        " . $review_rating . ",\n                                                        '" . $review_title . "',\n                                                        '" . $review_comment . "');");
                     }
                     $database->query();
                 }
                 //end for(...) - REVIEW
             }
         }
         //end for(...) - BOOK
     }
     //var_dump($retVal);    exit;
     return $retVal;
 }
Example #3
0
 static function showItemBL($id, $catid, $printItem)
 {
     global $mainframe, $database, $my, $acl, $option;
     global $mosConfig_shownoauth, $mosConfig_live_site, $mosConfig_absolute_path;
     global $cur_template, $Itemid, $booklibrary_configuration;
     //print_r($printItem);exit;
     //for 1.6
     $mosConfig_live_site = JURI::root(true);
     $doc = JFactory::getDocument();
     $doc->addStyleSheet($mosConfig_live_site . '/components/com_booklibrary/includes/custom.css');
     $path_way = $mainframe->getPathway();
     // variant 2
     // --
     PHP_booklibrary::addTitleAndMetaTags();
     if (!empty($catid)) {
         $query = "SELECT * FROM #__booklibrary_main_categories WHERE id='{$catid}'";
         $database->setQuery($query);
         $category = $database->loadObjectList();
         $category = $category[0];
         PHP_booklibrary::constructPathway($category);
         $path_way->addItem($category->title, sefRelToAbs('index.php?option=' . $option . '&task=showCategory&catid=' . $catid . '&Itemid=' . $Itemid));
         // for 1.6
     }
     //Record the hit
     $sql2 = "UPDATE #__booklibrary SET featured_clicks = featured_clicks - 1 WHERE featured_clicks > 0 and id = " . $id . "";
     $database->setQuery($sql2);
     $database->query();
     $sql = "UPDATE #__booklibrary SET hits = hits + 1 WHERE id = " . $id . "";
     $database->setQuery($sql);
     $database->query();
     $sql3 = "UPDATE #__booklibrary SET featured_shows = featured_shows - 1 WHERE featured_shows > 0";
     $database->setQuery($sql3);
     $database->query();
     //load the book
     $book = new mosBookLibrary($database);
     $book->load($id);
     //check access to book
     $access = $book->getAccessBook();
     //print_r($access);exit;
     if (!isset($my->id)) {
         //for 1.6
         $my->id = 0;
     }
     $query = "SELECT * FROM #__booklibrary_main_categories WHERE id='{$catid}'";
     $database->setQuery($query);
     $category = $database->loadObjectList();
     if (isset($category[0])) {
         $category = $category[0];
     } else {
         echo _BOOKLIBRARY_ERROR_ACCESS_PAGE;
         return;
     }
     $path_way->addItem($book->title, '  ');
     // for 1.6
     //end check access to book
     $session = JFactory::getSession();
     $session->get("obj_book", $book);
     // Parameters
     //      $menu = new mosMenu( $database );
     //      //$menu = new JTableMenu( $database ); // for 1.6
     //
     //      $menu->load( $Itemid );
     //      $params = new mosParameters( $menu->params );
     if (version_compare(JVERSION, '3.0', 'ge')) {
         $menu = new JTableMenu($database);
         $menu->load($Itemid);
         $params = new JRegistry();
         $params->loadString($menu->params);
     } else {
         $menu = new mosMenu($database);
         $menu->load($GLOBALS['Itemid']);
         $params = new mosParameters($menu->params);
     }
     $menu_name = set_header_name_bl($menu, $Itemid);
     $params->def('header', $menu_name);
     //for 1.6
     $params->def('pageclass_sfx', '');
     if (!isset($my->id)) {
         //for 1.6
         $my->id = 0;
     }
     if ($GLOBALS['lendstatus_show']) {
         $params->def('show_lendstatus', 1);
         if (checkAccessBL($GLOBALS['lendrequest_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_lendrequest', 1);
         }
     }
     if ($GLOBALS['reviews_show']) {
         $params->def('show_reviews', 1);
         if (checkAccessBL($GLOBALS['reviews_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_inputreviews', 1);
         }
     }
     if ($GLOBALS['ebooks_show']) {
         $params->def('show_ebookstatus', 1);
         if (checkAccessBL($GLOBALS['ebooks_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_ebooksrequest', 1);
         }
     }
     if ($GLOBALS['price_show']) {
         $params->def('show_pricestatus', 1);
         if (checkAccessBL($GLOBALS['price_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_pricerequest', 1);
         }
     }
     //------------------------------------- begin add for  Manager : buttons    ******************************
     if ($GLOBALS['print_pdf_show']) {
         $params->def('show_print_pdf', 1);
         if (checkAccessBL($GLOBALS['print_pdf_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_input_print_pdf', 1);
         }
     }
     if ($GLOBALS['print_view_show']) {
         $params->def('show_print_view', 1);
         if (checkAccessBL($GLOBALS['print_view_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_input_print_view', 1);
         }
     }
     if ($GLOBALS['mail_to_show']) {
         $params->def('show_mail_to', 1);
         if (checkAccessBL($GLOBALS['mail_to_registrationlevel'], 'RECURSE', userGID_BL($my->id), $acl)) {
             $params->def('show_input_mail_to', 1);
         }
     }
     //------------------------------------------   end add for  Manager : buttons     ******************************
     //************   begin add button 'buy now'   ***************************
     if ($GLOBALS['buy_now_show']) {
         $params->def('show_buy_now', 1);
         $s = explode(',', $GLOBALS['buy_now_allow_categories']);
         foreach ($s as $i) {
             if ($i == $catid || $i == -2) {
                 $params->def('show_input_buy_now', 1);
                 break;
             }
         }
     }
     //************   end add button 'buy now'   ********************************
     //************   begin add button 'buy now vm'   ***************************
     //************   end add button 'buy now vm'   ********************************
     $params->def('pageclass_sfx', '');
     $params->def('item_description', 1);
     $params->def('lend_request', $GLOBALS['lendrequest_registrationlevel']);
     $params->def('show_ebook', $GLOBALS['ebooks_show']);
     $params->def('show_price', $GLOBALS['price_show']);
     $params->def('back_button', $mainframe->getCfg('back_button'));
     // page header
     $currentcat = new stdClass();
     $currentcat->header = '';
     if (@$currentcat->name != '') {
         $currentcat->header = $currentcat->name;
     } else {
         $currentcat->header = $params->get('header');
     }
     $currentcat->header = $currentcat->header . ($currentcat->header != '' ? ": " : '') . $book->title;
     //get language List
     $retVal1 = mosBooklibraryOthers::getLanguageArray();
     $book_lang = null;
     for ($i = 0, $n = count($retVal1); $i < $n; $i++) {
         $help = $retVal1[$i];
         if ($book->language == $help[0]) {
             $book_lang = $help[1];
             break;
         }
     }
     if ($book->rating == 0) {
         $database->setQuery("SELECT ROUND(avg(rating) ) FROM #__booklibrary_review WHERE fk_bookid = " . $book->id . " group by  fk_bookid  ");
         $book->rating = $database->loadResult();
         if ($book->rating == null) {
             $book->rating = 0;
         }
     }
     $database->setQuery("SELECT username FROM #__users WHERE email='{$book->owneremail}'");
     $book->ownername = $database->loadResult();
     // show the book
     // for 1.6
     // get a category list which the book is connected to
     $s = getWhereUsergroupsString("mc");
     // get user acces level
     $query_c = "SELECT * FROM #__booklibrary_categories AS bc\n                LEFT JOIN  #__booklibrary_main_categories  AS mc\n                ON bc.catid=mc.id AND ({$s})\n                WHERE bc.bookid=" . $book->id;
     $database->setQuery($query_c);
     $categories = $database->loadObjectList();
     // --
     //----------------------------------------------------------------
     $params->def('view01', "{loadposition com_booklibrary_view_book_01}");
     $params->def('view02', "{loadposition com_booklibrary_view_book_02}");
     $params->def('view03', "{loadposition com_booklibrary_view_book_03}");
     $params->def('viewdescription', "{loadposition com_booklibrary_view_book_description}");
     $params->def('view04', "{loadposition com_booklibrary_view_book_04}");
     $params->def('view05', "{loadposition com_booklibrary_view_book_05}");
     $params->def('view06', "{loadposition com_booklibrary_view_book_06}");
     $params->def('view07', "{loadposition com_booklibrary_view_book_07}");
     //   if ($layout == ''){
     //       $params2 = unserialize($category->params2);
     //       $layout = $params2->view_book;
     //   }
     //   if ($layout == '')
     //       $layout = 'default';
     //   $params2 = unserialize($category->params2);
     //
     //   if($layout == null)
     //   {
     //     $layout = "default";
     //   }
     //   else
     //   {
     //     if($params2 == null)
     //     {
     //       $layout = "default";
     //     }
     //     else
     //     {
     //       $layout = $params2->view_book;
     //     }
     //   }
     $query = "SELECT * FROM #__booklibrary_main_categories WHERE id=" . $catid;
     $database->setQuery($query);
     $catid = $database->loadObjectList();
     //print_r($catid);exit;
     $params2 = unserialize($catid[0]->params2);
     //print_r($params2);exit;
     if (!$params2 == null) {
         //print_r($catid);
         //print_r($a);
         $layout = $params2->view_book;
         //print_r($layout);
         //exit;
     } else {
         $layout = "default";
     }
     //--------------------
     //get owner
     if ($book->owner_id != 0 && $booklibrary_configuration['owner']['show'] != '0') {
         $query = "SELECT name, email FROM #__users WHERE id = " . $book->owner_id . "";
         $database->setQuery($query);
         $user_b = $database->loadObject();
         $book->user_b = $user_b;
     }
     //--------------------
     //ebook urls
     $query = "select * " . " from  #__booklibrary_files AS s " . " where s.fk_book_id=" . $book->id . " ORDER BY s.id ";
     $database->setQuery($query);
     $row = $database->loadObjectList();
     //print_r($row);exit;
     $book->ebookURL = $row;
     switch ($printItem) {
         default:
             HTML_booklibrary::displayBook($book, $tabclass, $params, $currentcat, $categories, $ratinglist, $book_lang, $id, $catid, $layout);
             break;
     }
     //----------------------------------------------------------------------
 }