function emit_core()
    {
        $ae =& $this->submitted;
        /*
                $actions = array();
                if($ae->expected_journo && $ae->article) {
           $actions[] = 'add_journo';
           $actions[] = 'replace_journo';
                }
        */
        $struck = false;
        if ($ae->status == 'resolved' || $ae->status == 'rejected') {
            $struck = true;
        }
        ?>

<?php 
        if ($struck) {
            ?>
<del>
<?php 
        }
        ?>
<small>submitted <?php 
        echo pretty_date(strtotime($ae->when_submitted));
        ?>
 
<?php 
        if (!is_null($ae->submitted_by)) {
            ?>
by <a href="/adm/useraccounts?person_id=<?php 
            echo $ae->submitted_by->id;
            ?>
"><?php 
            echo $ae->submitted_by->email;
            ?>
</a> (<?php 
            echo $ae->submitted_by->name;
            ?>
)
<?php 
        }
        ?>
</small>
<br/>

<a href="<?php 
        echo $ae->url;
        ?>
"><?php 
        echo $ae->url;
        ?>
</a><br/>
problem: <?php 
        echo $ae->status;
        ?>
<br/>


<?php 
        if (!is_null($ae->article)) {
            ?>
article in the database: <a href="<?php 
            echo article_adm_url($ae->article->id);
            ?>
"><?php 
            echo $ae->article->title;
            ?>
</a>
<a class="button edit" href="/adm/editarticle?id36=<?php 
            echo article_id_to_id36($ae->article->id);
            ?>
">edit</a><br/>
<?php 
            if (sizeof($ae->article->authors) > 0) {
                ?>
&nbsp;&nbsp;attributed to:
<?php 
                foreach ($ae->article->authors as $author) {
                    echo admJournoLink($author->ref);
                    ?>
&nbsp;
<?php 
                }
            }
            ?>
<br/>
&nbsp;&nbsp;raw byline: <?php 
            echo $ae->article->byline;
            ?>
<br/>
<?php 
        }
        ?>


<?php 
        if (!is_null($ae->expected_journo)) {
            ?>
expected journo: <a class="journo-info" href="/adm/<?php 
            echo $ae->expected_journo->ref;
            ?>
"><?php 
            echo $ae->expected_journo->ref;
            ?>
</a><br/>
<?php 
        }
        ?>


<?php 
        if (!is_null($this->scraper_output)) {
            ?>
<div>
raw scraper output:
<pre><code>
<?php 
            echo admMarkupPlainText($this->scraper_output);
            ?>
</code></pre>
</div>
<?php 
        }
        ?>

<?php 
        if ($struck) {
            ?>
</del>
<?php 
        }
        ?>

<?php 
        foreach ($this->allowed_actions() as $action) {
            echo $this->action_link($action);
        }
        ?>

<?php 
    }
