1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-17 20:58:30 +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"; $localfile = md5($remotefile.time()).".zip";
$status = "Downloading..."; $status = "Downloading...";
// e107::getFile()->getRemoteFile($remotefile,$localfile); $fl = e107::getFile();
//$fl->setAuthKey('username','password');
e107::getFile()->download($remotefile,'plugin'); $fl->download($remotefile,'plugin');
exit; 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_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_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_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_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_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_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_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_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_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_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" => ""), // "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']; $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); $keys = array_keys($this -> titlearray);
$this->pagetitle = (in_array($this->action,$keys)) ? $this -> titlearray[$this->action] : $this -> titlearray['installed']; $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; $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. if($this->action == 'avail' || $this->action == 'installed') // Plugin Check is done during upgrade_routine.
{ {
@ -465,13 +476,14 @@ class pluginManager{
{ {
$row = $r['@attributes']; $row = $r['@attributes'];
$badge = $this->compatibilityLabel($row['compatibility']);; $badge = $this->compatibilityLabel($row['compatibility']);;
$featured = ($row['featured']== 1) ? " <span class='label label-info'>Featured</span>" : ''; $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( $data[] = array(
'plugin_id' => $c, 'plugin_id' => $c,
'plugin_icon' => vartrue($row['icon'],e_IMAGE."admin_images/plugins_32.png"), '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_folder' => $row['folder'],
'plugin_date' => vartrue($row['date']), 'plugin_date' => vartrue($row['date']),
'plugin_category' => vartrue($r['category'][0]), 'plugin_category' => vartrue($r['category'][0]),
@ -482,8 +494,10 @@ class pluginManager{
'plugin_website' => vartrue($row['authorUrl']), 'plugin_website' => vartrue($row['authorUrl']),
'plugin_url' => $row['url'], 'plugin_url' => $row['url'],
'plugin_notes' => '' 'plugin_notes' => '',
); 'plugin_price' => $price
);
$c++; $c++;
} }

View File

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