public function inspect($fv) { $path = $fv->getPath(); $ft = FileTypeList::getInstance(); $ft->defineImporterAttribute('lines', t('Lines of Code'), 'NUMBER', false); $at1 = FileAttributeKey::getByHandle('lines'); $fv->setAttribute($at1, trim(exec('/bin/cat \'' . $path . '\' | wc -l'))); }
/** * Can take an extension or a filename * Returns any registered information we have for the particular file type, based on its registration */ public static function getType($ext) { $ftl = FileTypeList::getInstance(); if (strpos($ext, '.') !== false) { // filename $h = Loader::helper('file'); $ext = $h->getExtension($ext); } $ext = strtolower($ext); if (is_object($ftl->types[$ext])) { return $ftl->types[$ext]; } else { $ft = new FileType(); // generic return $ft; } }
<?php /** * Routes file types to importers, handlers. * File type icons provided by http://Jordan-Michael.com/ * @package Files * @author Andrew Embler <*****@*****.**> * @copyright Copyright (c) 2003-2009 Concrete5. (http://www.concrete5.org) * @license http://www.concrete5.org/license/ MIT License * */ defined('C5_EXECUTE') or die("Access Denied."); $ft = FileTypeList::getInstance(); $ft->define('jpg,jpeg,jpe', t('JPEG'), FileType::T_IMAGE, 'image', 'image', 'image'); $ft->define('gif', t('GIF'), FileType::T_IMAGE, 'image', 'image', 'image'); $ft->define('png', t('PNG'), FileType::T_IMAGE, 'image', 'image', 'image'); $ft->define('bmp', t('Windows Bitmap'), FileType::T_IMAGE, 'image'); $ft->define('tif,tiff', t('TIFF'), FileType::T_IMAGE, 'image'); $ft->define('htm,html', t('HTML'), FileType::T_IMAGE); $ft->define('swf', t('Flash'), FileType::T_IMAGE, 'image'); $ft->define('ico', t('Icon'), FileType::T_IMAGE); $ft->define('svg', t('SVG'), FileType::T_IMAGE); $ft->define('asf,wmv', t('Windows Video'), FileType::T_VIDEO, 'video', 'video'); $ft->define('mov,qt', t('Quicktime'), FileType::T_VIDEO, 'video', 'video'); $ft->define('avi', t('AVI'), FileType::T_VIDEO, 'video', 'video'); $ft->define('3gp', t('3GP'), FileType::T_VIDEO, 'video', 'video'); $ft->define('txt', t('Plain Text'), FileType::T_TEXT, false, 'text'); $ft->define('csv', t('CSV'), FileType::T_TEXT, false, 'text'); $ft->define('xml', t('XML'), FileType::T_TEXT); $ft->define('php', t('PHP'), FileType::T_TEXT); $ft->define('doc,docx', t('MS Word'), FileType::T_DOCUMENT);