public function getHtml()
 {
     $plugin = $this->_plugin;
     $pdir = Magmi_PluginHelper::getInstance()->getPluginDir($this->_plugin);
     $panelfile = "{$pdir}/" . $this->getFile();
     $content = "";
     if (!file_exists($panelfile)) {
         $content = $this->_defaulthtml;
     } else {
         ob_start();
         require $panelfile;
         $content = ob_get_contents();
         ob_end_clean();
     }
     return $content;
 }
 public function getEnabledPluginClasses($profile)
 {
     $clist = Magmi_PluginHelper::getInstance("main")->getPluginsInfo("utilities", "class");
     return $clist;
 }
Beispiel #3
0
 public function createPlugins($profile, $params)
 {
     $plhelper = Magmi_PluginHelper::getInstance($profile);
     $this->_pluginclasses = array_merge_recursive($this->_pluginclasses, $this->getBuiltinPluginClasses());
     foreach ($this->_pluginclasses as $pfamily => $pclasses) {
         if ($pfamily[0] == "*") {
             $this->_pluginclasses[substr($pfamily, 1)] = $pclasses;
             unset($this->_pluginclasses[$pfamily]);
         }
     }
     foreach ($this->_pluginclasses as $pfamily => $pclasses) {
         if (!isset($this->_activeplugins[$pfamily])) {
             $this->_activeplugins[$pfamily] = array();
         }
         foreach ($pclasses as $pclass) {
             $this->_activeplugins[$pfamily][] = $plhelper->createInstance($pfamily, $pclass, $params, $this);
         }
         usort($this->_activeplugins[$pfamily], array(&$this, "sortPlugins"));
     }
 }
Beispiel #4
0
 public function createPlugins($profile, $params)
 {
     // Get Plugin Helper instance
     $plhelper = Magmi_PluginHelper::getInstance($profile);
     // Merge Builtin Plugin classes with current plugin classes
     $this->_pluginclasses = array_merge_recursive($this->_pluginclasses, $this->getBuiltinPluginClasses());
     // Iterate on plugin classes by family
     foreach ($this->_pluginclasses as $pfamily => $pclasses) {
         // If family name starts with *
         if ($pfamily[0] == "*") {
             // use the real family name (after *)
             $this->_pluginclasses[substr($pfamily, 1)] = $pclasses;
             // clear the * pseudo family
             unset($this->_pluginclasses[$pfamily]);
         }
     }
     // Iterate on final plugin classes list
     foreach ($this->_pluginclasses as $pfamily => $pclasses) {
         // If there is no active plugins in the current family
         if (!isset($this->_activeplugins[$pfamily])) {
             // initialize active plugins for plugin family
             $this->_activeplugins[$pfamily] = array();
         }
         // For all plugin classes in current family
         foreach ($pclasses as $pclass) {
             // Create a new instance of plugin with parameters
             // Add it to the list of active plugins in the current family
             $this->_activeplugins[$pfamily][] = $plhelper->createInstance($pfamily, $pclass, $params, $this);
         }
         // Sort family plugins with plugin sorting callback
         usort($this->_activeplugins[$pfamily], array(&$this, "sortPlugins"));
     }
 }
                    ?>
						<?php 
                    if (!$catopen) {
                        $catopen = true;
                        ?>
						<div class="grid_12 group">
				<h1><?php 
                        echo $pcat;
                        ?>
</h1>
						<?php 
                    }
                    ?>
						<ul>
						<?php 
                    $pinst = Magmi_PluginHelper::getInstance($profile)->createInstance($k, $pclass);
                    $pinfo = $pinst->getPluginInfo();
                    $info = $pinst->getShortDescription();
                    $plrunnable = $pinst->isRunnable();
                    $enabled = $eplconf->isPluginEnabled($k, $pclass);
                    ?>
						<li>
						<div class="pluginselect">
							<?php 
                    if ($plrunnable[0]) {
                        ?>
								<input type="checkbox" class="pl_<?php 
                        echo $k;
                        ?>
"
								name="<?php 
foreach (explode(",", $genlist) as $pclass) {
    $pflist[$pclass] = "general";
}
foreach (explode(",", $iplist) as $pclass) {
    $pflist[$pclass] = "itemprocessors";
}
require_once "../inc/magmi_pluginhelper.php";
require_once "../inc/magmi_config.php";
//saving plugin selection
$epc = new EnabledPlugins_Config($profile);
$epc->setPropsFromFlatArray(array("PLUGINS_DATASOURCES:class" => $dslist, "PLUGINS_GENERAL:classes" => $genlist, "PLUGINS_ITEMPROCESSORS:classes" => $iplist));
if ($epc->save()) {
    //saving plugins params
    foreach ($pflist as $pclass => $pfamily) {
        if ($pclass != "") {
            $plinst = Magmi_PluginHelper::getInstance($profile)->createInstance($pfamily, $pclass, $_REQUEST);
            $paramlist = $plinst->getPluginParamNames();
            $sarr = $plinst->getPluginParams($_REQUEST);
            $parr = $plinst->getPluginParamsNoCurrent($_REQUEST);
            foreach ($paramlist as $pname) {
                if (!isset($parr[$pname])) {
                    $parr[$pname] = 0;
                }
            }
            $farr = array_merge($sarr, $parr);
            if (!$plinst->persistParams($farr)) {
                $lasterr = error_get_last();
                echo "<div class='error'>" . $lasterr['message'] . "</div>";
            }
        }
    }
<?php

require_once "../inc/magmi_defs.php";
require_once "magmi_pluginhelper.php";
require_once "magmi_web_utils.php";
$pltype = $_REQUEST["plugintype"];
$plclass = $_REQUEST["pluginclass"];
$profile = $_REQUEST["profile"];
$file = null;
if (isset($_REQUEST['file'])) {
    $file = $_REQUEST['file'];
}
if ($profile == "") {
    $profile = null;
}
if (isset($_REQUEST["engine"])) {
    $engdef = explode(":", $_REQUEST["engine"]);
    $engine_name = $engdef[0];
    $engine_class = $engdef[1];
    require_once "../engines/{$engine_name}.php";
    $enginst = new $engine_class();
    $enginst->initialize();
} else {
    $enginst = null;
}
$plinst = Magmi_PluginHelper::getInstance($profile)->createInstance($pltype, $plclass, $_REQUEST, $enginst);
echo $plinst->getOptionsPanel($file)->getHtml();
Beispiel #8
0
<?php

session_start();
unset($_SESSION["plugin_install_error"]);
require_once "../inc/magmi_pluginhelper.php";
$ph = Magmi_PluginHelper::getInstance();
$result = $ph->installPluginPackage($_FILES["plugin_package"]["tmp_name"]);
if ($result["plugin_install"] == "ERROR") {
    $_SESSION["plugin_install"] = array("error", $result["ERROR"]);
} else {
    $_SESSION["plugin_install"] = array("info", "Plugin packaged installed");
}
session_write_close();
header("Location: ./magmi.php");