1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-17 12:48:24 +01:00

Support for commercial plugins.

This commit is contained in:
Cameron 2013-05-06 05:19:20 -07:00
parent 75b56ad326
commit 73c25ffada
2 changed files with 37 additions and 21 deletions

View File

@ -27,11 +27,10 @@ if(e_AJAX_REQUEST && isset($_GET['src'])) // Ajax
$localfile = md5($remotefile.time()).".zip";
$status = "Downloading...";
// e107::getFile()->getRemoteFile($remotefile,$localfile);
e107::getFile()->download($remotefile,'plugin');
$fl = e107::getFile();
//$fl->setAuthKey('username','password');
$fl->download($remotefile,'plugin');
exit;
/*
@ -265,14 +264,13 @@ class pluginManager{
"plugin_icon" => array("title" => EPL_ADLAN_82, "type"=>"icon", "width" => "5%", "thclass" => "middle center",'class'=>'center', "url" => ""),
"plugin_name" => array("title" => EPL_ADLAN_10, 'forced'=>true, "type"=>"text", "width" => "auto", 'class'=>'left', "thclass" => "middle", "url" => ""),
"plugin_version" => array("title" => EPL_ADLAN_11, "type"=>"numeric", "width" => "5%", "thclass" => "middle", "url" => ""),
"plugin_date" => array("title" => "Released ", "type"=>"text", "width" => "10%", "thclass" => "middle"),
"plugin_date" => array("title" => "Released ", "type"=>"text", "width" => "8%", "thclass" => "middle"),
"plugin_folder" => array("title" => EPL_ADLAN_64, "type"=>"text", "width" => "10%", "thclass" => "middle"),
"plugin_category" => array("title" => LAN_CATEGORY, "type"=>"text", "width" => "auto", "thclass" => "middle"),
"plugin_author" => array("title" => EPL_ADLAN_12, "type"=>"text", "width" => "10%", "thclass" => "middle"),
// "plugin_website" => array("title" => EPL_WEBSITE, "type"=>"method", "width" => "5%", "thclass" => "middle center"),
"plugin_compatible" => array("title" => EPL_ADLAN_13, "type"=>"text", "width" => "5%", "thclass" => "middle"),
"plugin_price" => array("title" => "Price", 'nolist'=>true, "forced"=>true, "type"=>"text", "width" => "5%", "thclass" => "left"),
"plugin_compatible" => array("title" => EPL_ADLAN_13, "type"=>"text", "width" => "5%", "thclass" => "middle"),
"plugin_description" => array("title" => EPL_ADLAN_14, "type"=>"bbarea", "width" => "30%", "thclass" => "middle center", 'readParms' => 'expand=1&truncate=180&bb=1'),
"plugin_compliant" => array("title" => EPL_ADLAN_81, "type"=>"text", "width" => "5%", "thclass" => "middle center", "url" => ""),
// "plugin_release" => array("title" => EPL_ADLAN_81, "type"=>"text", "width" => "5%", "thclass" => "middle center", "url" => ""),
@ -298,6 +296,11 @@ class pluginManager{
$this->action = $_GET['mode'];
}
if($this->action == 'online')
{
$this->fields["plugin_price"]['nolist'] = false; // = array("title" => "Price", "forced"=>true, "type"=>"text", "width" => "5%", "thclass" => "middle center");
}
$keys = array_keys($this -> titlearray);
$this->pagetitle = (in_array($this->action,$keys)) ? $this -> titlearray[$this->action] : $this -> titlearray['installed'];
@ -343,9 +346,17 @@ class pluginManager{
$user_pref['admin_pluginmanager_columns'] = false;
$this -> fieldpref = (vartrue($user_pref['admin_pluginmanager_columns'])) ? $user_pref['admin_pluginmanager_columns'] : array("plugin_icon","plugin_name","plugin_version","plugin_date","plugin_description","plugin_category","plugin_compatible","plugin_author","plugin_website","plugin_notes");
$this -> fieldpref = (vartrue($user_pref['admin_pluginmanager_columns'])) ? $user_pref['admin_pluginmanager_columns'] : array("plugin_icon","plugin_name","plugin_version","plugin_date","plugin_description","plugin_category","plugin_compatible","plugin_author","plugin_website","plugin_notes");
foreach($this->fields as $key=>$val)
{
if($val['forced'] == true && substr($key,0,6)=='plugin')
{
$this->fieldpref[] = $key;
}
}
if($this->action == 'avail' || $this->action == 'installed') // Plugin Check is done during upgrade_routine.
{
@ -465,13 +476,14 @@ class pluginManager{
{
$row = $r['@attributes'];
$badge = $this->compatibilityLabel($row['compatibility']);;
$featured = ($row['featured']== 1) ? " <span class='label label-info'>Featured</span>" : '';
$badge = $this->compatibilityLabel($row['compatibility']);;
$featured = ($row['featured']== 1) ? " <span class='label label-info'>Featured</span>" : '';
$price = ($row['price'] > 0) ? "<span class='label label-success'>".$row['price']." credits</span>" : "<span class='label label-success'>Free</span>";
$data[] = array(
'plugin_id' => $c,
'plugin_icon' => vartrue($row['icon'],e_IMAGE."admin_images/plugins_32.png"),
'plugin_name' => $row['name'].$featured,
'plugin_name' => stripslashes($row['name']).$featured,
'plugin_folder' => $row['folder'],
'plugin_date' => vartrue($row['date']),
'plugin_category' => vartrue($r['category'][0]),
@ -482,8 +494,10 @@ class pluginManager{
'plugin_website' => vartrue($row['authorUrl']),
'plugin_url' => $row['url'],
'plugin_notes' => ''
);
'plugin_notes' => '',
'plugin_price' => $price
);
$c++;
}

View File

@ -686,9 +686,9 @@ class e_file
// Use e107.org login.
private function setAuthKey($username,$password)
public function setAuthKey($username,$password)
{
$now = gmdate('y-m-d H:i');
$now = gmdate('y-m-d H');
$this->authKey = sha1($username.md5($password).$now);
return $this;
@ -724,7 +724,7 @@ class e_file
// echo "<script>alert('".$remotefile."')</script>";
$result = $this->getRemoteFile($remotefile,$localfile);
if(!file_exists(e_TEMP.$localfile))
{
$status = ADMIN_FALSE_ICON."<br /><a href='".$remotefile."'>Download Manually</a>";
@ -741,13 +741,15 @@ class e_file
else
{
$contents = file_get_contents(e_TEMP.$localfile);
if($contents == 'false')
if(strlen($contents) < 400)
{
echo "<div class='e-alert'>Authentication Error</div>";
exit;
echo "<script>alert('".$tp->toJS($contents)."')</script>";
return;
}
}
// chmod(e_PLUGIN,0777);
chmod(e_TEMP.$localfile,0755);