当前位置: 首页>>代码示例>>PHP>>正文


PHP dol_filemtime函数代码示例

本文整理汇总了PHP中dol_filemtime函数的典型用法代码示例。如果您正苦于以下问题:PHP dol_filemtime函数的具体用法?PHP dol_filemtime怎么用?PHP dol_filemtime使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了dol_filemtime函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: showdocuments


//.........这里部分代码省略.........
     // Get list of files
     if (!empty($filedir)) {
         $file_list = dol_dir_list($filedir, 'files', 0, '', '(\\.meta|_preview\\.png)$', 'date', SORT_DESC);
         // Affiche en-tete tableau si non deja affiche
         if (!empty($file_list) && !$headershown) {
             $headershown = 1;
             $out .= '<div class="titre">' . $titletoshow . '</div>';
             $out .= '<table class="border" summary="listofdocumentstable" width="100%">';
         }
         // Loop on each file found
         if (is_array($file_list)) {
             foreach ($file_list as $file) {
                 $var = !$var;
                 // Define relative path for download link (depends on module)
                 $relativepath = $file["name"];
                 // Cas general
                 if ($modulesubdir) {
                     $relativepath = $modulesubdir . "/" . $file["name"];
                 }
                 // Cas propal, facture...
                 if ($modulepart == 'export') {
                     $relativepath = $file["name"];
                 }
                 // Other case
                 $out .= "<tr " . $bc[$var] . ">";
                 $documenturl = DOL_URL_ROOT . '/document.php';
                 if (isset($conf->global->DOL_URL_ROOT_DOCUMENT_PHP)) {
                     $documenturl = $conf->global->DOL_URL_ROOT_DOCUMENT_PHP;
                 }
                 // Show file name with link to download
                 $out .= '<td class="nowrap">';
                 $out .= '<a data-ajax="false" href="' . $documenturl . '?modulepart=' . $modulepart . '&amp;file=' . urlencode($relativepath) . '"';
                 $mime = dol_mimetype($relativepath, '', 0);
                 if (preg_match('/text/', $mime)) {
                     $out .= ' target="_blank"';
                 }
                 $out .= ' target="_blank">';
                 $out .= img_mime($file["name"], $langs->trans("File") . ': ' . $file["name"]) . ' ' . dol_trunc($file["name"], $maxfilenamelength);
                 $out .= '</a>' . "\n";
                 $out .= '</td>';
                 // Show file size
                 $size = !empty($file['size']) ? $file['size'] : dol_filesize($filedir . "/" . $file["name"]);
                 $out .= '<td align="right" class="nowrap">' . dol_print_size($size) . '</td>';
                 // Show file date
                 $date = !empty($file['date']) ? $file['date'] : dol_filemtime($filedir . "/" . $file["name"]);
                 $out .= '<td align="right" class="nowrap">' . dol_print_date($date, 'dayhour', 'tzuser') . '</td>';
                 if ($delallowed || $printer || $morepicto) {
                     $out .= '<td align="right">';
                     if ($delallowed) {
                         $out .= '<a href="' . $urlsource . (strpos($urlsource, '?') ? '&amp;' : '?') . 'action=remove_file&amp;file=' . urlencode($relativepath);
                         $out .= $param ? '&amp;' . $param : '';
                         //$out.= '&modulepart='.$modulepart; // TODO obsolete ?
                         //$out.= '&urlsource='.urlencode($urlsource); // TODO obsolete ?
                         $out .= '">' . img_picto($langs->trans("Delete"), 'delete.png') . '</a>';
                         //$out.='</td>';
                     }
                     if ($printer) {
                         //$out.= '<td align="right">';
                         $out .= '&nbsp;<a href="' . $urlsource . (strpos($urlsource, '?') ? '&amp;' : '?') . 'action=print_file&amp;printer=' . $modulepart . '&amp;file=' . urlencode($relativepath);
                         $out .= $param ? '&amp;' . $param : '';
                         $out .= '">' . img_picto($langs->trans("PrintFile", $relativepath), 'printer.png') . '</a>';
                     }
                     if ($morepicto) {
                         $morepicto = preg_replace('/__FILENAMEURLENCODED__/', urlencode($relativepath), $morepicto);
                         $out .= $morepicto;
                     }
                     $out .= '</td>';
                 }
                 if (is_object($hookmanager)) {
                     $parameters = array('socid' => isset($GLOBALS['socid']) ? $GLOBALS['socid'] : '', 'id' => isset($GLOBALS['id']) ? $GLOBALS['id'] : '', 'modulepart' => $modulepart, 'relativepath' => $relativepath);
                     $res = $hookmanager->executeHooks('formBuilddocLineOptions', $parameters, $file);
                     if (empty($res)) {
                         $out .= $hookmanager->resPrint;
                         // Complete line
                         $out .= '</tr>';
                     } else {
                         $out = $hookmanager->resPrint;
                     }
                     // Replace line
                 }
             }
             if (count($file_list) == 0 && $headershown) {
                 $out .= '<tr ' . $bc[0] . '><td colspan="3">' . $langs->trans("None") . '</td></tr>';
             }
             $this->numoffiles++;
         }
     }
     if ($headershown) {
         // Affiche pied du tableau
         $out .= "</table>\n";
         if ($genallowed) {
             if (empty($noform)) {
                 $out .= '</form>' . "\n";
             }
         }
     }
     $out .= '<!-- End show_document -->' . "\n";
     //return ($i?$i:$headershown);
     return $out;
 }
