Dev {Tricks}

  • Home
  • WordPress
  • OJS
  • Oxwall
  • Server and Hosting
You are here: Home / Archives for OJS / Theme Development

January 6, 2023 by dev

Most Read Articles

ThemePlugin.ini.php

 public function init() {

// Load language selection - #most read#
HookRegistry::register ('TemplateManager::display', array($this, 'loadTemplateData'));
}




public function loadTemplateData($hookName, $args) { 
$templateMgr = $args[0];
$template = $args[1];
$request = Application::getRequest();
$site = $request->getSite();
$issueDao = DAORegistry::getDAO('IssueDAO');
$journalDao = DAORegistry::getDAO('JournalDAO');


// Start Language selector
$templateMgr->assign('isPostRequest', $request->isPost()); 

if (!defined('SESSION_DISABLE_INIT')) {
$locales = $site->getSupportedLocales();
} else {
$locales = AppLocale::getAllLocales();
$templateMgr->assign('languageToggleNoUser', true);
}
if (isset($locales) && count($locales) > 1) {
$templateMgr->assign('enableLanguageToggle', true);
$templateMgr->assign('languageToggleLocales', $locales);
}
// End Language selector


// Start Latest issues
$issues = array();
$issueList = array();
$volLabel = __('issue.vol');
$numLabel = __('issue.no');

$result = $issueDao->retrieve("SELECT issue_id FROM issues WHERE published = '1' AND access_status= '1' AND year != '0' ORDER BY date_published DESC LIMIT 6");

while (!$result->EOF) {
$resultRow = $result->GetRowAssoc(false);
$issues[$resultRow['issue_id']] = $issueDao->getById($resultRow['issue_id']);
$result->MoveNext();
}
$result->Close();

foreach($issues as $issueId => $issue){

$journal = $journalDao->getById($issue->getJournalId());
$issueList[$issueId]['journal'] = $journal->getLocalizedName();
$issueList[$issueId]['journalPath'] = $journal->getPath();

if ($issue->getLocalizedCoverImageUrl()){
$issueList[$issueId]['cover'] = $issue->getLocalizedCoverImageUrl();
$issueList[$issueId]['contain'] = true;
} 
else{
$issueList[$issueId]['cover'] = $request->getBaseUrl()."/plugins/themes/tsvSite/images/journalfi_default_cover.png";
}


$issueList[$issueId]['path'] = $issue->getBestIssueId();

$volume = $issue->getVolume();
$number = $issue->getNumber();
$year = $issue->getyear();

$issueIdentification = "";
if ($year != "") $issueIdentification = "(".$year.")".$issueIdentification;
if ($number != "0") $issueIdentification = $numLabel." ".$number." ".$issueIdentification;
if ($volume != "0") $issueIdentification = $volLabel." ".$volume." ".$issueIdentification; 

$issueList[$issueId]['identification'] = $issueIdentification;
}
$templateMgr->assign('issueList', $issueList);

// End Latest issues


// Start Most read
$metricsDao = DAORegistry::getDAO('MetricsDAO');
$cacheManager =& CacheManager::getManager();
$cache =& $cacheManager->getCache('mostreadsite', 0, array($this, '_cacheMiss'));

$daysToStale = 1;
$cachedMetrics = false;

if (time() - $cache->getCacheTime() > 60 * 60 * 24 * $daysToStale) {
$cachedMetrics = $cache->getContents();
$cache->flush();
}
$resultMetrics = $cache->getContents();

if (!$resultMetrics && $cachedMetrics) {
$resultMetrics = $cachedMetrics;
$cache->setEntireCache($cachedMetrics);
} elseif (!$resultMetrics) {
$cache->flush();
}

$templateMgr->assign('resultMetrics', $resultMetrics);

// End Most read




}

