freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Αλλαγή php script ώστε να είναι 3 ωρες μπροστα


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Joomla! » Joomla! γενικά
Moderators:  PHP Moderators, Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 2 [26 Μηνύματα]      Bookmarks Tags: scriptphp Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
Σελίδα:  1, 2 Επόμενο
ΑποστολέαςΜήνυμα
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 22 Απρ 2009 14:26    Θέμα: Αλλαγή php script ώστε να είναι 3 ωρες μπροστα Απάντηση με παράθεση  Mark this post and the followings unread

Eχω ενα module στο joomla που δείχνει την τελευταία ανανέωση του site.
Μαλλον αυτό πάει με την ωρα UTC του γκρινουιτς που δείχνει 3 ώρες πριν?
Mπορεί κάποιος να με βοηθήσει να το αλλάξω?

helper.php
κώδικας:
<?php
/*
(c) Tushev S.A, 2009. All rights reserved
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

require_once (JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');

class modLastUpdateHelper
{
   function getUpdateTime(&$params) {
               
   
      $dateformat      = trim( $params->get('dateformat') );
      $cacheresults   = trim( $params->get('cacheresults') );
      $cachetime      = (int) $params->get('cachetime', 3600);
      
      $modLastUpdateCacheFileName    = dirname(__FILE__).DS.'lastupdate';
      
         function saveTimeToFile($timestring, $fileName) {
            
            $f=fopen($fileName, 'w');
            fwrite($f, $timestring);
            fclose($f);
            
         
         }
         
         
         
         function getCacheIfFresh($caching_time, $fileName) {
            /*    Checks, whether it's possible to use the cache
               Returns false if it's necessary to update it, formatted string with concrete value if cache is up-to-date
            */   
            
            //no cache exist
            if(!($cacheModified = filemtime($fileName))) return false;

            //cache is up-to-date
            if( (time() - $cacheModified) < $caching_time ) return file_get_contents($fileName);
            else return false;
         
         }
         
         function getTimeFromDB($datefmt) {
         //RETURNS formatted string
         
            global $mainframe;

            $db         =& JFactory::getDBO();
            $user      =& JFactory::getUser();
      
            $query = "SELECT modified"
            . "\n FROM #__content"
            . "\n ORDER BY modified DESC";
      
            $db->setQuery($query, 0, 1);
            $rows = $db->loadObjectList();
      
            if ( count( $rows ) ) {
               $modtime   = strtotime($rows[0]->modified);
            } else {
               $modtime   = 0;
            }
      
            $query = "SELECT created"
            . "\n FROM #__content"
            . "\n ORDER BY created DESC";
      
            $db->setQuery($query, 0, 1);
            $rows = $db->loadObjectList();
   
            if ( count( $rows ) ) {
               $crtime   = strtotime($rows[0]->created);
            } else {
               $crtime   = 0;
            }
   
            $result_time =  strftime($datefmt,  ($crtime > $modtime) ? $crtime : $modtime  ) ;

            return $result_time;
         }
         
         
      if ( $cacheresults && ( $last_update = getCacheIfFresh($cachetime, $modLastUpdateCacheFileName))   ) return $last_update;
       else {            //there's no cahing or file is old or do not exist/
         $last_update = getTimeFromDB($dateformat);
         if ($cacheresults)    saveTimeToFile($last_update, $modLastUpdateCacheFileName);
         return $last_update;
      }
         
         
   }


}


