Пример #1
0
 public function export()
 {
     // Grab our export job
     $engine = $this->getEngine();
     $job = $engine->getJob();
     $job->addNotice("NagiosResourceExporter attempting to export resource configuration.");
     // Grab our cgi config
     $resources = NagiosResourcePeer::doSelectOne(new Criteria());
     if (!$resources) {
         $job->addError("Unable to get Nagios Resources.  Your Lilac database is corrupt.");
         return false;
     }
     $finalArray = array();
     $values = $resources->toArray(BasePeer::TYPE_FIELDNAME);
     foreach ($values as $key => $value) {
         if ($key == 'id') {
             continue;
         }
         if (empty($value)) {
             continue;
         }
         $finalArray[$key] = $value;
     }
     $fp = $this->getOutputFile();
     fputs($fp, "# Written by NagiosResourceExporter from " . LILAC_NAME . " " . LILAC_VERSION . " on " . date("F j, Y, g:i a") . "\n\n");
     foreach ($finalArray as $key => $val) {
         fputs($fp, "\$" . strtoupper($key) . "\$" . "=" . $val . "\n");
     }
     $job->addNotice("NagiosResourceExporter complete.");
     return true;
 }
Пример #2
0
 public function import()
 {
     $job = $this->getEngine()->getJob();
     $config = $this->getEngine()->getConfig();
     $resourcesCfg = new NagiosResource();
     $segment = $this->getSegment();
     $values = $segment->getValues();
     $fileName = $segment->getFilename();
     foreach ($values as $key => $entries) {
         foreach ($entries as $entry) {
             $value = $entry['value'];
             $lineNum = $entry['line'];
             if (key_exists($key, $this->fieldMethods) && $this->fieldMethods[$key] != '') {
                 // Okay, let's check that the method DOES exist
                 if (!method_exists($resourcesCfg, $this->fieldMethods[$key])) {
                     $job->addError("Method " . $this->fieldMethods[$key] . " does not exist for variable: " . $key . " on line " . $lineNum . " in file " . $fileName);
                     if (!$config->getVar('continue_error')) {
                         return false;
                     }
                 } else {
                     call_user_method($this->fieldMethods[$key], $resourcesCfg, $value);
                 }
             }
         }
     }
     // If we got here, it's safe to delete the existing main config and save the new one
     $oldConfig = NagiosResourcePeer::doSelectOne(new Criteria());
     if ($oldConfig) {
         $oldConfig->delete();
     }
     $resourcesCfg->save();
     $job->addNotice("NagiosResourceImporter finished importing resources configuration.");
     return true;
 }
Пример #3
0
 public function import()
 {
     $engine = $this->getEngine();
     $job = $engine->getJob();
     $job->addNotice("FruityResourceImporter beginning to import Resources.");
     // Resources
     $res = $this->dbConn->query("SELECT * FROM nagios_resources");
     // Fruity has just one record in the resources, if we get it, import
     // it.
     $row = $res->fetch(PDO::FETCH_ASSOC);
     // Get our resources obj.
     $resourceCfg = NagiosResourcePeer::doSelectOne(new Criteria());
     if (!$resourceCfg) {
         $resourceCfg = new NagiosResource();
         $resourceCfg->save();
     }
     foreach ($row as $key => $val) {
         unset($name);
         if ($key == "id") {
             continue;
         }
         // Iterate through and, if we have a valid key, we set it to
         // the NagiosResource obj.
         try {
             $name = NagiosResourcePeer::translateFieldName($key, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME);
         } catch (Exception $e) {
             $job->addNotice("Fruity Resource Importer: Was unable to store unsupported value: " . $key);
         }
         if (!empty($name)) {
             $method = "set" . $name;
             $resourceCfg->{$method}($val);
         }
     }
     $resourceCfg->save();
     // Save resources configuration
     $job->addNotice("FruityResourceImporter finished importing Resources.");
 }
Пример #4
0
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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/
/*
Lilac Resource
*/
include_once 'includes/config.inc';
require_once 'NagiosResource.php';
$resourceCfg = NagiosResourcePeer::doSelectOne(new Criteria());
if (!$resourceCfg) {
    $resourceCfg = new NagiosResource();
    $resourceCfg->save();
}
if (isset($_POST['request'])) {
    if ($_POST['request'] == 'update') {
        $resourceCfg->setUser1($_POST['resource_config']['user1']);
        $resourceCfg->setUser2($_POST['resource_config']['user2']);
        $resourceCfg->setUser3($_POST['resource_config']['user3']);
        $resourceCfg->setUser4($_POST['resource_config']['user4']);
        $resourceCfg->setUser5($_POST['resource_config']['user5']);
        $resourceCfg->setUser6($_POST['resource_config']['user6']);
        $resourceCfg->setUser7($_POST['resource_config']['user7']);
        $resourceCfg->setUser8($_POST['resource_config']['user8']);
        $resourceCfg->setUser9($_POST['resource_config']['user9']);