开发者ID:Samara94,项目名称:dolibarr,代码行数:101,代码来源:html.formfile.class.php

示例2: parser

 /**
  * 	Parse rss URL
  *
  * 	@param	string	$urlRSS		Url to parse
  * 	@param	int		$maxNb		Max nb of records to get (0 for no limit)
  * 	@param	int		$cachedelay	0=No cache, nb of seconds we accept cache files (cachedir must also be defined)
  * 	@param	string	$cachedir	Directory where to save cache file
  *	@return	int					<0 if KO, >0 if OK
  */
 public function parser($urlRSS, $maxNb = 0, $cachedelay = 60, $cachedir = '')
 {
     global $conf;
     include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
     $rss = '';
     $str = '';
     // This will contain content of feed
     // Check parameters
     if (!dol_is_url($urlRSS)) {
         $this->error = "ErrorBadUrl";
         return -1;
     }
     $this->_urlRSS = $urlRSS;
     $newpathofdestfile = $cachedir . '/' . dol_hash($this->_urlRSS, 3);
     // Force md5 hash (does not contains special chars)
     $newmask = '0644';
     //dol_syslog("RssPArser::parser parse url=".$urlRSS." => cache file=".$newpathofdestfile);
     $nowgmt = dol_now();
     // Search into cache
     $foundintocache = 0;
     if ($cachedelay > 0 && $cachedir) {
         $filedate = dol_filemtime($newpathofdestfile);
         if ($filedate >= $nowgmt - $cachedelay) {
             //dol_syslog("RssParser::parser cache file ".$newpathofdestfile." is not older than now - cachedelay (".$nowgmt." - ".$cachedelay.") so we use it.");
             $foundintocache = 1;
             $this->_lastfetchdate = $filedate;
         } else {
             dol_syslog(get_class($this) . "::parser cache file " . $newpathofdestfile . " is not found or older than now - cachedelay (" . $nowgmt . " - " . $cachedelay . ") so we can't use it.");
         }
     }
     // Load file into $str
     if ($foundintocache) {
         $str = file_get_contents($newpathofdestfile);
     } else {
         try {
             ini_set("user_agent", "Dolibarr ERP-CRM RSS reader");
             ini_set("max_execution_time", $conf->global->MAIN_USE_RESPONSE_TIMEOUT);
             ini_set("default_socket_timeout", $conf->global->MAIN_USE_RESPONSE_TIMEOUT);
             $opts = array('http' => array('method' => "GET"));
             if (!empty($conf->global->MAIN_USE_CONNECT_TIMEOUT)) {
                 $opts['http']['timeout'] = $conf->global->MAIN_USE_CONNECT_TIMEOUT;
             }
             if (!empty($conf->global->MAIN_PROXY_USE)) {
                 $opts['http']['proxy'] = 'tcp://' . $conf->global->MAIN_PROXY_HOST . ':' . $conf->global->MAIN_PROXY_PORT;
             }
             //var_dump($opts);exit;
             $context = stream_context_create($opts);
             $str = file_get_contents($this->_urlRSS, false, $context);
         } catch (Exception $e) {
             print 'Error retrieving URL ' . $this->urlRSS . ' - ' . $e->getMessage();
         }
     }
     if ($str !== false) {
         // Convert $str into xml
         if (!empty($conf->global->EXTERNALRSS_USE_SIMPLEXML)) {
             //print 'xx'.LIBXML_NOCDATA;
             libxml_use_internal_errors(false);
             $rss = simplexml_load_string($str, "SimpleXMLElement", LIBXML_NOCDATA);
         } else {
             $xmlparser = xml_parser_create('');
             if (!is_resource($xmlparser)) {
                 $this->error = "ErrorFailedToCreateParser";
                 return -1;
             }
             xml_set_object($xmlparser, $this);
             xml_set_element_handler($xmlparser, 'feed_start_element', 'feed_end_element');
             xml_set_character_data_handler($xmlparser, 'feed_cdata');
             $status = xml_parse($xmlparser, $str);
             xml_parser_free($xmlparser);
             $rss = $this;
             //var_dump($rss->_format);exit;
         }
     }
     // If $rss loaded
     if ($rss) {
         // Save file into cache
         if (empty($foundintocache) && $cachedir) {
             dol_syslog(get_class($this) . "::parser cache file " . $newpathofdestfile . " is saved onto disk.");
             if (!dol_is_dir($cachedir)) {
                 dol_mkdir($cachedir);
             }
             $fp = fopen($newpathofdestfile, 'w');
             fwrite($fp, $str);
             fclose($fp);
             if (!empty($conf->global->MAIN_UMASK)) {
                 $newmask = $conf->global->MAIN_UMASK;
             }
             @chmod($newpathofdestfile, octdec($newmask));
             $this->_lastfetchdate = $nowgmt;
         }
         unset($str);
//.........这里部分代码省略.........
开发者ID:Samara94,项目名称:dolibarr,代码行数:101,代码来源:rssparser.class.php

示例3: urlencode

 // Define path to preview pdf file (preview precompiled "file.ext" are "file.ext_preview.png")
 $fileimage = $file . '_preview.png';
 // If PDF has 1 page
 $fileimagebis = $file . '_preview-0.pdf.png';
 // If PDF has more than one page
 $relativepathimage = $relativepath . '_preview.png';
 $var = true;
 // Si fichier PDF existe
 if (file_exists($file)) {
     $encfile = urlencode($file);
     print '<table class="nobordernopadding" width="100%">';
     print '<tr class="liste_titre"><td colspan="4">' . $langs->trans("Documents") . '</td></tr>';
     print '<tr ' . $bc[$var] . '><td>' . $langs->trans("Proposal") . ' PDF</td>';
     print '<td><a data-ajax="false" href="' . DOL_URL_ROOT . '/document.php?modulepart=propal&file=' . urlencode($relativepath) . '">' . $object->ref . '.pdf</a></td>';
     print '<td align="right">' . dol_print_size(dol_filesize($file)) . '</td>';
     print '<td align="right">' . dol_print_date(dol_filemtime($file), 'dayhour') . '</td>';
     print '</tr>';
     print "</table>\n";
     // Conversion du PDF en image png si fichier png non existant
     if (!file_exists($fileimage) && !file_exists($fileimagebis) || filemtime($fileimage) < filemtime($file)) {
         if (class_exists("Imagick")) {
             $ret = dol_convert_file($file, 'png', $fileimage);
             if ($ret < 0) {
                 $error++;
             }
         } else {
             $langs->load("errors");
             print '<font class="error">' . $langs->trans("ErrorNoImagickReadimage") . '</font>';
         }
     }
 }
开发者ID:Samara94,项目名称:dolibarr,代码行数:31,代码来源:apercu.php

示例4: getTransformRateByMonthWithPrevYear

	/**
	 * Return amount of elements by month for several years
	 *
	 * @param int $endyear		End year
	 * @param int $startyear	Start year
	 * @param int $cachedelay accept for cache file (0=No read, no save of cache, -1=No read but save)
	 * @return array of values
	 */
	function getTransformRateByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0)
	{
		global $conf, $user, $langs;

		if ($startyear > $endyear) return - 1;

		$datay = array();

		// Search into cache
		if (! empty($cachedelay))
		{
			include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
			include_once DOL_DOCUMENT_ROOT . '/core/lib/json.lib.php';
		}

		$newpathofdestfile = $conf->user->dir_temp . '/' . get_class($this) . '_' . __FUNCTION__ . '_' . (empty($this->cachefilesuffix) ? '' : $this->cachefilesuffix . '_') . $langs->defaultlang . '_user' . $user->id . '.cache';
		$newmask = '0644';

		$nowgmt = dol_now();

		$foundintocache = 0;
		if ($cachedelay > 0) {
			$filedate = dol_filemtime($newpathofdestfile);
			if ($filedate >= ($nowgmt - $cachedelay)) {
				$foundintocache = 1;

				$this->_lastfetchdate[get_class($this) . '_' . __FUNCTION__] = $filedate;
			} else {
				dol_syslog(get_class($this) . '::' . __FUNCTION__ . " cache file " . $newpathofdestfile . " is not found or older than now - cachedelay (" . $nowgmt . " - " . $cachedelay . ") so we can't use it.");
			}
		}

		// Load file into $data
		if ($foundintocache) // Cache file found and is not too old
		{
			dol_syslog(get_class($this) . '::' . __FUNCTION__ . " read data from cache file " . $newpathofdestfile . " " . $filedate . ".");
			$data = json_decode(file_get_contents($newpathofdestfile), true);
		} else {
			$year = $startyear;
			while ( $year <= $endyear ) {
				$datay[$year] = $this->getTransformRateByMonth($year);
				$year ++;
			}

			$data = array ();
			// $data = array('xval'=>array(0=>xlabel,1=>yval1,2=>yval2...),...)
			for($i = 0; $i < 12; $i ++) {
				$data[$i][] = $datay[$endyear][$i][0]; // set label
				$year = $startyear;
				while ( $year <= $endyear ) {
					$data[$i][] = $datay[$year][$i][1]; // set yval for x=i
					$year ++;
				}
			}
		}

		// Save cache file
		if (empty($foundintocache) && ($cachedelay > 0 || $cachedelay == - 1)) {
			dol_syslog(get_class($this) . '::' . __FUNCTION__ . " save cache file " . $newpathofdestfile . " onto disk.");
			if (! dol_is_dir($conf->user->dir_temp))
				dol_mkdir($conf->user->dir_temp);
			$fp = fopen($newpathofdestfile, 'w');
			fwrite($fp, json_encode($data));
			fclose($fp);
			if (! empty($conf->global->MAIN_UMASK))
				$newmask = $conf->global->MAIN_UMASK;
			@chmod($newpathofdestfile, octdec($newmask));

			$this->_lastfetchdate[get_class($this) . '_' . __FUNCTION__] = $nowgmt;
		}

		return $data;
	}
开发者ID:NoisyBoy86,项目名称:Dolibarr_test,代码行数:81,代码来源:projectstats.class.php

示例5: clearstatcache

}
// Construit liste des fichiers
clearstatcache();
$totalsize = 0;
$filearray = array();
$errorlevel = error_reporting();
error_reporting(0);
$handle = opendir($upload_dir);
error_reporting($errorlevel);
if (is_resource($handle)) {
    $i = 0;
    while (($file = readdir($handle)) !== false) {
        if (!is_dir($dir . $file) && substr($file, 0, 1) != '.' && substr($file, 0, 3) != 'CVS') {
            $filearray[$i]->name = $file;
            $filearray[$i]->size = dol_filesize($upload_dir . "/" . $file);
            $filearray[$i]->date = dol_filemtime($upload_dir . "/" . $file);
            $totalsize += $filearray[$i]->size;
            $i++;
        }
    }
    closedir($handle);
} else {
    //            print '<div class="error">'.$langs->trans("ErrorCanNotReadDir",$upload_dir).'</div>';
}
/*
print '<table class="border"width="100%">';
// Nbre fichiers
print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
//Total taille
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
print '</table>';
开发者ID:nrjacker4,项目名称:crm-php,代码行数:31,代码来源:docother.php

示例6: dol_sort_array

            print '<td align="center">' . $langs->trans("ExpectedChecksum") . '</td>';
            print '<td align="center">' . $langs->trans("CurrentChecksum") . '</td>';
            print '<td align="right">' . $langs->trans("Size") . '</td>';
            print '<td align="right">' . $langs->trans("DateModification") . '</td>';
            print '</tr>' . "\n";
            $var = true;
            $tmpfilelist = dol_sort_array($file_list['updated'], 'filename');
            if (is_array($tmpfilelist) && count($tmpfilelist)) {
                foreach ($tmpfilelist as $file) {
                    $var = !$var;
                    print '<tr ' . $bc[$var] . '>';
                    print '<td>' . $file['filename'] . '</td>' . "\n";
                    print '<td align="center">' . $file['expectedmd5'] . '</td>' . "\n";
                    print '<td align="center">' . $file['md5'] . '</td>' . "\n";
                    print '<td align="right">' . dol_print_size(dol_filesize(DOL_DOCUMENT_ROOT . '/' . $file['filename'])) . '</td>' . "\n";
                    print '<td align="right">' . dol_print_date(dol_filemtime(DOL_DOCUMENT_ROOT . '/' . $file['filename']), 'dayhour') . '</td>' . "\n";
                    print "</tr>\n";
                }
            } else {
                print '<tr ' . $bc[false] . '><td colspan="5">' . $langs->trans("None") . '</td></tr>';
            }
            print '</table>';
        } else {
            print 'Error: Failed to found dolibarr_htdocs_dir into XML file ' . $xmlfile;
            $error++;
        }
    } else {
        print 'Error: Failed to parse XML for input file ' . $xmlfile;
        $error++;
    }
} else {
开发者ID:Samara94,项目名称:dolibarr,代码行数:31,代码来源:filecheck.php

示例7: build_exportfile

 /**
  *		Export events from database into a cal file.
  *		@param		format			'vcal', 'ical/ics', 'rss'
  *		@param		type			'event' or 'journal'
  *		@param		cachedelay		Do not rebuild file if date older than cachedelay seconds
  *		@param		filename		Force filename
  *		@param		filters			Array of filters
  *		@return     int     		<0 if error, nb of events in new file if ok
  */
 function build_exportfile($format, $type, $cachedelay, $filename, $filters)
 {
     global $conf, $langs, $dolibarr_main_url_root, $mysoc;
     require_once DOL_DOCUMENT_ROOT . "/lib/xcal.lib.php";
     require_once DOL_DOCUMENT_ROOT . "/lib/date.lib.php";
     dol_syslog("ActionComm::build_exportfile Build export file format=" . $format . ", type=" . $type . ", cachedelay=" . $cachedelay . ", filename=" . $filename . ", filters size=" . sizeof($filters), LOG_DEBUG);
     // Check parameters
     if (empty($format)) {
         return -1;
     }
     // Clean parameters
     if (!$filename) {
         $extension = 'vcs';
         if ($format == 'ical') {
             $extension = 'ics';
         }
         $filename = $format . '.' . $extension;
     }
     // Create dir and define output file (definitive and temporary)
     $result = create_exdir($conf->agenda->dir_temp);
     $outputfile = $conf->agenda->dir_temp . '/' . $filename;
     $result = 0;
     $buildfile = true;
     $login = '';
     $logina = '';
     $logind = '';
     $logint = '';
     $now = dol_now();
     if ($cachedelay) {
         $nowgmt = dol_now();
         include_once DOL_DOCUMENT_ROOT . '/lib/files.lib.php';
         if (dol_filemtime($outputfile) > $nowgmt - $cachedelay) {
             dol_syslog("ActionComm::build_exportfile file " . $outputfile . " is not older than now - cachedelay (" . $nowgmt . " - " . $cachedelay . "). Build is canceled");
             $buildfile = false;
         }
     }
     if ($buildfile) {
         // Build event array
         $eventarray = array();
         $sql = "SELECT a.id,";
         $sql .= " a.datep,";
         // Start
         $sql .= " a.datep2,";
         // End
         $sql .= " a.durationp,";
         $sql .= " a.datec, a.tms as datem,";
         $sql .= " a.note, a.label, a.fk_action as type_id,";
         $sql .= " a.fk_soc,";
         $sql .= " a.fk_user_author, a.fk_user_mod,";
         $sql .= " a.fk_user_action, a.fk_user_done,";
         $sql .= " a.fk_contact, a.percent as percentage,";
         $sql .= " a.fk_element, a.elementtype,";
         $sql .= " a.priority, a.fulldayevent, a.location,";
         $sql .= " u.firstname, u.name,";
         $sql .= " s.nom as socname,";
         $sql .= " c.id as type_id, c.code as type_code, c.libelle";
         $sql .= " FROM (" . MAIN_DB_PREFIX . "c_actioncomm as c, " . MAIN_DB_PREFIX . "actioncomm as a)";
         $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "user as u on u.rowid = a.fk_user_author";
         $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe as s on s.rowid = a.fk_soc AND s.entity IN (0, " . $conf->entity . ")";
         $sql .= " WHERE a.fk_action=c.id";
         $sql .= " AND a.entity = " . $conf->entity;
         foreach ($filters as $key => $value) {
             if ($key == 'notolderthan') {
                 $sql .= " AND a.datep >= '" . $this->db->idate($now - $value * 24 * 60 * 60) . "'";
             }
             if ($key == 'year') {
                 $sql .= " AND a.datep BETWEEN '" . $this->db->idate(dol_get_first_day($value, 1)) . "' AND '" . $this->db->idate(dol_get_last_day($value, 12)) . "'";
             }
             if ($key == 'id') {
                 $sql .= " AND a.id=" . (is_numeric($value) ? $value : 0);
             }
             if ($key == 'idfrom') {
                 $sql .= " AND a.id >= " . (is_numeric($value) ? $value : 0);
             }
             if ($key == 'idto') {
                 $sql .= " AND a.id <= " . (is_numeric($value) ? $value : 0);
             }
             if ($key == 'login') {
                 $login = $value;
                 $userforfilter = new User($this->db);
                 $result = $userforfilter->fetch('', $value);
                 $sql .= " AND (";
                 $sql .= " a.fk_user_author = " . $userforfilter->id;
                 $sql .= " OR a.fk_user_action = " . $userforfilter->id;
                 $sql .= " OR a.fk_user_done = " . $userforfilter->id;
                 $sql .= ")";
             }
             if ($key == 'logina') {
                 $logina = $value;
                 $userforfilter = new User($this->db);
                 $result = $userforfilter->fetch('', $value);
//.........这里部分代码省略.........
开发者ID:netors,项目名称:dolibarr,代码行数:101,代码来源:actioncomm.class.php

示例8: dol_dir_list

/**
 *  Scan a directory and return a list of files/directories.
 *  Content for string is UTF8 and dir separator is "/".
 *  @param		$path        	Starting path from which to search
 *  @param		$types        	Can be "directories", "files", or "all"
 *  @param		$recursive		Determines whether subdirectories are searched
 *  @param		$filter        	Regex for include filter
 *  @param		$excludefilter  Array of Regex for exclude filter (example: array('\.meta$','^\.')
 *  @param		$sortcriteria	Sort criteria ("","name","date","size")
 *  @param		$sortorder		Sort order (SORT_ASC, SORT_DESC)
 *	@param		$mode			0=Return array minimum keys loaded (faster), 1=Force all keys like date and size to be loaded (slower), 2=Force load of date only, 3=Force load of size only
 *  @return		array			Array of array('name'=>'xxx','fullname'=>'/abc/xxx','date'=>'yyy','size'=>99,'type'=>'dir|file')
 */
function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefilter="", $sortcriteria="name", $sortorder=SORT_ASC, $mode=0)
{
	dol_syslog("files.lib.php::dol_dir_list path=".$path." types=".$types." recursive=".$recursive." filter=".$filter." excludefilter=".$excludefilter);

	$loaddate=($mode==1||$mode==2)?true:false;
	$loadsize=($mode==1||$mode==3)?true:false;

	// Clean parameters
	$path=preg_replace('/([\\/]+)$/i','',$path);
	$newpath=dol_osencode($path);

	if (! is_dir($newpath)) return array();

	if ($dir = opendir($newpath))
	{
		$file_list = array();
		while (false !== ($file = readdir($dir)))
		{
			if (! utf8_check($file)) $file=utf8_encode($file);	// To be sure data is stored in utf8 in memory

			$qualified=1;

			// Define excludefilterarray
			$excludefilterarray=array('^\.');
			if (is_array($excludefilter))
			{
			     $excludefilterarray=array_merge($excludefilterarray,$excludefilter);
			}
			else if ($excludefilter) $excludefilterarray[]=$excludefilter;
            // Check if file is qualified
			foreach($excludefilterarray as $filt)
		    {
		         if (preg_match('/'.$filt.'/i',$file)) { $qualified=0; break; }
		    }

			if ($qualified)
			{
			    $isdir=is_dir(dol_osencode($path."/".$file));
			    // Check whether this is a file or directory and whether we're interested in that type
				if ($isdir && (($types=="directories") || ($types=="all") || $recursive))
				{
					// Add entry into file_list array
                    if (($types=="directories") || ($types=="all"))
                    {
    				    if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file);
    					if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file);

    					if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file))
    					{
    						$file_list[] = array(
    						"name" => $file,
    						"fullname" => $path.'/'.$file,
    						"date" => $filedate,
    						"size" => $filesize,
    						"type" => 'dir'
    						);
    					}
                    }

					// if we're in a directory and we want recursive behavior, call this function again
					if ($recursive)
					{
						$file_list = array_merge($file_list,dol_dir_list($path."/".$file, $types, $recursive, $filter, $excludefilter, $sortcriteria, $sortorder, $mode));
					}
				}
				else if (! $isdir && (($types == "files") || ($types == "all")))
				{
				    // Add file into file_list array
					if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file);
					if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file);

					if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file))
					{
					    $file_list[] = array(
						"name" => $file,
						"fullname" => $path.'/'.$file,
						"date" => $filedate,
						"size" => $filesize,
						"type" => 'file'
						);
					}
				}
			}
		}
		closedir($dir);

		// Obtain a list of columns
