本文整理汇总了PHP中gpPlugin::GetAddonConfig方法的典型用法代码示例。如果您正苦于以下问题:PHP gpPlugin::GetAddonConfig方法的具体用法?PHP gpPlugin::GetAddonConfig怎么用?PHP gpPlugin::GetAddonConfig使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gpPlugin
的用法示例。
在下文中一共展示了gpPlugin::GetAddonConfig方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetAddonTexts
function GetAddonTexts($addon)
{
global $langmessage, $config;
$addon_config = gpPlugin::GetAddonConfig($addon);
$addonDir = $addon_config['code_folder_full'];
if (!is_dir($addonDir)) {
return false;
}
//not set up correctly
if (!isset($config['addons'][$addon]['editable_text'])) {
return false;
}
$file = $addonDir . '/' . $config['addons'][$addon]['editable_text'];
if (!file_exists($file)) {
return false;
}
$texts = array();
include $file;
if (!$texts) {
return false;
}
return $texts;
}
示例2: PluginPanelGroup
function PluginPanelGroup($addon_key, $info)
{
global $langmessage, $gpLayouts;
$addon_config = gpPlugin::GetAddonConfig($addon_key);
$addon_config += $info;
//merge the upgrade info
echo '<div class="panelgroup" id="panelgroup_' . md5($addon_key) . '">';
echo '<h3>';
echo common::Link('Admin_Addons/' . admin_tools::encode64($addon_key), $addon_config['name']);
echo '</h3>';
echo '<div class="panelgroup2">';
echo '<ul class="submenu">';
$this->AddonPanelGroup($addon_key);
$this->OptionLinks($addon_key, $addon_config);
echo '</ul>';
$this->UpgradeLinks($addon_config);
echo '</div>';
echo '</div>';
}
示例3: PluginPanelGroup
function PluginPanelGroup($addon_key, $info)
{
global $config, $langmessage, $gpLayouts;
$addon_config = gpPlugin::GetAddonConfig($addon_key);
$addon_config += $info;
//merge the upgrade info
echo '<div class="panelgroup" id="panelgroup_' . md5($addon_key) . '">';
$label = '<i class="gpicon_plug"></i>' . $addon_config['name'];
echo common::Link('Admin_Addons/' . admin_tools::encode64($addon_key), $label);
echo '<div class="panelgroup2">';
echo '<ul class="submenu">';
$this->AddonPanelGroup($addon_key, $addon_config);
//options
if (!isset($addon_config['is_theme']) || !$addon_config['is_theme']) {
echo '<li class="expand_child_click">';
echo '<a>' . $langmessage['options'] . '</a>';
echo '<ul>';
//editable text
if (isset($config['addons'][$addon_key]['editable_text']) && admin_tools::HasPermission('Admin_Theme_Content')) {
echo '<li>';
echo common::Link('Admin_Theme_Content', $langmessage['editable_text'], 'cmd=addontext&addon=' . urlencode($addon_key), array('title' => urlencode($langmessage['editable_text']), 'data-cmd' => 'gpabox'));
echo '</li>';
}
//upgrade link
if (isset($addon_config['upgrade_from'])) {
echo '<li>';
echo common::Link('Admin_Addons', $langmessage['upgrade'], 'cmd=local_install&source=' . $addon_config['upgrade_from'], array('data-cmd' => 'creq'));
echo '</li>';
}
//uninstall
echo '<li>';
echo common::Link('Admin_Addons', $langmessage['uninstall'], 'cmd=uninstall&addon=' . rawurlencode($addon_key), 'data-cmd="gpabox"');
echo '</li>';
//version
if (!empty($addon_config['version'])) {
echo '<li><a>' . $langmessage['Your_version'] . ' ' . $addon_config['version'] . '</a></li>';
}
//rating
if (isset($addon_config['id']) && is_numeric($addon_config['id'])) {
$id = $addon_config['id'];
$rating = 5;
if (isset($this->addonReviews[$id])) {
$rating = $this->addonReviews[$id]['rating'];
}
$label = $langmessage['rate_this_addon'] . ' ' . $this->ShowRating($id, $rating);
echo '<li><span>' . $label . '</span></li>';
}
echo '</ul></li>';
} else {
//show list of themes using these addons
echo '<li class="expand_child_click">';
echo '<a>' . $langmessage['layouts'] . '</a>';
echo '<ul>';
foreach ($gpLayouts as $layout_id => $layout_info) {
if (!isset($layout_info['addon_key']) || $layout_info['addon_key'] !== $addon_key) {
continue;
}
echo '<li>';
echo '<span>';
echo '<span class="layout_color_id" style="background:' . $layout_info['color'] . '"></span> ';
echo common::Link('Admin_Theme_Content', $layout_info['label']);
echo ' ( ';
echo common::Link('Admin_Theme_Content/' . $layout_id, $langmessage['edit']);
echo ' )';
echo '</span>';
//echo '<a>';
//echo $layout_info['label'];
//echo '</a>';
//echo pre($layout_info);
echo '</li>';
}
echo '</ul>';
echo '</li>';
}
echo '</ul>';
//upgrade gpeasy.com
if (isset($addon_config['id']) && isset(admin_tools::$new_versions[$addon_config['id']])) {
$version_info = admin_tools::$new_versions[$addon_config['id']];
echo '<div class="gp_notice">';
echo '<a href="' . addon_browse_path . '/Plugins?id=' . $addon_config['id'] . '" data-cmd="remote">';
echo $langmessage['new_version'];
echo ' ' . $version_info['version'] . ' (gpEasy.com)</a>';
echo '</div>';
}
//upgrade local
if (isset($addon_config['upgrade_from']) && isset($addon_config['upgrade_version'])) {
if (version_compare($addon_config['upgrade_version'], $addon_config['version'], '>')) {
echo '<div class="gp_notice">';
$label = $langmessage['new_version'] . ' ' . $addon_config['upgrade_version'];
echo common::Link('Admin_Addons', $label, 'cmd=local_install&source=' . $addon_config['upgrade_from'], array('data-cmd' => 'creq'));
echo '</div>';
}
}
echo '</div>';
echo '</div>';
}
示例4: CheckFile
/**
* Make sure the file is a css or js file and that it exists
* @static
*/
static function CheckFile(&$file)
{
global $dataDir;
$comment_start = '<!--';
$comment_end = '-->';
$file = gp_combine::TrimQuery($file);
if (empty($file)) {
return false;
}
//translate addon paths
$pos = strpos($file, '/data/_addoncode/');
if ($pos !== false) {
$file_parts = substr($file, $pos + 17);
$file_parts = explode('/', $file_parts);
$addon_key = array_shift($file_parts);
$addon_config = gpPlugin::GetAddonConfig($addon_key);
if ($addon_config) {
$file = $addon_config['code_folder_rel'] . '/' . implode('/', $file_parts);
}
}
//remove null charachters
$file = gpFiles::NoNull($file);
//require .js or .css
$test = strtolower($file);
if (substr($test, -3) != '.js' && substr($test, -4) != '.css' && substr($test, -5) != '.less') {
echo "\n{$comment_start} File Not CSS, LESS or JS {$file} {$comment_end}\n";
return false;
}
//paths that have been urlencoded
if (strpos($file, '%') !== false) {
$decoded_file = rawurldecode($file);
if ($full_path = gp_combine::CheckFileSub($decoded_file)) {
$file = $decoded_file;
return $full_path;
}
}
//paths that have not been encoded
if ($full_path = gp_combine::CheckFileSub($file)) {
return $full_path;
}
echo "\n{$comment_start} File Not Found {$dataDir}{$file} {$comment_end}\n";
return false;
}
示例5: Uninstall
/**
* Remove an addon from the site configuration
* Delete code folders if needed
*
*/
function Uninstall($addon)
{
global $config, $langmessage, $gp_titles, $gp_menu, $gp_index;
$this->GetAddonData();
$addon_config = gpPlugin::GetAddonConfig($addon);
if (!$addon_config) {
$this->message($langmessage['OOPS'] . ' (Already uninstalled)');
return;
}
$order = false;
if (isset($config['addons'][$addon]['order'])) {
$order = $config['addons'][$addon]['order'];
}
//tracking
$history = array();
$history['name'] = $config['addons'][$addon]['name'];
$history['action'] = 'uninstalled';
if (isset($config['addons'][$addon]['id'])) {
$history['id'] = $config['addons'][$addon]['id'];
}
unset($config['addons'][$addon]);
//remove links
$installedGadgets = $this->GetInstalledComponents($config['gadgets'], $addon);
$this->RemoveFromHandlers($installedGadgets);
//remove from gp_index, gp_menu
$installedLinks = $this->GetInstalledComponents($gp_titles, $addon);
foreach ($installedLinks as $index) {
if (isset($gp_menu[$index])) {
unset($gp_menu[$index]);
}
$title = common::IndexToTitle($index);
if ($title) {
unset($gp_index[$title]);
}
}
$this->RemoveFromConfig($config['gadgets'], $addon);
$this->RemoveFromConfig($config['admin_links'], $addon);
$this->RemoveFromConfig($gp_titles, $addon);
$this->CleanHooks($addon);
if (!admin_tools::SaveAllConfig()) {
$this->message($langmessage['OOPS']);
return false;
}
//Delete the code & code folders
if ($this->rm_folders) {
//only delete code if remote installation
if (isset($addon_config['remote_install']) && $addon_config['remote_install']) {
$installFolder = $addon_config['code_folder_full'];
if (file_exists($installFolder)) {
gpFiles::RmAll($installFolder);
}
}
$dataFolder = $addon_config['data_folder_full'];
if (file_exists($dataFolder)) {
gpFiles::RmAll($dataFolder);
}
}
//Record the history
$history['time'] = time();
$this->addonHistory[] = $history;
$this->SaveAddonData();
if ($order) {
$img_path = common::IdUrl('ci');
common::IdReq($img_path);
}
$this->message($langmessage['SAVED']);
return true;
}
示例6: Uninstall
/**
* Remove an addon from the site configuration
* Delete code folders if needed
*
*/
function Uninstall($addon)
{
global $config, $langmessage, $gp_titles, $gp_menu, $gp_index;
$this->GetAddonData();
$addon_config = gpPlugin::GetAddonConfig($addon);
if (!$addon_config) {
$this->message($langmessage['OOPS'] . ' (Already uninstalled)');
return;
}
unset($config['addons'][$addon]);
//remove links
$installedGadgets = $this->GetInstalledComponents($config['gadgets'], $addon);
$this->RemoveFromHandlers($installedGadgets);
//remove from gp_index, gp_menu
$installedLinks = $this->GetInstalledComponents($gp_titles, $addon);
foreach ($installedLinks as $index) {
if (isset($gp_menu[$index])) {
unset($gp_menu[$index]);
}
$title = common::IndexToTitle($index);
if ($title) {
unset($gp_index[$title]);
}
}
$this->RemoveFromConfig($config['gadgets'], $addon);
$this->RemoveFromConfig($config['admin_links'], $addon);
$this->RemoveFromConfig($gp_titles, $addon);
$this->CleanHooks($addon);
if (!admin_tools::SaveAllConfig()) {
$this->message($langmessage['OOPS']);
return false;
}
$this->RemoveFolders($addon_config);
//Record the history
$this->addonHistory[] = $this->UninstallHistory($addon_config);
$this->SaveAddonData();
if ($addon_config['order']) {
$img_path = common::IdUrl('ci');
common::IdReq($img_path);
}
$this->message($langmessage['SAVED']);
return true;
}