#!/usr/bin/php -q 0) { if ($with_profile) { print "WARNING: '--with-profile' and '--profile-id=N' are exclusive. Ignoring '--with-profile'\n"; } else { $id = db_fetch_cell_prepared('SELECT id FROM data_source_profiles WHERE id = ?', array($profile_id)); if (empty($id)) { print "WARNING: Data Source Profile ID $profile_id not found. Using System Default\n"; $id = db_fetch_cell_prepared('SELECT id FROM data_source_profiles ORDER BY `default` DESC LIMIT 1'); } } } else { $id = db_fetch_cell_prepared('SELECT id FROM data_source_profiles ORDER BY `default` DESC LIMIT 1'); } if (empty($id)) { print "FATAL: No valid Data Source Profiles found on the system. Exiting!\n"; exit(1); } if ($filename != '') { if(file_exists($filename) && is_readable($filename)) { $fp = fopen($filename,'r'); $xml_data = fread($fp,filesize($filename)); fclose($fp); print 'Read ' . strlen($xml_data) . " bytes of XML data\n"; $debug_data = import_xml_data($xml_data, false, $id, $remove_orphans); import_display_results($debug_data, array(), $preview_only); } else { print "ERROR: file $filename is not readable, or does not exist\n\n"; exit(1); } } else { print "ERROR: no filename specified\n\n"; display_help(); exit(1); } } else { print "ERROR: no parameters given\n\n"; display_help(); exit(1); } /* display_version - displays version information */ function display_version() { $version = get_cacti_cli_version(); print "Cacti Import Template Utility, Version $version, " . COPYRIGHT_YEARS . "\n"; } function display_help() { display_version(); print "\nusage: import_template.php --filename=[filename] [--with-profile | --profile-id=N]\n\n"; print "A utility to allow Cacti Templates to be imported from the command line.\n\n"; print "Required:\n"; print " --filename The name of the XML file to import\n\n"; print "Optional:\n"; print " --preview Preview the Template Import, do not import\n"; print " --with-profile Use the default system Data Source Profile\n"; print " --profile-id=N Use the specific profile id when importing\n"; print " --remove-orphans If importing a new version of the template, old\n"; print " elements will be removed, if they do not exist\n"; print " in the new version of the template.\n\n"; }