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/>";
     }
 }
Exemple #3
0
// 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";