mod_lastupdate.php (αν και δν παιζει να παίζει ρόλο αυτο)
κώδικας:
<?php
/*
(c) Tushev S.A, 2009. All rights reserved
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// Include the syndicate functions only once
require_once (dirname(__FILE__).DS.'helper.php');

$last_update_time = modLastUpdateHelper::getUpdateTime($params);

require(JModuleHelper::getLayoutPath('mod_lastupdate'));

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
vassilism


Μέλος από: 17 Μαρ 2007
Βοηθήματα: 7
Templates: 1
Scripts: 4
Μηνύματα: 256+


View users profile Visit posters website
ΜήνυμαΣτις: 22 Απρ 2009 14:56    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Πριν πειράξεις το script είδες στις Γενικές Ρυθμίσεις του διακομιστή>Τοπικές Ρυθμίσεις>Ωριαία Ζώνη?
Εκεί τι έχεις επιλέξει?
Πρέπει να είναι (UTC+02:00) Αθήνα, Κωνσταντινούπλη………

_________________
Αγγελίες - Aggelia.eu
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 22 Απρ 2009 15:51    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Ναι, δεν παίζει ρολο αυτό!
Μαλλον τραβάει την ώρα του σερβερ.

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
vassilism


Μέλος από: 17 Μαρ 2007
Βοηθήματα: 7
Templates: 1
Scripts: 4
Μηνύματα: 256+


View users profile Visit posters website
ΜήνυμαΣτις: 22 Απρ 2009 20:22    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

κώδικας:
date_default_timezone_set('EET');

Με την παραπάνω συνάρτηση παίρνεις την ημερομηνία & ώρα που αντιστοιχεί στην Ελλάδα.
Για δοκίμασε να την βάλεις κάτω από το:
κώδικας:
function getUpdateTime(&$params) {

Αν δεν δουλέψει δώσε μας και το αρχείο route.php.

_________________
Αγγελίες - Aggelia.eu
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 22 Απρ 2009 22:51    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δυστυχώς δεν δουλεύει

route.php (com_content)
κώδικας:

<?php
/**
 * @version      $Id: route.php 11190 2008-10-20 00:49:55Z ian $
 * @package      Joomla
 * @subpackage   Content
 * @copyright   Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
 * @license      GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant to the
 * GNU General Public License, and as distributed it includes or is derivative
 * of works licensed under the GNU General Public License or other free or open
 * source software licenses. See COPYRIGHT.php for copyright notices and
 * details.
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

// Component Helper
jimport('joomla.application.component.helper');

/**
 * Content Component Route Helper
 *
 * @static
 * @package      Joomla
 * @subpackage   Content
 * @since 1.5
 */
class ContentHelperRoute
{
   /**
    * @param   int   The route of the content item
    */
   function getArticleRoute($id, $catid = 0, $sectionid = 0)
   {
      $needles = array(
         'article'  => (int) $id,
         'category' => (int) $catid,
         'section'  => (int) $sectionid,
      );

      //Create the link
      $link = 'index.php?option=com_content&view=article&id='. $id;

      if($catid) {
         $link .= '&catid='.$catid;
      }

      if($item = ContentHelperRoute::_findItem($needles)) {
         $link .= '&Itemid='.$item->id;
      };

      return $link;
   }

   function getSectionRoute($sectionid)
   {
      $needles = array(
         'section' => (int) $sectionid
      );

      //Create the link
      $link = 'index.php?option=com_content&view=section&id='.$sectionid;

      if($item = ContentHelperRoute::_findItem($needles)) {
         if(isset($item->query['layout'])) {
            $link .= '&layout='.$item->query['layout'];
         }
         $link .= '&Itemid='.$item->id;
      };

      return $link;
   }

   function getCategoryRoute($catid, $sectionid)
   {
      $needles = array(
         'category' => (int) $catid,
         'section'  => (int) $sectionid
      );

      //Create the link
      $link = 'index.php?option=com_content&view=category&id='.$catid;

      if($item = ContentHelperRoute::_findItem($needles)) {
         if(isset($item->query['layout'])) {
            $link .= '&layout='.$item->query['layout'];
         }
         $link .= '&Itemid='.$item->id;
      };

      return $link;
   }

   function _findItem($needles)
   {
      $component =& JComponentHelper::getComponent('com_content');

      $menus   = &JApplication::getMenu('site', array());
      $items   = $menus->getItems('componentid', $component->id);

      $match = null;

      foreach($needles as $needle => $id)
      {
         foreach($items as $item)
         {
            if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id)) {
               $match = $item;
               break;
            }
         }

         if(isset($match)) {
            break;
         }
      }

      return $match;
   }
}
?>

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 23 Απρ 2009 13:23    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Kανείς ρε παιδια???

fafos??

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
vassilism


Μέλος από: 17 Μαρ 2007
Βοηθήματα: 7
Templates: 1
Scripts: 4
Μηνύματα: 256+


View users profile Visit posters website
ΜήνυμαΣτις: 23 Απρ 2009 16:27    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Ο fafos τώρα θα προσπαθεί να πιάσει κάνα καρχαρία!!!
Πλάκα κάνω

Επί της ουσίας, δεν μπορώ να καταλάβω κάποια πράγματα.
Αν παίρνει την ώρα του server και δείχνει 3 ώρες πίσω τότε ο server πρέπει να είναι κάπου σε Βραζιλία ή Αργεντινή.
Είναι κάπου εκεί ο server σου?