function _cacheMiss($cache) {
$metricsDao = DAORegistry::getDAO('MetricsDAO');
$publishedArticleDao = DAORegistry::getDAO('PublishedArticleDAO');
$journalDao = DAORegistry::getDAO('JournalDAO');

$currentDate = date('Ymd');
$weekAgo = date('Ymd', strtotime("-1 month"));

$result = $metricsDao->retrieve("SELECT submission_id, SUM(metric) AS metric FROM metrics WHERE (day BETWEEN $weekAgo AND $currentDate) AND (assoc_type='515' AND submission_id IS NOT NULL) GROUP BY submission_id ORDER BY metric DESC LIMIT 4");

while (!$result->EOF) {
$resultRow = $result->GetRowAssoc(false);
$article = $publishedArticleDao->getById($resultRow['submission_id']); 
$journal = $journalDao->getById($article->getJournalId());
$articles[$resultRow['submission_id']]['journalPath'] = $journal->getPath();
$articles[$resultRow['submission_id']]['journalName'] = $journal->getLocalizedName();
$articles[$resultRow['submission_id']]['articleId'] = $article->getBestArticleId();
$articles[$resultRow['submission_id']]['articleTitle'] = $article->getLocalizedTitle();
$articles[$resultRow['submission_id']]['articleAuthors'] = $article->getAuthorString();
$articles[$resultRow['submission_id']]['datePublished'] = $article->getDatePublished();
$articles[$resultRow['submission_id']]['metric'] = $resultRow['metric'];

$result->MoveNext();
}
$result->Close(); 
$cache->setEntireCache($articles);
return $result;
}

 

 

 

 

indexjournal.tpl

<ul class="most_read">
{foreach from=$resultMetrics item=article}
<li class="most_read_article">
<p><em>Open Access</em></p>
<div class="most_read_article_title"><a href="{url journal=$article.journalPath page="article" op="view" path=$article.articleId}">{$article.articleTitle}</a></div>

<div class="most_read_article_authors">
{$article.articleAuthors}
</div>
<div class="most-read-footer">
<div class="most_read_article_journal"><em>Read in the last month:</em> {$article.metric} times</div>
<div class="most_read_article_published"><strong>Published:</strong> <span>{$article.datePublished}</span></div>
</div>
</li>
{/foreach} 
</ul>

 

 

Filed Under: Frontend, Help, OJS, Plugins, Theme, Theme Customization, Theme Development Tagged With: most read, popular articles

March 13, 2022 by dev

PHP Fatal Error: Uncaught Error: Call to undefined function – OJS

bindtextdomain

  • Error 500 while setting distribution
  • The 500 error in registration page
  • PHP Fatal error: Uncaught Error: Call to undefined function bindtextdomain() in /lib/pkp/lib/vendor/sokil/php-isocodes/src/AbstractDatabase.php:87
  • Failed AJAX request or invalid JSON returned

If you get a message like this:

PHP Fatal Error: Uncaught Error: Call to undefined function bindtextdomain() in ...

…then your PHP installation is missing support for the gettext extension. You need to install or enable it.

 

Filed Under: Frontend, Help, Installation, Issues, legacy, OJS, Plugins, Templates, Theme, Theme Customization, Theme Development, TPL CSS JS, Upgrade Tagged With: AbstractDatabase, AJAX, Call to undefined function, Error 500, gettext, JSON, ojs, PHP Fatal Error, Uncaught Error

January 5, 2022 by dev

Delete OJS article as required

  • Is there some way to delete all unassigned articles

You can use tools/deleteSubmissions.php to delete submissions by ID. This is something you’ll need to do from the command line. You can run…

php tools/deleteSubmissions.php 12345

…where 12345 is a submission ID.

 

Filed Under: Help, Installation, Issues, OJS, Theme Customization, Theme Development, Upgrade Tagged With: All Active, Archived, my Queue, unassigned

December 10, 2021 by dev

OJS Email Sending Problem

  • There was a problem sending an email message. Please try again later, or contact your system administrator.

At first, check whether Principal Contact details were added in Journal. Then go for Step One.

Step One

Turn on SMTP in config.php

[email]

; Use SMTP for sending mail instead of mail()
 smtp = On

; SMTP server settings
 smtp_server = mail.example.com
 smtp_port = 25

; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
 smtp_auth = ssl
 smtp_username = username
 smtp_password = password
;

You contact hosting provider to get the SMTP details

