--- ejournal.module 2009-07-23 16:16:47.000000000 -0300 +++ ejournal.module 2010-06-01 14:46:39.000000000 -0300 @@ -2203,7 +2203,7 @@ } //new issue is created else { db_query("INSERT INTO {ejournal_issues} (jid, year, volume, number, custom_identification, cover_page_nid, date_published, status, issue_order, description) VALUES ('%d', '%s', '%s', '%s', '%s', '%s', '%d', '%d', '%d', '%s')", $edit['jid'], $edit['year'], $edit['volume'], $edit['number'], $edit['custom_identification'], $edit['cover_page_nid'], $timestamp, $edit['status'], $edit['issue_order'], $edit['description']); - $edit['iid'] = db_last_insert_id('ejournal_journals', 'iid'); + $edit['iid'] = db_last_insert_id('ejournal_issues', 'iid'); } // now grant access to all articles that are in this issue @@ -2261,7 +2261,7 @@ $restriction = ' AND n.status=1 '; } - $articles = db_query(db_rewrite_sql("SELECT DISTINCT n.nid, n.type, n.title, n.changed, n.status, n.moderate, t.tid, td.name, ea.iid, ea.weight AS article_weight, ea.proofreader_mark AS p_status FROM {node} n INNER JOIN {ejournal_articles} ea ON n.nid = ea.nid LEFT JOIN {term_node} t ON n.nid=t.nid LEFT JOIN {term_data} td ON t.tid=td.tid WHERE ea.iid='" . $iid . "' AND ea.jid='" . $journal->jid . "' $vids $restriction ORDER BY ea.weight $order, td.weight $order, td.name $order, n.title $order")); + $articles = db_query(db_rewrite_sql("SELECT DISTINCT n.nid, n.type, n.title, n.changed, n.status, n.moderate, t.tid, td.name, td.weight, ea.iid, ea.weight AS article_weight, ea.proofreader_mark AS p_status FROM {node} n INNER JOIN {ejournal_articles} ea ON n.nid = ea.nid LEFT JOIN {term_node} t ON n.nid=t.nid LEFT JOIN {term_data} td ON t.tid=td.tid WHERE ea.iid='" . $iid . "' AND ea.jid='" . $journal->jid . "' $vids $restriction ORDER BY ea.weight $order, td.weight $order, td.name $order, n.title $order")); $unique = array (); while ($a = db_fetch_object($articles)) { @@ -2501,13 +2501,16 @@ function ejournal_article_from_journal($node) { static $ejnodes = array (); - + if (array_key_exists($node->nid, $ejnodes)) { return $ejnodes[$node->nid]; } - + // user may have changed journal-node_type relation after some nodes were already created - $jid = db_result(db_query("SELECT jid FROM {ejournal_articles} WHERE nid='%s'", $node->nid)); + if ($node->nid) { + $jid = db_result(db_query("SELECT jid FROM {ejournal_articles} WHERE nid='%s'", $node->nid)); + } + if ($jid) { $ejnodes[$node->nid] = $jid; return $jid;