Στο helper.php και στη function getUpdateTime(&$params) δοκίμασε να παίξεις με την τιμή 3600 της μεταβλητής $cachetime.
Εκεί που λέει:
κώδικας:
$cachetime = (int) $params->get('cachetime', 3600);

Και πες μας αποτελέσματα.

_________________
Αγγελίες - Aggelia.eu
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 24 Απρ 2009 14:30    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δυστυχώς τίποτα!

Συμφωνα με το flagfox ο server είναι στην Γερμανία! (CretaForce)

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
vassilism


Μέλος από: 17 Μαρ 2007
Βοηθήματα: 7
Templates: 1
Scripts: 4
Μηνύματα: 256+


View users profile Visit posters website
ΜήνυμαΣτις: 24 Απρ 2009 14:45    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δοκίμασε να βάλεις πάνω από εκεί που λέει:
κώδικας:
$result_time =  strftime($datefmt,  ($crtime > $modtime) ? $crtime : $modtime  ) ;

Στη function getTimeFromDB($datefmt)
κώδικας:
setlocale(LC_TIME);

ή
κώδικας:
date_default_timezone_set('EET');

_________________
Αγγελίες - Aggelia.eu
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 24 Απρ 2009 15:03    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Σε ευχαριστω πάρα πολύ φιλε vassilism αλλά δν δουλεύουν όλα αυτα ....

Ευχαριστω παντως!

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
fafos
Script Master

Μέλος από: 30 Νοε 2004
Βοηθήματα: 17
Scripts: 6
Μηνύματα: 256+


View users profile
ΜήνυμαΣτις: 24 Απρ 2009 16:04    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Me zhthse kaneis??


pou sozeis thn cachetime? se aplo file h se mysql?

an kaneis echo to $cachetime ti noumero sou vgazei?

_________________
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 24 Απρ 2009 16:19    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Λοιπόν, δεν ξερω που το αποθηκεύει.
Ειναι το module last update για το joomla

To echo ετσι γίνεται?
echo $cachetime; ?

Παντως το default cachetime ειναι 3600 (1 ωρα) και το αλλαζω και μεσα απο τα parameters του module και δν γίνεται τπτ

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
fafos
Script Master

Μέλος από: 30 Νοε 2004
Βοηθήματα: 17
Scripts: 6
Μηνύματα: 256+


View users profile
ΜήνυμαΣτις: 24 Απρ 2009 16:23    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

The Razor ανέφερε:
Λοιπόν, δεν ξερω που το αποθηκεύει.
Ειναι το module last update για το joomla

To echo ετσι γίνεται?
echo $cachetime; ?

Παντως το default cachetime ειναι 3600 (1 ωρα) και το αλλαζω και μεσα απο τα parameters του module και δν γίνεται τπτ



logika kapou sthn diaxeirish tha sou dinei thn dynatothta na allazeis to date format (den ta pao kala me ta joomloeidh).. an auto to format einai kapos etsi: %d-%m-%Y %H:%M prosthese sto telos ena %z kai dokimase pali:

κώδικας:
%d-%m-%Y %H:%M %z

_________________
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...
The Razor


Μέλος από: 10 Φεβ 2007
Βοηθήματα: 3
Νέα: 4
Μηνύματα: 256+


View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 24 Απρ 2009 23:48    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Μου βγάζει ενα +0300 μετα την ωρα

_________________
Ελληνική τηλεόραση
Όλοι οι κωδικοί για το αγαπημένο σας παιχνίδι!
VoFa.gr | H νέα παρέα
fafos
Script Master

Μέλος από: 30 Νοε 2004
Βοηθήματα: 17
Scripts: 6
Μηνύματα: 256+


View users profile
ΜήνυμαΣτις: 25 Απρ 2009 11:54    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

An den vreis pou sozei thn update time den prokeitai na katalavoume ti kanei to script.. exeis kapoio table sthn vash sou me titlo #__content?

_________________
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 2 [26 Μηνύματα] Σελίδα:  1, 2 Επόμενο
Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Joomla! » Joomla! γενικά


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
Αλλαγή template και έκδοση ή όχι;;; 2 Bizman 20 Δεκ 2015 21:13
elpida_fwt Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 25 Μαρ 2017 09:37 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos