File Manager

Current Path : /webspace/www.promiel.be/html/modules/ModuleManager/
Upload File :
Current File : //webspace/www.promiel.be/html/modules/ModuleManager/function.search.php

<?php
#BEGIN_LICENSE
#-------------------------------------------------------------------------
# Module: ModuleManager (c) 2008 by Robert Campbell 
#         (calguy1000@cmsmadesimple.org)
#  An addon module for CMS Made Simple to allow browsing remotely stored
#  modules, viewing information about them, and downloading or upgrading
# 
#-------------------------------------------------------------------------
# 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;

global $CMS_VERSION;
$caninstall = true;
if( FALSE == can_admin_upload() )
{
  echo '<div class="pageerrorcontainer"><div class="pageoverflow"><p class="pageerror">'.$this->Lang('error_permissions').'</p></div></div>';
  $caninstall = false;
}

// see if there are saved results
$search_data = '';
$term = '';
$advanced = 0;
if( isset($_SESSION['modmgr_search']) )
  {
    $search_data = unserialize($_SESSION['modmgr_search']);
  }
if( isset($_SESSION['modmgr_searchterm']) )
  {
    $term = $_SESSION['modmgr_searchterm'];
  }
if( isset($_SESSION['modmgr_searchadv']) )
  {
    $advanced = $_SESSION['modmgr_searchadv'];
  }

// get the modules that are already installed
$instmodules = '';
{
  $result = modmgr_utils::get_installed_modules();
  if( ! $result[0] )
    {
      $this->_DisplayErrorPage( $id, $params, $returnid, $result[1] );
      return;
    }
      
  $instmodules = $result[1];
}

if( isset($params['submit']) )
  {
    $url = $this->GetPreference('module_repository');
    $error = 0;
    $term = trim($params['term']);
    if( strlen($term) < 3 )
      {
	echo $this->ShowErrors($this->Lang('error_searchterm'));
	return;
      }
    $advanced = (int)$params['advanced'];
    
    $res = modulerep_client::search($term,$advanced);
    if( !is_array($res) || $res[0] == FALSE )
      {
	echo $this->ShowErrors($this->Lang('error_search').' '.$res[1]);
	return;
      }

    if( !is_array($res[1]) )
      {
	echo $this->ShowMessage($this->Lang('search_noresults'));
	return;
      }

    $res = $res[1];
    $data = array();
    if( count($res) )
      {
	$res = modmgr_utils::build_module_data($res, $instmodules);
      }

    $search_data = array();
    for( $i = 0; $i < count($res); $i++ )
      {
	$row =& $res[$i];
	$obj = new stdClass();
	foreach( $row as $k => $v )
	  {
	    $obj->$k = $v;
	  }
	
	$obj->name = $this->CreateLink( $id, 'modulelist', $returnid, $row['name'],
					array('name'=>$row['name']));

	$obj->dependslink = $this->CreateLink( $id, 'moduledepends', $returnid,
					       $this->Lang('dependstxt'), 
					       array('name' => $row['name'],
						     'version' => $row['version'],
						     'filename' => $row['filename']));

	$obj->helplink = $this->CreateLink( $id, 'modulehelp', $returnid,
					    $this->Lang('helptxt'),
					    array('name'=>$row['name'],
						  'version'=>$row['version'],
						  'filename'=>$row['filename']));
	$obj->size = (int)((float) $row['size'] / 1024.0 + 0.5);


	switch( $row['status'] ) 
	  {
	  case 'incompatible':
	    $onerow->status = $this->Lang('incompatible');
	    break;
	  case 'uptodate':
	    $onerow->status = $this->Lang('uptodate');
	    break;
	  case 'newerversion':
	    $onerow->status = $this->Lang('newerversion');
	    break;
	  case 'notinstalled':
	    {
	      $mod = $moduledir.DIRECTORY_SEPARATOR.$row['name'];
	      if( (($writable && is_dir($mod) && is_directory_writable( $mod )) ||
		   ($writable && !file_exists( $mod ) )) && $caninstall )
		{
		  $obj->status = $this->CreateLink( $id, 'installmodule', $returnid,
						       $this->Lang('download'), 
						       array('name' => $row['name'],
							     'version' => $row['version'],
							     'filename' => $row['filename'],
							     'size' => $row['size']));
		}

	      else
		{
		  $obj->status = $this->Lang('cantdownload');
		}
	      break;
	    }
	  case 'upgrade':
	    {
	      $mod = $moduledir.DIRECTORY_SEPARATOR.$row['name'];
	      if( (($writable && is_dir($mod) && is_directory_writable( $mod )) ||
		   ($writable && !file_exists( $mod ) )) && $caninstall )
		{
		  $obj->status = $this->CreateLink( $id, 'upgrademodule', $returnid,
						       $this->Lang('upgrade'), 
						       array('name' => $row['name'],
							     'version' => $row['version'],
							     'filename' => $row['filename'],
							     'size' => $row['size']));
		}
	      else
		{
		  $obj->status = $this->Lang('cantdownload');
		}
	      break;
	    }
	  }

// 	$moddir = $moduledir.DIRECTORY_SEPARATOR.$row['name'];
// 	if( (($writable && is_dir($moddir) && is_directory_writable( $moddir )) ||
// 	     ($writable && !file_exists( $moddir ) )) && $caninstall )
// 	  {
// 	    if( (!empty($row['maxcmsversion']) && version_compare($CMS_VERSION,$row['maxcmsversion']) > 0) ||
// 		(!empty($row['mincmsversion']) && version_compare($CMS_VERSION,$row['mincmsversion']) < 0) )
// 	      {
// 		$obj->status = 'incompatible';
// 	      }
// 	    else
// 	      {
// 		$obj->status = $this->CreateLink( $id, 'installmodule', $returnid,
// 						     $this->Lang('upgrade'), 
// 						     array('name' => $row['name'],
// 							   'version' => $row['version'],
// 							   'filename' => $row['filename'],
// 							   'size' => $row['size'],
// 							   'active_tab'=>'newversions',
// 							   'reset_prefs' => 1));
// 	      }
// 	  }
// 	else
// 	  {
// 	    $obj->status = $this->Lang('cantdownload');
// 	  }

	$obj->rowclass = $rowclass;
	if( isset( $row['description'] ) )
	  {
	    $obj->description=$row['description'];
	  }
	
	$search_data[] = $obj;
      }
    $_SESSION['modmgr_search'] = serialize($search_data);
    $_SESSION['mogmgr_searchterm'] = $term;
    $_SESSION['modmgr_searchadv'] = $params['advanced'];
  }

if( is_array($search_data) )
  {  
    $smarty->assign('search_data',$search_data);
  }
$smarty->assign('term',$term);
$smarty->assign('advanced',$advanced);
$smarty->assign('formstart',$this->CreateFormStart($id,'defaultadmin','','post','',false,'',
						   array('active_tab'=>'search')));
$smarty->assign('formend',$this->CreateFormEnd());
$smarty->assign('actionid',$id);
$smarty->assign('mod',$this);

echo $this->ProcessTemplate('admin_search_tab.tpl');
#
# EOF
#
?>

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