File Manager

Current Path : /webspace/www.saveursetterroir.be/html/modules/JQueryTools/
Upload File :
Current File : //webspace/www.saveursetterroir.be/html/modules/JQueryTools/action.incjs.php

<?php
#BEGIN_LICENSE
#-------------------------------------------------------------------------
# Module: JQueryTools (c) 2008 by Robert Campbell 
#         (calguy1000@cmsmadesimple.org)
#  A toolbox of conveniences to provide dynamic javascripty functionality
#  for CMS modules and website designers.
# 
#-------------------------------------------------------------------------
# CMS - CMS Made Simple is (c) 2005 by Ted Kulp (wishy@cmsmadesimple.org)
# This project's homepage is: http://www.cmsmadesimple.org
#
#-------------------------------------------------------------------------
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# However, as a special exception to the GPL, this software is distributed
# as an addon module to CMS Made Simple.  You may not use this software
# in any Non GPL version of CMS Made simple, or in any version of CMS
# Made simple that does not indicate clearly and obviously in its admin 
# section that the site was built with CMS Made simple.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL
#
#-------------------------------------------------------------------------
#END_LICENSE
if( !isset($gCms) ) exit;

$config = cmsms()->GetConfig();
$basedir = $this->GetModulePath().'/lib';
$dirs = glob($basedir.'/*.lib');

$libraries = array();
if( is_array($dirs) && count($dirs) ) {
  foreach( $dirs as $one ) {
    if( !is_dir($one) ) continue;
    if( !file_exists($one.'/info.dat') ) continue;
    $bn = basename($one);
    $name = substr($bn,0,-4);
    include_once($one.'/info.dat');

    $info['base_dir'] = $one;
    $info['base_url'] = $this->GetModuleURLPath()."/lib/$bn";
    $libraries[$name] = $info;

    unset($info);
  }
}

// loop through the libraries
// find the ones with no dependencies

$baseurl = $config->smart_root_url().'/modules/'.$this->GetName().'/lib/';
$fmt = '<script type="text/javascript" src="%s"></script>'."\n";
$do_css = 1;
$do_js = 1;
$excludes = array();
$do_jquery = 1;

if( !cmsms()->is_frontend_request() ) {
  $excludes[] = 'jquery';
  $excludes[] = 'ui';
  $excludes[] = 'fileupload'; // this may be included in some admin themes.
}
if( isset($params['no_jquery']) ) {
  $excludes[] = 'jquery';
}
if( isset($params['no_css']) ) {
  $do_css = 0;
}
if( isset($params['no_js']) ) {
  $do_js = 0;
}

if( isset($params['exclude']) ) {
  $exclude = explode(',',$params['exclude']);
  $excludes = array_merge($excludes,$exclude);
}
$excludes = array_unique($excludes);

// assemble the list of libraries and css files.
$libs = array();
$css = array();
if( !function_exists('jquerytools_incjs') ) {
  function jquerytools_incjs($name,&$libraries,$excludes,&$libs,&$css,$do_js,$do_css) {
    if( !isset($libraries[$name]) ) return;
    if( in_array($name,$excludes) ) return;

    $info =& $libraries[$name];
    if( isset($info['handled']) && $info['handled'] == 1 ) return;

    // do dependencies first
    if( isset($info['depends']) && $info['depends'] ) {
      if( !is_array($info['depends']) ) $info['depends'] = explode(',',$info['depends']);

      foreach( $info['depends'] as $dependency ) {
	jquerytools_incjs($dependency,$libraries,$excludes,$libs,$css,$do_js,$do_css);
      }
    }
    
    // then this library
    if( $do_js && isset($info['js']) && $info['js'] ) {
      if( !is_array($info['js']) ) $info['js'] = explode(',',$info['js']);

      if( isset($info['cdn']) && cmsms()->is_frontend_request() ) {
	// assume only one record.
	$bn = basename($info['cdn']);
	if( isset($libs[$bn]) ) continue;
	$libs[$bn] = $info['cdn'];
      }
      else {
	foreach( $info['js'] as $one_js ) {
	  $bn = basename($one_js);
	  if( isset($libs[$bn]) ) continue;

	  $url = $info['base_url'].'/'.$one_js;
	  $libs[$bn] = $url;
	}
      }
    }

    if( $do_css && isset($info['css']) && $info['css'] ) {
      if( !is_array($info['css']) ) $info['css'] = explode(',',$info['css']);

      foreach( $info['css'] as $one_css ) {
	$bn = basename($one_css);
	if( isset($css[$bn]) ) continue;

	$url = $info['base_url'].'/'.$one_css;
	$css[$bn] = $url;
      }
    }

    $info['handled'] = 1;
  }
}

$this->_libs = array_keys($libraries);
foreach( $this->_libs as $one ) {
  jquerytools_incjs($one,$libraries,$excludes,$libs,$css,$do_js,$do_css);
}

$libs = array_unique($libs);
$css = array_unique($css);

if( count($libs) && $do_js ) {
  $smarty->assign('libs',$libs);
}
if( count($css) && $do_css ) {
  $smarty->assign('css',$css);
}

if( count($css) || count($libs) ) {
  echo $this->ProcessTemplate('incjs.tpl');
}

#
# EOF
#
?>

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com