//.........这里部分代码省略.........
开发者ID:remyyounes,项目名称:dolibarr,代码行数:101,代码来源:files.lib.php

示例9: dol_cache_refresh

/**
 * Test if Refresh needed
 *
 * @param string $directory Directory of cache
 * @param string $filename Name of filecache
 * @param int $cachetime Cachetime delay
 * @return boolean 0 no refresh 1 if refresh needed
 */
function dol_cache_refresh($directory, $filename, $cachetime)
{
    $now = dol_now();
    $cachefile = $directory . $filename;
    $refresh = !file_exists($cachefile) || $now - $cachetime > dol_filemtime($cachefile);
    return $refresh;
}
开发者ID:NoisyBoy86,项目名称:Dolibarr_test,代码行数:15,代码来源:files.lib.php

示例10: opendir

    if (is_dir($dir . '/' . $year)) {
        $handle = opendir($dir . '/' . $year);
        if ($found) {
            print '<br>';
        }
        print '<br>';
        print '<table width="100%" class="noborder">';
        print '<tr class="liste_titre">';
        print '<td>' . $langs->trans("Reporting") . '</td>';
        print '<td align="right">' . $langs->trans("Size") . '</td>';
        print '<td align="right">' . $langs->trans("Date") . '</td>';
        print '</tr>';
        $var = true;
        if (is_resource($handle)) {
            while (($file = readdir($handle)) !== false) {
                if (preg_match('/^payment/i', $file)) {
                    $var = !$var;
                    $tfile = $dir . '/' . $year . '/' . $file;
                    $relativepath = $year . '/' . $file;
                    print "<tr " . $bc[$var] . ">" . '<td><a data-ajax="false" href="' . DOL_URL_ROOT . '/document.php?modulepart=facture_paiement&amp;file=' . urlencode($relativepath) . '">' . img_pdf() . ' ' . $file . '</a></td>';
                    print '<td align="right">' . dol_print_size(dol_filesize($tfile)) . '</td>';
                    print '<td align="right">' . dol_print_date(dol_filemtime($tfile), "dayhour") . '</td></tr>';
                }
            }
            closedir($handle);
        }
        print '</table>';
    }
}
llxFooter();
$db->close();
开发者ID:Samara94,项目名称:dolibarr,代码行数:31,代码来源:rapport.php

