Plugin Directory

Changeset 3095795


Ignore:
Timestamp:
05/31/2024 05:39:29 PM (21 months ago)
Author:
NextScripts
Message:

Version 4.4.5

Location:
social-networks-auto-poster-facebook-twitter-g/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • social-networks-auto-poster-facebook-twitter-g/trunk/NextScripts_SNAP.php

    r3084635 r3095795  
    55Description: This plugin automatically publishes posts from your blog to your social media accounts on Twitter, FB, Telegram, LinkedIn, and 25 more networks.
    66Author: NextScripts
    7 Version: 4.4.4
     7Version: 4.4.5
    88Author URI: https://www.nextscripts.com
    99Text Domain: social-networks-auto-poster-facebook-twitter-g
     
    1111*/
    1212
    13 const NextScripts_SNAP_Version = '4.4.4'; const NextScripts_SNAP_Version_Date = 'May 10, 2024';
     13const NextScripts_SNAP_Version = '4.4.5'; const NextScripts_SNAP_Version_Date = 'May 30, 2024';
    1414require_once "inc/nxs_functions_wp.php"; if(!defined( 'NXSSNAP_BASENAME' ) ) define( 'NXSSNAP_BASENAME', plugin_basename( __FILE__ ) );
    1515
    16 if (true===nxs_doSystemInitCheck()) { // error_reporting(E_ALL); ini_set('display_errors', '1');
     16if (true===nxs_doSystemInitCheck()) {  // error_reporting(E_ALL); ini_set('display_errors', '1');
    1717//  $vb = get_site_option('_nxs_v5b', 0); if ($vb==1) require_once "src/smsync.php"; //## V5 Beta
    1818    require_once "inc/nxs_functions.php"; require_once "inc/nxs_functions_adv.php"; require_once "inc/nxs_functions_engine.php"; require_once "inc/nxs_class_http.php"; require_once "inc/nxs_class_addns.php";
  • social-networks-auto-poster-facebook-twitter-g/trunk/inc/nxs_class_flt.php

    r3084635 r3095795  
    273273        if ($optionsii['rpstOn']=='1' && ($rpstEvrySecNew!=$rpstEvrySecEx || $optionsii['rpstTimes']!=$pval['rpstTimes'] || !$isRpstWasOn || ($isTD && $pval['rpstCustTD'][0]!=$optionsii['rpstNxTime']) || !empty($_POST['resetStats']) )) { global $wpdb;
    274274            $optionsii['rpstNxTime'] = $isTD?strtotime($pval['rpstCustTD'][0]):$nxs_cTime + $rpstEvrySecNew;             
    275             $dbItem = array('datecreated'=>date_i18n('Y-m-d H:i:s'), 'type'=>'R', 'postid'=>$post_id, 'nttype'=>'', 'refid'=>'', 'timetorun'=> date_i18n('Y-m-d H:i:s',$optionsii['rpstNxTime']), 'extInfo'=>'', 'descr'=> 'Reposter ID:('.$post_id.')', 'uid'=>get_current_user_id());
    276             $wpdb->delete( $wpdb->prefix . "nxs_query", array( 'postid' => $post_id ) );
    277             $nxDB = $wpdb->insert( $wpdb->prefix . "nxs_query", $dbItem );  $lid = $wpdb->insert_id;
     275            $dbItem = ['datecreated'=>date_i18n('Y-m-d H:i:s'), 'type'=>'R', 'postid'=>$post_id, 'nttype'=>'', 'refid'=>'', 'timetorun'=> date_i18n('Y-m-d H:i:s',$optionsii['rpstNxTime']), 'extInfo'=>'', 'descr'=> 'Reposter ID:('.$post_id.')', 'uid'=>get_current_user_id()];
     276            $table_name = $wpdb->prefix . "nxs_query";
     277            $dbDel = ['postid' => $post_id];
     278            $wpdb -> delete( $table_name, $dbDel );
     279            $nxDB = $wpdb -> insert($table_name, $dbItem);
     280            $lid = $wpdb->insert_id;
    278281        }
    279282        if (empty($optionsii['rpstOn'])) { global $wpdb; $wpdb->delete( $wpdb->prefix . "nxs_query", array( 'postid' => $post_id ) );}
  • social-networks-auto-poster-facebook-twitter-g/trunk/inc/nxs_functions_adv.php

    r3084635 r3095795  
    137137      _e('Done. All SNAP data has been removed from posts.', 'social-networks-auto-poster-facebook-twitter-g');
    138138  }
    139   if ($_POST['nxsact']=='deleteAllSNAPInfo') { global $wpdb; $wpdb->query( "DELETE FROM ". $wpdb->options ." WHERE option_name = 'nxsSNAPOptions'" );  $wpdb->query( "DELETE FROM ". $wpdb->options ." WHERE option_name = 'nxsSNAPNetworks'" );
    140       $wpdb->query(
     139  if ($_POST['nxsact']=='deleteAllSNAPInfo') {
     140      global $wpdb;
     141
     142      $sql1 = $wpdb->prepare(
     143          "DELETE FROM {$wpdb->options} WHERE option_name = %s",
     144          'nxsSNAPOptions'
     145      );
     146      $wpdb->query($sql1);
     147
     148      $sql2 = $wpdb->prepare(
     149          "DELETE FROM {$wpdb->options} WHERE option_name = %s",
     150          'nxsSNAPNetworks'
     151      );
     152      $wpdb->query($sql2);
     153
     154      $wpdb->query(
    141155          $wpdb->prepare(
    142156              "DELETE FROM %s WHERE option_name = %s",
     
    199213      _e('Done. Backup has been restored. <script> setTimeout(function () { location.reload(1); }, 3000); </script>', 'social-networks-auto-poster-facebook-twitter-g');
    200214  } 
    201   if ($_POST['nxsact']=='resetSNAPQuery') { global $wpdb;  $wpdb->query( "DELETE FROM ". $wpdb->prefix . "nxs_query" );
     215  if ($_POST['nxsact']=='resetSNAPQuery') { global $wpdb;  $table_name = $wpdb->prefix . "nxs_query";
     216      $sql = $wpdb->prepare("DELETE FROM $table_name"); $wpdb->query($sql);
    202217      _e('Done. SNAP query has been cleared.', 'social-networks-auto-poster-facebook-twitter-g');
    203218  }
     
    206221    _e('Done. All SNAP Crons has been deleted.', 'social-networks-auto-poster-facebook-twitter-g');
    207222  }
    208   if ($_POST['nxsact']=='resetSNAPCache') { global $wpdb; $wpdb->query( "DELETE FROM ". $wpdb->options ." WHERE option_name LIKE 'nxs_snap_%'" ); $wpdb->query( "DELETE FROM ". $wpdb->postmeta ." WHERE meta_key LIKE '_nxs_slinks'" );
     223  if ($_POST['nxsact']=='resetSNAPCache') { global $wpdb;
     224      $options_table = $wpdb->options;
     225      $sql1 = $wpdb->prepare(
     226          "DELETE FROM $options_table WHERE option_name LIKE %s",
     227          'nxs_snap_%'
     228      );
     229      $wpdb->query($sql1);
     230
     231      $postmeta_table = $wpdb->postmeta;
     232      $sql2 = $wpdb->prepare(
     233          "DELETE FROM $postmeta_table WHERE meta_key LIKE %s",
     234          '_nxs_slinks'
     235      );
     236      $wpdb->query($sql2);
    209237      _e('Done. All SNAP Cache has been cleared.', 'social-networks-auto-poster-facebook-twitter-g');
    210238  }
  • social-networks-auto-poster-facebook-twitter-g/trunk/inc/nxs_functions_engine.php

    r3084635 r3095795  
    2727    if (!isset($options['nxsHTDP']) || $options['nxsHTDP']=='S') { if(isset($NXS_POST["snapEdIT"]) && $NXS_POST["snapEdIT"]=='1') { $publtype='S'; $delay = rand(2,10); } else $publtype='A';
    2828        if (!$aj && !empty($options['quLimit']) && $options['quLimit']=='1') { global $wpdb; //## Add to posting query
    29             $quNxTime=$wpdb->get_var("SELECT timetorun FROM ".$wpdb->prefix."nxs_query WHERE type='Q' ORDER BY timetorun DESC LIMIT 1"); if (empty($quNxTime)) $quNxTime = time()+5; $quNxTime=strtotime($quNxTime);
     29            $table_name = $wpdb->prefix . "nxs_query";
     30            $sql = $wpdb->prepare(
     31                "SELECT timetorun FROM $table_name WHERE type = %s ORDER BY timetorun DESC LIMIT 1",
     32                'Q'
     33            );
     34            $quNxTime = $wpdb->get_var($sql);
     35            if (empty($quNxTime)) $quNxTime = time()+5; $quNxTime=strtotime($quNxTime);
    3036            $rndSec=$options['quLimitRndMins']*60; $pstEvrySec=$options['quDays']*86400+$options['quHrs']*3600+$options['quMins']*60; $rndTime=rand(0-$rndSec, $rndSec); $quNxTime=$quNxTime + $pstEvrySec + $rndTime;
    3137            $dbItem = array('datecreated'=>date_i18n('Y-m-d H:i:s'), 'type'=>'Q', 'postid'=>$postID, 'timetorun'=> date_i18n('Y-m-d H:i:s', $quNxTime), 'descr'=> 'Post ID:('.$postID.')', 'uid'=>$postUser);
     
    267273                            if ($rpstrOpts['rpstStop']=='O') { $rpstrOpts['rpstOn'] = 'F'; $wpdb->delete( $wpdb->prefix . "nxs_query", array( 'postid' => $row['postid'] ) ); nxs_LogIt('INF', 'Reposter Finished: End of the line', 'RP','','Reposter ID:'.$row['postid'].' ', '-=[ '.print_r($rpstrOpts, true).' ]=-'); nxs_Filters::save_meta($row['postid'], 'nxs_rpstr', $rpstrOpts );  break; }
    268274                            //## Loop it - restart from the beginning
    269                             if ($rpstrOpts['rpstStop']=='R') {  $wpdb->query( "DELETE FROM ". $wpdb->postmeta ." WHERE meta_key = 'snap_isRpstd".$row['postid']."'" );  //delete_post_meta($row['postid'], 'nxs_rpstr_stats');
     275                            if ($rpstrOpts['rpstStop']=='R') {
     276                                $sql = $wpdb->prepare(
     277                                    "DELETE FROM {$wpdb->postmeta} WHERE meta_key = %s",
     278                                    'snap_isRpstd' . $row['postid']
     279                                );
     280                                $wpdb->query($sql);
    270281                                nxs_LogIt('INF', 'Reposter Finished: Restarting...', 'RP','','Reposter ID:'.$row['postid'].' ', '-=[ '.print_r($rpstrOpts, true).' ]=-');
    271282                            }
  • social-networks-auto-poster-facebook-twitter-g/trunk/inc/nxs_functions_wp.php

    r3084635 r3095795  
    739739
    740740//## Post from "Quick Post Form"
    741 if (!function_exists('nxs_doNewNPPost')){ function nxs_doNewNPPost($networks){ global $nxs_snapAvNts, $wpdb; $postResults = '';  $currTime = time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
     741if (!function_exists('nxs_doNewNPPost')){ function nxs_doNewNPPost($networks){ global $nxs_snapAvNts, $wpdb; $postResults = '';  $currTime = time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
     742  $qpid = sanitize_key($_POST['qpid']);
    742743  if (!empty($_POST['ddt'])) { $ddt = strtotime(str_replace(',','',$_POST['ddt'])); $isSch = $ddt>$currTime;} else $isSch = false;
    743   if (!empty($_POST['nxs_mqTest']) && $_POST['nxs_mqTest']=="\'") { $_POST['mText'] = stripslashes($_POST['mText']); $_POST['mTitle'] = stripslashes($_POST['mTitle']); }   
    744   $ttl = nsTrnc(!empty($_POST['mTitle'])?$_POST['mTitle']:$_POST['mText'], 200); if (empty($ttl)) $ttl = 'Quick post ['.date('F j, Y, g:i a', time()+( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ).']'; //## Format title for saving info ....
     744  if (!empty($_POST['nxs_mqTest']) && $_POST['nxs_mqTest']=="\'") { $_POST['mText'] = stripslashes($_POST['mText']); $_POST['mTitle'] = stripslashes($_POST['mTitle']); } $pst = $_POST;
     745  $ttl = nsTrnc(!empty($_POST['mTitle'])?sanitize_text_field($_POST['mTitle']):sanitize_text_field($_POST['mText']), 200);
     746  if (empty($ttl)) $ttl = 'Quick post ['.date('F j, Y, g:i a', time()+( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ).']'; //## Format title for saving info ....
    745747  { //###### Make it savable as option. Put If () here.
    746748    //## Insert Post
    747749    $user_id = get_current_user_id();
    748     $my_post = array( 'post_title' => $ttl, 'post_content' => $_POST['mText'], 'post_status' => 'publish', 'post_author' => $user_id, 'post_type' => 'nxs_qp', 'post_category' => array(  ) );
    749     if (!empty($_POST['qpid'])) { $my_post['ID'] = $_POST['qpid']; wp_update_post( $my_post );} else $_POST['qpid'] = wp_insert_post( $my_post );
     750    $my_post = array( 'post_title' => $ttl, 'post_content' => sanitize_text_field($_POST['mText']), 'post_status' => 'publish', 'post_author' => $user_id, 'post_type' => 'nxs_qp', 'post_category' => array(  ) );
     751    if (!empty($qpid)) { $my_post['ID'] = $qpid; wp_update_post( $my_post );} else $qpid = wp_insert_post( $my_post );
    750752    //## Insert Post meta
    751     if (!empty($_POST['qpid'])) {  $metaArrEx = get_post_meta($_POST['qpid'], '_nxs_snap_data', true ); $metaArr = array('posts'=>array(), 'postType'=>$_POST['mType'], 'imgURL'=>$_POST['mImg'], 'linkURL'=>$_POST['mLink']); 
    752         if (!empty($metaArrEx['posts'])) $metaArr['posts'] = $metaArrEx['posts']; update_post_meta($_POST['qpid'], '_nxs_snap_data', $metaArr);
     753    if (!empty($qpid)) {  $metaArrEx = get_post_meta($qpid, '_nxs_snap_data', true );
     754        $metaArr = array('posts'=>array(), 'postType'=>sanitize_text_field($_POST['mType']), 'imgURL'=>sanitize_text_field($_POST['mImg']), 'linkURL'=>sanitize_text_field($_POST['mLink']));
     755        if (!empty($metaArrEx['posts'])) $metaArr['posts'] = $metaArrEx['posts']; update_post_meta($qpid, '_nxs_snap_data', $metaArr);
    753756    }
    754757  } 
    755758  if (!empty($_POST['mNts']) && is_array($_POST['mNts'])) {
    756     nxs_addToLogN('S', '-=== New Quick Form Post '.($isSch?'Schedulled for '.$_POST['ddt']:'requested').' ===-', 'Form', count($_POST['mNts']).' Networks', print_r($_POST['mNts'], true));
     759    nxs_addToLogN('S', '-=== New Quick Form Post '.($isSch?'Schedulled for '.sanitize_text_field($_POST['ddt']):'requested').' ===-', 'Form', count($_POST['mNts']).' Networks', sanitize_text_field(print_r($_POST['mNts'], true)));
    757760    $message = array('title'=>'', 'text'=>'', 'siteName'=>'', 'url'=>'', 'imageURL'=>'', 'videoURL'=>'', 'tags'=>'', 'urlDescr'=>'', 'urlTitle'=>'');     
    758761    if ($isSch) {
    759       $dbItem = array('datecreated'=>date_i18n('Y-m-d H:i:s'), 'type'=>'F', 'timetorun'=> date_i18n('Y-m-d H:i:s', $ddt), 'postid'=>$_POST['qpid'], 'extInfo'=>serialize($_POST), 'descr'=>$ttl, 'uid'=>get_current_user_id()); //prr($dbItem);
    760       $nxDB = $wpdb->insert( $wpdb->prefix . "nxs_query", $dbItem );  $lid = $wpdb->insert_id; echo '<br/>Post ID: '.$lid.'. Schedulled for '.$_POST['ddt'];
    761     } else echo nxs_postFromForm($_POST, $networks);
     762      $dbItem = array('datecreated'=>date_i18n('Y-m-d H:i:s'), 'type'=>'F', 'timetorun'=> date_i18n('Y-m-d H:i:s', $ddt), 'postid'=>$qpid, 'extInfo'=>serialize($pst), 'descr'=>$ttl, 'uid'=>get_current_user_id()); //prr($dbItem);
     763      $nxDB = $wpdb->insert( $wpdb->prefix . "nxs_query", $dbItem );  $lid = $wpdb->insert_id; echo '<br/>Post ID: '.$lid.'. Schedulled for '.sanitize_text_field($_POST['ddt']);
     764    } else echo nxs_postFromForm($pst, $networks);
    762765  }
    763766}}
    764767if (!function_exists('nxs_postFromForm')){ function nxs_postFromForm($post, $networks, $isSilent=false){ global $nxs_snapAvNts; $postResults = '';
    765     if (!empty($post['mNts']) && is_array($post['mNts'])) { nxs_addToLogN('S', '-=== New Qiuck Post ===-', 'Form', count($post['mNts']).' Networks', print_r($post['mNts'], true)); //.'<br/>|<br/><pre>'.print_r($post, true).'</pre>');
     768    if (!empty($post['mNts']) && is_array($post['mNts'])) {
     769      nxs_addToLogN('S', '-=== New Qiuck Post ===-', 'Form', count($post['mNts']).' Networks', sanitize_text_field(print_r($post['mNts'], true))); //.'<br/>|<br/><pre>'.print_r($post, true).'</pre>');
    766770      $message = array('title'=>'', 'text'=>'', 'siteName'=>'', 'url'=>'', 'imageURL'=>'', 'videoURL'=>'', 'tags'=>'', 'urlDescr'=>'', 'urlTitle'=>'', 'urlCaption'=>''); 
    767771      if (!empty($_POST['nxs_mqTest']) && $_POST['nxs_mqTest']=="\'") { $post['mText'] = stripslashes($post['mText']); $post['mTitle'] = stripslashes($post['mTitle']); }
    768       $message['pText'] = nxs_doSpin($post['mText']); $message['pTitle'] = nxs_doSpin($post['mTitle']);               
     772      $message['pText'] = nxs_doSpin(sanitize_text_field($post['mText'])); $message['pTitle'] = nxs_doSpin(sanitize_text_field($post['mTitle']));
    769773      //## Get URL info
    770       if (!empty($post['mLink']) && substr($post['mLink'], 0, 4)=='http') { $message['url'] = $post['mLink'];           
     774      if (!empty($post['mLink']) && substr($post['mLink'], 0, 4)=='http') { $message['url'] = sanitize_text_field($post['mLink']);
    771775        $flds = array('id'=>$message['url'], 'scrape'=>'true');      $response =  wp_remote_post('http://graph.facebook.com', array('body' => $flds));
    772776        if (is_wp_error($response)) $badOut['Error'] = print_r($response, true)." - ERROR"; else { $response = json_decode($response['body'], true); 
     
    776780        }
    777781      }
    778       if (!empty($post['mImg']) && substr($post['mImg'], 0, 4)=='http') $message['imageURL'] = $post['mImg']; $nts = array();  $postResultsArr = array('date'=> time(), 'errors'=>0, 'ok'=>0, 'data'=>array());
     782      if (!empty($post['mImg']) && substr($post['mImg'], 0, 4)=='http') $message['imageURL'] = sanitize_text_field($post['mImg']); $nts = array();  $postResultsArr = array('date'=> time(), 'errors'=>0, 'ok'=>0, 'data'=>array());
    779783         
    780784      foreach ($post['mNts'] as $ntC){ $ntA = explode('--',$ntC); $ntOpts = $networks[$ntA[0]][$ntA[1]]; $nts[] = $ntA[0].$ntA[1]; //  nxs_addToLogN('L', 'IN', $logNT, 'Go ', print_r($ntA, true));
    781785        if (!empty($ntOpts) && is_array($ntOpts)) { $logNT = $ntA[0];  $clName = 'nxs_class_SNAP_'.strtoupper($logNT);                 
    782786          $logNT = '<span style="color:#800000">'.strtoupper($logNT).'</span> - '.$ntOpts['nName'];    //    prr($ntOpts);
    783           $message['pText'] = nxs_doSpin($post['mText']); $message['pTitle'] = nxs_doSpin($post['mTitle']);               
    784           $ntOpts['postType'] = $post['mType']; $ntToPost = new $clName(); $ret = $ntToPost->doPostToNT($ntOpts, $message);   //   nxs_addToLogN('L', 'OUT', $logNT, 'Ex ', print_r($ntA, true));
     787          $message['pText'] = nxs_doSpin(sanitize_text_field($post['mText'])); $message['pTitle'] = nxs_doSpin(sanitize_text_field($post['mTitle']));
     788          $ntOpts['postType'] = sanitize_text_field($post['mType']); $ntToPost = new $clName(); $ret = $ntToPost->doPostToNT($ntOpts, $message);   //   nxs_addToLogN('L', 'OUT', $logNT, 'Ex ', print_r($ntA, true));
    785789          if (!is_array($ret) || empty($ret['isPosted']) || $ret['isPosted']!='1') { //## Error
    786790             nxs_addToLogN('E', 'Error', $logNT, '-=ERROR=- '.print_r($ret, true), ''); $postResults .= $logNT ." - Error (Please see log)<br/>";   $postResultsArr['errors']++;
     
    794798   
    795799    //## Save AutoPost Info to Saved QP
    796     if (!empty($post['qpid'])) { $metaArr = get_post_meta($post['qpid'], '_nxs_snap_data', true ); $metaArr['nts'] = $nts; $metaArr['posts'][] = $postResultsArr;  update_post_meta($post['qpid'], '_nxs_snap_data', $metaArr); }   
     800    if (!empty($post['qpid'])) { $quid = sanitize_key($post['qpid']);
     801        $metaArr = get_post_meta($quid, '_nxs_snap_data', true ); $metaArr['nts'] = $nts; $metaArr['posts'][] = $postResultsArr;  update_post_meta($quid, '_nxs_snap_data', $metaArr);
     802    }
    797803    if (!$isSilent) echo $out; else return $out; }
    798804}}
     
    952958function nxs_wp_allow_comment($commentdata) { global $wpdb; extract($commentdata, EXTR_SKIP);
    953959    // Simple duplicate check // expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)
    954     $dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND comment_parent = '$comment_parent' AND comment_approved != 'trash' AND ( comment_author = '$comment_author' ";
    955     if ( $comment_author_email ) $dupe .= "OR comment_author_email = '$comment_author_email' "; $dupe .= ") AND comment_content = '$comment_content' LIMIT 1";
    956     $dupeID = $wpdb->get_var($dupe); if ( $dupeID ) { do_action( 'comment_duplicate_trigger', $commentdata ); return $dupeID; }
     960
     961    $dupe = "SELECT comment_ID FROM {$wpdb->comments} WHERE comment_post_ID = %d AND comment_parent = %d AND comment_approved != 'trash' AND (comment_author = %s ";
     962    if ($comment_author_email)  $dupe .= "OR comment_author_email = %s "; else $dupe .= "%s";
     963    $dupe .= ") AND comment_content = %s LIMIT 1 ";
     964    if ($comment_author_email) {
     965        $sql = $wpdb->prepare($dupe, $comment_post_ID, $comment_parent, $comment_author, $comment_author_email, $comment_content);
     966    } else {
     967        $sql = $wpdb->prepare($dupe, $comment_post_ID, $comment_parent, $comment_author, '', $comment_content);
     968    }
     969    $dupeID = $wpdb->get_var($sql);
     970
     971    if ( $dupeID ) { do_action( 'comment_duplicate_trigger', $commentdata ); return $dupeID; }
    957972    do_action( 'check_comment_flood', $comment_author_IP, $comment_author_email, $comment_date_gmt );
    958973    if ( ! empty( $user_id ) ) { $user = get_userdata( $user_id ); $post_author = $wpdb->get_var($wpdb->prepare("SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1", $comment_post_ID)); }
  • social-networks-auto-poster-facebook-twitter-g/trunk/readme.txt

    r3084635 r3095795  
    66Requires at least: 5.0
    77Tested up to: 6.5.3
    8 Stable tag: 4.4.4
     8Stable tag: 4.4.5
    99License: GPLv2 or later
    1010
     
    178178== Changelog ==
    179179
     180= 4.4.5 [30/05/2024] =
     181
     182* Bug Fix - Few possible security issues/unsafe SQL Calls
     183
    180184= 4.4.4 [10/05/2024] =
    181185
Note: See TracChangeset for help on using the changeset viewer.