Esempio n. 2
0
function emit_details($person_id)
{
    // general
    $p = db_getRow("SELECT * FROM person WHERE id=?", $person_id);
    $subscribed_to_newsletter = false;
    if (db_getOne("SELECT person_id FROM person_receives_newsletter WHERE person_id=?", $person_id)) {
        $subscribed_to_newsletter = true;
    }
    ?>
<h3>viewing user: '******'email'];
    ?>
'</h3>
[<a href="/adm/useraccounts?person_id=<?php 
    echo $person_id;
    ?>
&action=changeemail">Change email address</a>]<br/>
<br/>
id: <?php 
    echo $p['id'];
    ?>
<br/>
name: <?php 
    echo $p['name'] ? $p['name'] : "-blank-";
    ?>
<br/>
<?php 
    if ($p['password']) {
        ?>
Password is set <?php 
    } else {
        ?>
No password set<?php 
    }
    ?>
<br/>
Logged in <?php 
    echo $p['numlogins'];
    ?>
 times<br/>
<?php 
    // show newsletter subscription
    ?>
<h4>newsletter</h4>
status:
<?php 
    if ($subscribed_to_newsletter) {
        ?>
<em>Subscribed</em>
<small>[<a href="/adm/useraccounts?person_id=<?php 
        echo $person_id;
        ?>
&action=newsletter_unsubscribe">unsubscribe</a>]</small>
<?php 
    } else {
        ?>
<em>not subscribed</em>
<small>[<a href="/adm/useraccounts?person_id=<?php 
        echo $person_id;
        ?>
&action=newsletter_subscribe">subscribe</a>]</small>
<?php 
    }
    // show alerts
    $sql = <<<EOT
SELECT a.id,j.ref,j.prettyname,j.oneliner FROM ((alert a INNER JOIN person p ON a.person_id=p.id) INNER JOIN journo j ON a.journo_id=j.id) WHERE p.id=?;
EOT;
    $alerts = db_getAll($sql, $person_id);
    ?>
<h4>alerts</h4>
<?php 
    echo sizeof($alerts);
    ?>
 alerts set up:
<ul>
<?php 
    foreach ($alerts as $a) {
        ?>
<li><?php 
        echo admJournoLink($a['ref'], $a['prettyname']);
        ?>
 (<?php 
        echo $a['oneliner'];
        ?>
) <a class="button delete" href="/adm/useraccounts?person_id=<?php 
        echo $person_id;
        ?>
&action=removealert&alert_id=<?php 
        echo $a['id'];
        ?>
">remove</a></a>
</li>
<?php 
    }
    ?>
</ul>

<h4>Permissions</h4>
<?php 
    // show permissions
    $sql = <<<EOT
SELECT p.id, p.permission, j.ref as journo_ref FROM (person_permission p LEFT JOIN journo j ON j.id=p.journo_id)
    WHERE person_id=?
EOT;
    $perms = db_getAll($sql, $person_id);
    if ($perms) {
        ?>
<ul>
<?php 
        foreach ($perms as $perm) {
            ?>
<li>
Can <em><?php 
            echo $perm['permission'];
            ?>
</em>
 <?php 
            echo is_null($perm['journo_ref']) ? '' : admJournoLink($perm['journo_ref']);
            ?>
<small>[<a href="/adm/useraccounts?person_id=<?php 
            echo $person_id;
            ?>
&action=removeperm&perm_id=<?php 
            echo $perm['id'];
            ?>
">remove</a>]</small>
</li>
<?php 
        }
        ?>
</ul>
<?php 
    } else {
        ?>
<p>No permissions assigned</p>
<?php 
    }
    emit_addperm_form($person_id);
    ?>
<h4>Generate a login link</h4>
<p>This creates a link to allow a user to log in directly</p>
<form method="POST" action="/adm/useraccounts">
<input type="hidden" name="person_id" value="<?php 
    echo $person_id;
    ?>
" />
<label for="login_dest">Login destination:</label>
<select id="login_dest" name="login_dest">
  <option selected value="/profile">/profile</option>
  <option value="/alert">/alert</option>
</select>
<button name="action" value="generate_token">Generate</button>
</form>
<?php 
}
function template($vars)
{
    header("Cache-Control: no-cache");
    extract($vars);
    switch ($status) {
        case 'a':
            $pretty_status = 'Active';
            break;
        case 'i':
            $pretty_status = 'Inactive';
            break;
        case 'h':
            $pretty_status = 'Hidden';
            break;
        default:
            $pretty_status = $status;
            break;
    }
    ?>
<h4><?php 
    echo admJournoLink($ref, $prettyname);
    ?>
</h4>
<?php 
    if ($oneliner) {
        ?>
<em><?php 
        echo $oneliner;
        ?>
</em><br/><?php 
    }
    echo $pretty_status;
    ?>
, <?php 
    echo $num_arts;
    ?>
 articles<br/>
<?php 
    foreach ($linked_users as $user) {
        ?>
Linked to <a href="/adm/useraccounts?person_id=<?php 
        echo $user['id'];
        ?>
"><?php 
        echo $user['email'];
        ?>
</a>: '<?php 
        echo $user['permission'];
        ?>
'<br/>
<?php 
    }
    ?>
recent articles:
<ul>
<?php 
    foreach ($arts as $art) {
        ?>
<li>
<a class="extlink" href="<?php 
        echo $art['permalink'];
        ?>
"><?php 
        echo $art['title'];
        ?>
</a>
<?php 
        echo $art['srcorgname'];
        ?>
, <?php 
        echo $art['pretty_pubdate'];
        ?>
</li>
<?php 
    }
    ?>
</ul>
<?php 
}
Esempio n. 4
0
function do_split($from_ref, $new_from_ref, $split_pubs, $to_ref)
{
    $actions = array();
    if ($new_from_ref != $from_ref) {
        // rename the source journo
        db_do("UPDATE journo SET ref=? WHERE ref=?", $new_from_ref, $from_ref);
        $actions[] = sprintf("Renamed journo %s -> %s", $from_ref, admJournoLink($new_from_ref));
        $from_ref = $new_from_ref;
    }
    $fromj = db_getRow("SELECT id,ref,prettyname,lastname,firstname,status FROM journo WHERE ref=?", $from_ref);
    $toj = db_getRow("SELECT id,ref,prettyname,lastname,firstname,status FROM journo WHERE ref=?", $to_ref);
    if (!$toj) {
        // need to create new journo (just take a copy of 'from' journo)
        $toj = $fromj;
        unset($toj['id']);
        $toj['ref'] = $to_ref;
        journoCreate($toj);
        // TODO: copy journo_alias entries too...
        $actions[] = sprintf("Created new journo: %s", admJournoLink($to_ref));
    }
    // move articles
    $orglist = implode(',', $split_pubs);
    if ($orglist) {
        $sql = <<<EOD
UPDATE journo_attr SET journo_id=?
    WHERE journo_id=? AND article_id IN
        (
        SELECT a.id
            FROM (article a INNER JOIN journo_attr attr ON a.id=attr.article_id)
            WHERE journo_id=? AND a.srcorg IN ({$orglist})
        )
EOD;
        $rows_affected = db_do($sql, $toj['id'], $fromj['id'], $fromj['id']);
        $actions[] = sprintf("reassigned %d articles from %s to %s", $rows_affected, $from_ref, $to_ref);
    }
    // leave all other data attached to from_ journo (links, email etc)
    // Clear the htmlcache for the to and from journos
    db_do("DELETE FROM htmlcache WHERE name=?", 'j' . $fromj['id']);
    db_do("DELETE FROM htmlcache WHERE name=?", 'j' . $toj['id']);
    db_commit();
    return $actions;
}
Esempio n. 5
0
function JournoOverview($ref)
{
    $journo = db_getRow("SELECT id,ref,prettyname FROM journo WHERE ref=?", $ref);
    $r = db_query("SELECT a.srcorg as orgid, COUNT(*) as numarticles " . "FROM (article a INNER JOIN journo_attr attr ON a.id=attr.article_id) " . "WHERE attr.journo_id=? " . "GROUP BY a.srcorg", $journo['id']);
    $orgs = get_org_names();
    ?>

<?php 
    echo admJournoLink($journo['ref']);
    ?>
<table border=1>
<tr><th>publication</th><th>num articles</th></tr>
<?php 
    while ($row = db_fetch_array($r)) {
        $orgid = $row['orgid'];
        ?>
<tr><td><?php 
        echo $orgs[$orgid];
        ?>
</td><td><?php 
        echo $row['numarticles'];
        ?>
</td></tr>
<?php 
    }
    ?>
</table>
<?php 
}