示例11: dol_dir_list

/**
 *  Scan a directory and return a list of files/directories.
 *  Content for string is UTF8 and dir separator is "/".
 *
 *  @param	string		$path        	Starting path from which to search
 *  @param	string		$types        	Can be "directories", "files", or "all"
 *  @param	int			$recursive		Determines whether subdirectories are searched
 *  @param	string		$filter        	Regex filter to restrict list. This regex value must be escaped for '/', since this char is used for preg_match function
 *  @param	array		$excludefilter  Array of Regex for exclude filter (example: array('(\.meta|_preview\.png)$','^\.'))
 *  @param	string		$sortcriteria	Sort criteria ("","fullname","name","date","size")
 *  @param	string		$sortorder		Sort order (SORT_ASC, SORT_DESC)
 *	@param	int			$mode			0=Return array minimum keys loaded (faster), 1=Force all keys like date and size to be loaded (slower), 2=Force load of date only, 3=Force load of size only
 *  @param	int			$nohook			Disable all hooks
 *  @return	array						Array of array('name'=>'xxx','fullname'=>'/abc/xxx','date'=>'yyy','size'=>99,'type'=>'dir|file')
 */
function dol_dir_list($path, $types = "all", $recursive = 0, $filter = "", $excludefilter = "", $sortcriteria = "name", $sortorder = SORT_ASC, $mode = 0, $nohook = false)
{
    global $db, $hookmanager;
    global $object;
    dol_syslog("files.lib.php::dol_dir_list path=" . $path . " types=" . $types . " recursive=" . $recursive . " filter=" . $filter . " excludefilter=" . json_encode($excludefilter));
    //print 'xxx'."files.lib.php::dol_dir_list path=".$path." types=".$types." recursive=".$recursive." filter=".$filter." excludefilter=".json_encode($excludefilter);
    $loaddate = $mode == 1 || $mode == 2 ? true : false;
    $loadsize = $mode == 1 || $mode == 3 ? true : false;
    // Clean parameters
    $path = preg_replace('/([\\/]+)$/i', '', $path);
    $newpath = dol_osencode($path);
    if (!$nohook) {
        $hookmanager->initHooks(array('fileslib'));
        $parameters = array('path' => $newpath, 'types' => $types, 'recursive' => $recursive, 'filter' => $filter, 'excludefilter' => $excludefilter, 'sortcriteria' => $sortcriteria, 'sortorder' => $sortorder, 'loaddate' => $loaddate, 'loadsize' => $loadsize);
        $reshook = $hookmanager->executeHooks('getNodesList', $parameters, $object);
    }
    // $reshook may contain returns stacked by other modules
    // $reshook is always empty with an array for can not lose returns stacked with other modules
    // $hookmanager->resArray may contain array stacked by other modules
    if (!$nohook && !empty($hookmanager->resArray)) {
        return $hookmanager->resArray['nodes'];
    } else {
        if (!is_dir($newpath)) {
            return array();
        }
        if ($dir = opendir($newpath)) {
            $filedate = '';
            $filesize = '';
            $file_list = array();
            while (false !== ($file = readdir($dir))) {
                if (!utf8_check($file)) {
                    $file = utf8_encode($file);
                }
                // To be sure data is stored in utf8 in memory
                $qualified = 1;
                // Define excludefilterarray
                $excludefilterarray = array('^\\.');
                if (is_array($excludefilter)) {
                    $excludefilterarray = array_merge($excludefilterarray, $excludefilter);
                } else {
                    if ($excludefilter) {
                        $excludefilterarray[] = $excludefilter;
                    }
                }
                // Check if file is qualified
                foreach ($excludefilterarray as $filt) {
                    if (preg_match('/' . $filt . '/i', $file)) {
                        $qualified = 0;
                        break;
                    }
                }
                if ($qualified) {
                    $isdir = is_dir(dol_osencode($path . "/" . $file));
                    // Check whether this is a file or directory and whether we're interested in that type
                    if ($isdir && ($types == "directories" || $types == "all" || $recursive)) {
                        // Add entry into file_list array
                        if ($types == "directories" || $types == "all") {
                            if ($loaddate || $sortcriteria == 'date') {
                                $filedate = dol_filemtime($path . "/" . $file);
                            }
                            if ($loadsize || $sortcriteria == 'size') {
                                $filesize = dol_filesize($path . "/" . $file);
                            }
                            if (!$filter || preg_match('/' . $filter . '/i', $file)) {
                                preg_match('/([^\\/]+)\\/[^\\/]+$/', $path . '/' . $file, $reg);
                                $level1name = isset($reg[1]) ? $reg[1] : '';
                                $file_list[] = array("name" => $file, "path" => $path, "level1name" => $level1name, "fullname" => $path . '/' . $file, "date" => $filedate, "size" => $filesize, "type" => 'dir');
                            }
                        }
                        // if we're in a directory and we want recursive behavior, call this function again
                        if ($recursive) {
                            $file_list = array_merge($file_list, dol_dir_list($path . "/" . $file, $types, $recursive, $filter, $excludefilter, $sortcriteria, $sortorder, $mode));
                        }
                    } else {
                        if (!$isdir && ($types == "files" || $types == "all")) {
                            // Add file into file_list array
                            if ($loaddate || $sortcriteria == 'date') {
                                $filedate = dol_filemtime($path . "/" . $file);
                            }
                            if ($loadsize || $sortcriteria == 'size') {
                                $filesize = dol_filesize($path . "/" . $file);
                            }
                            if (!$filter || preg_match('/' . $filter . '/i', $file)) {
                                preg_match('/([^\\/]+)\\/[^\\/]+$/', $path . '/' . $file, $reg);
                                $level1name = isset($reg[1]) ? $reg[1] : '';
//.........这里部分代码省略.........
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:101,代码来源:files.lib.php

示例12: dol_nl2br

if ($_GET["action"] == 'edit')
{
	print '<textarea class="flat" name="description" cols="80">';
	print $ecmdir->description;
	print '</textarea>';
}
else print dol_nl2br($ecmdir->description);
print '</td></tr>';
print '<tr><td>'.$langs->trans("ECMCreationUser").'</td><td>';
$userecm=new User($db);
$userecm->fetch($ecmdir->fk_user_c);
print $userecm->getNomUrl(1);
print '</td></tr>';
*/
print '<tr><td>'.$langs->trans("ECMCreationDate").'</td><td>';
print dol_print_date(dol_filemtime($fullpath),'dayhour');
print '</td></tr>';
/*print '<tr><td>'.$langs->trans("ECMDirectoryForFiles").'</td><td>';
print '/ecm/'.$relativepath;
print '</td></tr>';
print '<tr><td>'.$langs->trans("ECMNbOfDocs").'</td><td>';
print sizeof($filearray);
print '</td></tr>';
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td>';
print dol_print_size($totalsize);
print '</td></tr>';
*/
if ($_GET["action"] == 'edit')
{
	print '<tr><td colspan="2" align="center">';
	print '<input type="submit" class="button" name="submit" value="'.$langs->trans("Save").'">';
开发者ID:remyyounes,项目名称:dolibarr,代码行数:31,代码来源:docfile.php

示例13: getAllByProductEntry

 /**
  * Return count, and sum of products
  *
  * @param	int		$year			Year
  * @param	int		$cachedelay		Delay we accept for cache file (0=No read, no save of cache, -1=No read but save)
  * @return 	array					Array of values
  */
 function getAllByProductEntry($year, $cachedelay = 0)
 {
     global $conf, $user, $langs;
     $datay = array();
     // Search into cache
     if (!empty($cachedelay)) {
         include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
         include_once DOL_DOCUMENT_ROOT . '/core/lib/json.lib.php';
     }
     $newpathofdestfile = $conf->user->dir_temp . '/' . get_class($this) . '_' . __FUNCTION__ . '_' . (empty($this->cachefilesuffix) ? '' : $this->cachefilesuffix . '_') . $langs->defaultlang . '_user' . $user->id . '.cache';
     $newmask = '0644';
     $nowgmt = dol_now();
     $foundintocache = 0;
     if ($cachedelay > 0) {
         $filedate = dol_filemtime($newpathofdestfile);
         if ($filedate >= $nowgmt - $cachedelay) {
             $foundintocache = 1;
             $this->_lastfetchdate[get_class($this) . '_' . __FUNCTION__] = $filedate;
         } else {
             dol_syslog(get_class($this) . '::' . __FUNCTION__ . " cache file " . $newpathofdestfile . " is not found or older than now - cachedelay (" . $nowgmt . " - " . $cachedelay . ") so we can't use it.");
         }
     }
     // Load file into $data
     if ($foundintocache) {
         dol_syslog(get_class($this) . '::' . __FUNCTION__ . " read data from cache file " . $newpathofdestfile . " " . $filedate . ".");
         $data = json_decode(file_get_contents($newpathofdestfile), true);
     } else {
         $data = $this->getAllByProduct($year);
         //					$data[$i][]=$datay[$year][$i][1];	// set yval for x=i
     }
     // Save cache file
     if (empty($foundintocache) && ($cachedelay > 0 || $cachedelay == -1)) {
         dol_syslog(get_class($this) . '::' . __FUNCTION__ . " save cache file " . $newpathofdestfile . " onto disk.");
         if (!dol_is_dir($conf->user->dir_temp)) {
             dol_mkdir($conf->user->dir_temp);
         }
         $fp = fopen($newpathofdestfile, 'w');
         if ($fp) {
             fwrite($fp, json_encode($data));
             fclose($fp);
             if (!empty($conf->global->MAIN_UMASK)) {
                 $newmask = $conf->global->MAIN_UMASK;
             }
             @chmod($newpathofdestfile, octdec($newmask));
         }
         $this->_lastfetchdate[get_class($this) . '_' . __FUNCTION__] = $nowgmt;
     }
     return $data;
 }
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:56,代码来源:stats.class.php

示例14: showdocuments


//.........这里部分代码省略.........
             $out .= ' ' . img_warning($langs->transnoentitiesnoconv("WarningNoDocumentModelActivated"));
         }
         $out .= '</th>';
         $out .= '</tr>';
         // Execute hooks
         $parameters = array('socid' => isset($GLOBALS['socid']) ? $GLOBALS['socid'] : '', 'id' => isset($GLOBALS['id']) ? $GLOBALS['id'] : '', 'modulepart' => $modulepart);
         if (is_object($hookmanager)) {
             $out .= $hookmanager->executeHooks('formBuilddocOptions', $parameters, $GLOBALS['object']);
         }
     }
     // Get list of files
     if ($filedir) {
         $png = '';
         $filter = '';
         if ($iconPDF == 1) {
             $png = '\\.png$';
             $filter = $filename . '.pdf';
         }
         $file_list = dol_dir_list($filedir, 'files', 0, $filter, '\\.meta$' . ($png ? '|' . $png : ''), 'date', SORT_DESC);
         // Affiche en-tete tableau si non deja affiche
         if (!empty($file_list) && !$headershown && !$iconPDF) {
             $headershown = 1;
             $out .= '<div class="titre">' . $titletoshow . '</div>';
             $out .= '<table class="border" summary="listofdocumentstable" width="100%">';
         } else {
             if (empty($file_list) && !empty($iconPDF)) {
                 // For ajax treatment
                 $out .= '<div id="gen_pdf_' . $filename . '" class="linkobject hideobject">' . img_picto('', 'refresh') . '</div>' . "\n";
             }
         }
         // Loop on each file found
         foreach ($file_list as $file) {
             $var = !$var;
             // Define relative path for download link (depends on module)
             $relativepath = $file["name"];
             // Cas general
             if ($filename) {
                 $relativepath = $filename . "/" . $file["name"];
             }
             // Cas propal, facture...
             // Autre cas
             if ($modulepart == 'donation') {
                 $relativepath = get_exdir($filename, 2) . $file["name"];
             }
             if ($modulepart == 'export') {
                 $relativepath = $file["name"];
             }
             if (!$iconPDF) {
                 $out .= "<tr " . $bc[$var] . ">";
             }
             // Show file name with link to download
             if (!$iconPDF) {
                 $out .= '<td nowrap="nowrap">';
             }
             $out .= '<a href="' . DOL_URL_ROOT . '/document.php?modulepart=' . $modulepart . '&amp;file=' . urlencode($relativepath) . '"';
             $mime = dol_mimetype($relativepath, '', 0);
             if (preg_match('/text/', $mime)) {
                 $out .= ' target="_blank"';
             }
             $out .= '>';
             if (!$iconPDF) {
                 $out .= img_mime($file["name"], $langs->trans("File") . ': ' . $file["name"]) . ' ' . dol_trunc($file["name"], $maxfilenamelength);
             } else {
                 $out .= img_pdf($file["name"], 2);
             }
             $out .= '</a>' . "\n";
             if (!$iconPDF) {
                 $out .= '</td>';
                 // Show file size
                 $out .= '<td align="right" nowrap="nowrap">' . dol_print_size(dol_filesize($filedir . "/" . $file["name"])) . '</td>';
                 // Show file date
                 $out .= '<td align="right" nowrap="nowrap">' . dol_print_date(dol_filemtime($filedir . "/" . $file["name"]), 'dayhour') . '</td>';
             }
             if ($delallowed) {
                 $out .= '<td align="right">';
                 //$out.= '<a href="'.DOL_URL_ROOT.'/document.php?action=remove_file&amp;modulepart='.$modulepart.'&amp;file='.urlencode($relativepath);
                 $out .= '<a href="' . $urlsource . '&action=remove_file&modulepart=' . $modulepart . '&file=' . urlencode($relativepath);
                 $out .= $param ? '&' . $param : '';
                 $out .= '&urlsource=' . urlencode($urlsource);
                 $out .= '">' . img_delete() . '</a></td>';
             }
             if (!$iconPDF) {
                 $out .= '</tr>';
             }
             $this->numoffiles++;
         }
     }
     if ($headershown) {
         // Affiche pied du tableau
         $out .= "</table>\n";
         if ($genallowed) {
             if (empty($noform)) {
                 $out .= '</form>' . "\n";
             }
         }
     }
     $out .= '<!-- End show_document -->' . "\n";
     //return ($i?$i:$headershown);
     return $out;
 }
开发者ID:nrjacker4,项目名称:crm-php,代码行数:101,代码来源:html.formfile.class.php


注:本文中的dol_filemtime函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。