NB: If the above setting does not work anyway, then go for adding envelop sender.

Step Two

Allow envelop sender

; Allow envelope sender to be specified
; (may not be possible with some server configurations)
 allow_envelope_sender = On

; Default envelope sender to use if none is specified elsewhere
 default_envelope_sender = [email protected]_host.com

; Force the default envelope sender (if present)
; This is useful if setting up a site-wide no-reply address
; The reply-to field will be set with the reply-to or from address.
 force_default_envelope_sender = On

Make sure to match the domain in your default_envelope_sender with the domain of OJS installation. If it doesn’t match this increases the spam rating.

 

Filed Under: AWS, Bluehost, CentOS Web Panel, Contabo, cPanel, Digitalocean, DirectAdmin, Email, Email Solutions, Find & fix, Help, HostGator, How to, Issues, OJS, Plesk, Postfix, Providers, Theme Development, Upgrade, Virtualmin, VPS Management, VPSDime, Web Control Panel, Webmin, WHM Tagged With: envelop sender, ojs email, ojs email notificaton, ojs envelop, ojs smtp

September 30, 2021 by dev

Plum Analytics | PlumX Widgets | Technical Overview | Widget Script & Placeholder

  • Plum Analytics Artifact Widget plugin for OJS.
  • Plum Analytics plugin for PKP Open Journal Systems

PlumX integrates with Open Journal Systems (OJS), a journal management and publishing system that has been developed by the Public Knowledge Project through its federally funded efforts to expand and improve access to research.

PlumX customers with OJS-based journals get the following benefits:

  • Ingestion of article metadata into PlumX as new issues are published.
  • Easy implementation of PlumX widgets for display of Plum metrics on OJS article pages.
  • Tracking of PlumX metrics for all articles across all five metrics categories.

GitHub ulsdevteam / ojs-plum-plugin

This plugin provides display of PlumX Metrics from Plum Analytics on the article level for PKP Open Journal Systems.

https://github.com/ulsdevteam/ojs-plum-plugin

Manual Integration without plugin

PlumX Widgets at https://plu.mx/developers/widgets/

 

 

Filed Under: Help, OJS, Plugins, Theme Customization, Theme Development Tagged With: Metrics, Plum Analytics, PlumAnalytics, PlumX, PlumX Metrics, PlumX Widgets, ulsdevteam

  • 1
  • 2
  • 3
  • Next Page »
  • Upwork
  • Freelancer
  • Fiverr
  • Guru
  • PPH

Recent Posts

  • MariaDB Upgrade to the new version | Plesk – CentOS 7 / RHEL 7
  • Google Workspace MX record values
  • Could not open input file
  • How to remove journal path for single journal OJS website.
  • How to Clean the YUM Cache in CentOS
  • How to run php file through command line? How do I enable PHP?
  • How to disable functions using the PHP disable_functions directive in php ini
  • Error 503 Backend fetch failed
  • Unblock iRedMail IP
  • Most Read Articles
  • Import export database | Linux
  • How to reset MySQL root password | CWP
  • MariaDB Upgrade to the new version | CWP
  • Install Optimize with optimize.js (sync)
  • Journey to Laravel & Vue – December to February 2022/2023
  • Elementor
  • Java Errors
  • How to Install Zip/Unzip
  • Redirect www to non-www and vice versa
  • How to change Time Zone in Debian 11 / Debian 10

