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; }
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}"); }