示例#1
0
/**
 * Implements hook_preprocess_ting_search_collection().
 *
 * Add extra information from elib to the ting objects.
 */
function ebog_preprocess_ting_search_collection(&$vars)
{
    foreach ($vars['collection']->objects as $obj) {
        $isbn = $obj->record['dc:identifier']['oss:PROVIDER-ID'][0];
        if (isset($vars['elib'])) {
            $vars['elib'][$isbn] = array();
        } else {
            $vars['elib'] = array();
        }
        // Get authors.
        $vars['elib'][$isbn]['author'] = publizon_get_authors($obj);
        try {
            $product = new PublizonProduct($isbn);
            // Get cover image.
            $vars['elib'][$isbn]['elib_book_cover'] = $product->getCover('170_x');
            // Get e-book sample link.
            if (!empty($product->teaser_link)) {
                $vars['elib'][$isbn]['elib_sample_link'] = 'stream/' . $isbn . '/preview/';
            }
            // Check if the book is loaned by the user.
            global $user;
            if ($user->uid > 0) {
                $user_loans = new PublizonUserLoans($user->uid);
                $vars['elib'][$isbn]['is_loan'] = $user_loans->isLoan($isbn, TRUE);
                if ($vars['elib'][$isbn]['is_loan']) {
                    $vars['elib'][$isbn]['cvo'] = $user_loans->loans[$isbn]->internal_order_number;
                }
            }
        } catch (Exception $e) {
            drupal_set_message($e->getMessage(), 'error');
        }
    }
}
示例#2
0
      <?php 
}
?>
      <div class="icons">
        <ul>
          <?php 
if (isset($elib_sample_link)) {
    ?>
            <li><?php 
    print l(t('Sample'), $elib_sample_link, array('html' => true, 'attributes' => array('action' => 'sample', 'target' => '_blank')));
    ?>
</li>
            <li class="seperator"></li>
            <?php 
    if (isset($is_loan) && $is_loan) {
        $query = array('cvo' => $cvo, 'title' => $object->record['dc:title'][''][0], 'author' => publizon_get_authors($object, FALSE));
        ?>
            <li><?php 
        print l(t('Read'), 'stream/' . $object->record['dc:identifier']['oss:PROVIDER-ID'][0], array('query' => array($query), 'html' => true, 'attributes' => array('class' => 'cvo', 'target' => '_blank')));
        ?>
</li>
          <?php 
    } else {
        ?>
              <li><?php 
        print l(t('Borrow'), 'publizon/' . $object->record['dc:identifier']['oss:PROVIDER-ID'][0] . '/stream', array('html' => true, 'attributes' => array('class' => 'ting-object-loan', 'action' => 'stream', 'target' => '_blank')));
        ?>
</li>
            <?php 
    }
    ?>
        <?php 
    }
    ?>
        <div class="icons">
          <ul>
            <?php 
    if (isset($elib[$isbn]['elib_sample_link'])) {
        ?>
                <li><?php 
        print l(t('Sample'), $elib[$isbn]['elib_sample_link'], array('html' => TRUE, 'attributes' => array('target' => '_blank', 'action' => 'sample')));
        ?>
</li>
                <li class="seperator"></li>
                <?php 
        if ($elib[$isbn]['is_loan']) {
            $query = array('cvo' => $elib[$isbn]['cvo'], 'title' => $obj->title, 'author' => publizon_get_authors($obj, FALSE));
            ?>
                <li><?php 
            print l(t('Read'), 'stream/' . $isbn, array('query' => array($query), 'html' => TRUE, 'attributes' => array('class' => 'cvo', 'target' => '_blank')));
            ?>
</li>
              <?php 
        } else {
            ?>
                <li><?php 
            print l(t('Borrow'), 'publizon/' . $isbn . '/stream', array('html' => TRUE, 'attributes' => array('class' => 'ebook-stream', 'target' => '_blank', 'action' => 'stream')));
            ?>
</li>
              <?php 
        }
        ?>