function insert($db, $title, $iso = "", $issn = "") { require_once "journal_definitions.php"; // Find existing journal $existing_journal = $this->find($db, $title, $iso, $issn); // If journal already exists in DB, return the id if ($existing_journal) { return $existing_journal["id"]; } // Insert journal $title_fixed = addslashes($title); if ($result = $db->query("INSERT INTO Journals (title, iso, issn) VALUES ('{$title_fixed}', '{$iso}', '{$issn}')")) { $journal_id = $db->connection->insert_id; include "config.php"; // Check if journal list is set in config if ($config["journal_list_run"] === true) { // Find definition $definitions = new Journal_definitions(); $journal_definition = $definitions->find($db, $title, $iso, $issn); // If definition was found insert a link back to the inserted journal ($journal_id) if ($journal_definition) { // Insert into couple table $db->query("INSERT INTO Journals_to_definitions (journal, definition) VALUES ('{$journal_id}', '{$journal_definition['id']}')"); } } return $journal_id; } return false; }
function __construct($config, $db) { require_once "models/journal_definitions.php"; $definitions_model = new Journal_definitions(); if ($config["journal_list_reinit"] || !$definitions_model->is_filled($db)) { echo "Reinitializing the journal list... "; $this->parse($config, $db); echo "done.<br/>"; } else { echo "Skipping journal list initialisation.<br/>"; } }
// but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. $time_start = microtime(true); require_once "config.php"; require_once "database.php"; $db = new Connector(); $db->connect($config); if (isset($_GET) && isset($_GET["reinit"]) && $_GET["reinit"] == "true") { // Reset database require_once "models/journal_definitions.php"; require_once "models/journals.php"; require_once "models/articles.php"; $definitions_model = new Journal_definitions(); $journal_model = new Journals(); $article_model = new Articles(); // Clear tables $definitions_model->clear($db); $journal_model->clear($db); $article_model->clear($db); } // Parsing the journal list csv file if ($config["journal_list_run"] === true) { require_once "parsers/parse_journal_list.php"; new Journal_list($config, $db); } // Parsing pubmed central XML if ($config["pubmed_central_run"] === true) { require_once "parsers/pubmed_central_xml.php";