Categories

  • Affiliate Marketing (1)
  • Customization (3)
    • CSS (1)
  • Email Solutions (20)
    • FrontApp (1)
    • Google Spreadsheet (2)
    • Microsoft Outlook (1)
    • PHP Email Form (3)
    • PolyMail (1)
    • Recaptcha (1)
    • Roundcube (3)
    • Thunderbird (2)
    • WebMail (4)
  • Games (1)
  • How to (75)
  • Joomla (6)
    • Akeeba (1)
    • Fix & Tricks (3)
  • jQuery (3)
  • jQuery Plugins (4)
    • BX Slider (1)
    • Slick (1)
  • Laravel (1)
  • Marketplace (5)
  • Miscellaneous (26)
  • OJS (52)
    • Help (35)
    • Installation (9)
      • Issues (5)
    • Plugins (7)
    • Theme (6)
      • Templates (6)
        • Frontend (5)
        • legacy (1)
    • Theme Customization (9)
    • Theme Development (13)
    • TPL CSS JS (2)
    • Upgrade (11)
  • Oxwall (3)
  • Payment Methods (1)
    • Paypal (1)
  • PC Tips and Tricks (12)
    • MS Office (1)
      • PowerPoint (1)
    • Windows (3)
  • PHP Parse error (2)
  • phpBB (1)
  • Server and Hosting (174)
    • Billing and Management (10)
      • Blesta (5)
      • Boxbilling (2)
      • WHMCS (5)
    • Debian (5)
    • Email (9)
      • Postfix (3)
    • Error and Fix (16)
    • FTP (2)
    • Mail Server Solusion (5)
      • iRedMain (4)
    • MySQL (9)
    • Providers (54)
      • AWS (23)
      • Bluehost (23)
      • Cloudcone (12)
      • Contabo (26)
      • Digitalocean (54)
      • HostGator (22)
      • VPSDime (24)
    • Security (18)
      • SSH (6)
    • VPS Management (60)
    • Web Control Panel (125)
      • CentOS Web Panel (36)
      • cPanel (24)
      • DirectAdmin (89)
        • Find & fix (38)
      • ISPConfig (11)
      • Plesk (20)
      • Webmin (19)
        • Usermin (2)
        • Virtualmin (11)
      • WHM (13)
  • Uncategorized (14)
  • Wordpress (86)
    • Elementor (2)
    • Find and Fix (9)
    • Functions (5)
    • Genesis (9)
    • Glossary (1)
    • How to (20)
    • Neuron TD (15)
      • Console Error (1)
      • functions (5)
        • register_post_type (1)
        • register_sidebar (1)
        • theme_files (1)
        • theme_supports (1)
      • Image Directory (1)
      • Menu (2)
      • Query (4)
    • Plugins (12)
      • Contact Form 7 (5)
      • Duplicator (1)
      • Essential Grid (2)
    • Softaculous (3)
    • Speed and Security (4)
    • Stock Theme Development (6)
      • Header Footer (1)
      • PHP (1)
      • VC (1)
    • Theme Development (2)
      • Issues (1)
      • Menu (1)
    • Timer Theme Development (3)
    • Update (2)
    • Woocommerce (2)
    • WP Basic Guideline (8)

Important DEV links

  • Premium Themes
    • Themeforest
    • Envato Market
  • Built With (What Theme is That?)
    • What WP theme is that
    • Joomla Template Detector
    • Drupal Template Detector
    • Prestashop Template Detector
    • Shopify Theme Detector
    • Squarespace Template Detector
    • OpenCart Detector
    • WordPress.com Theme Detector
  • Domain/IP history checker
    • Who IS request
    • Hosting Info
  • Check DNS Propagation
    • DNS Checker
    • intoDNS
  • What is my IP
    • What is My IP Address
    • What is My IP
    • IP location
    • What is My IP
    • Porkbun
  • SEO Tools
    • Visitor Traffic
    • Broken Link
    • Website Speed Test
      • SEMrush
      • GTmetrix
      • Pingdom
      • PageSpeed Insights
      • DebugBear
      • keyCDN
  • Photo Image
    • Remove Background 50 Free Preview Image 375 × 666 per month
  • Domain Registrars
    • 123-Reg
    • Porkbun
    • Freenom
    • Namecheap NEWCOM598
  • Hosting Providers
    • Bluehost
    • Hostgator
    • Inmotion
  • Hosting Control Panel
    • CWPpro (FREE)
    • DirectAdmin (Trial 60 Days, One account $2/month)
    • ISPConfig (Free)
  • Webmaster Tools
    • Google
    • Bing
    • Yandex
  • Miscellaneous
    • Time Calculator

 

  • Home
  • WordPress
  • OJS
  • Oxwall
  • Server and Hosting

Copyright © 2023 · Executive Pro Theme on Genesis Framework · WordPress · Log in