Changeset 1320 in ExiteCMS


Ignore:
Timestamp:
02/28/08 00:23:53 (4 years ago)
Author:
hverton
Message:

Trac Project Management and SVN interface module

Location:
modules/ExiteCMS/tracsvn/php-files/modules/tracsvn
Files:
8 added
3 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • modules/ExiteCMS/tracsvn/php-files/modules/tracsvn/admin.php

    r1279 r1320  
    1313require_once PATH_ROOT."/includes/theme_functions.php"; 
    1414 
     15require_once "tracsvn_include.php"; 
     16 
     17// check for the proper admin access rights 
     18if (!checkrights("wT") || !defined("iAUTH") || $aid != iAUTH) fallback(BASEDIR."index.php"); 
     19 
     20// load the locale for this module 
     21locale_load("modules.tracsvn"); 
     22 
     23// define the variables for this panel 
     24$variables = array(); 
     25 
     26if (isset($_POST['savesettings'])) { 
     27    // extract and validate the input 
     28    $database = stripinput($_POST['database']); 
     29    $url = stripinput($_POST['url']); 
     30    $cmd = stripinput($_POST['cmd']); 
     31    $auth = stripinput($_POST['auth']); 
     32    $extensions = stripinput($_POST['extensions']); 
     33    $variables['message'] = ""; 
     34     
     35    // check if the database exists and is a Trac database 
     36    if (empty($database) || !dbtable_exists("revision", $database)) { 
     37        $variables['message'] = ($variables['message'] == "" ? "" : "<br />") . $locale['406']; 
     38    } else { 
     39        // check if the cmd points to svn 
     40        $_tmp = explode(" ", $cmd); 
     41        if (CMS_GetOS() == "Windows") { 
     42            $_tmp = substr(strrchr($_tmp[0], "\\"),1); 
     43            if ($_tmp != "svn.exe") { 
     44                $variables['message'] = ($variables['message'] == "" ? "" : "<br />") . $locale['444']; 
     45            } 
     46        } else { 
     47            $_tmp = substr(strrchr($_tmp[0], "/"),1); 
     48            if ($_tmp != "svn") { 
     49                $variables['message'] = ($variables['message'] == "" ? "" : "<br />") . $locale['444']; 
     50            } 
     51        } 
     52        // add a trailing slash if needed 
     53        if (!empty($url) && substr($url, -1) != "/") { 
     54            $url .= "/"; 
     55        } 
     56        if ($variables['message'] == "") { 
     57            // executable is valid. check if the repository is readable 
     58            $output = tracsvn_extCmd($cmd." info ".$url." ".$auth); 
     59            if (!is_array($output) || !isset($output[5]) || $output[5] != "Node Kind: directory") { 
     60                $variables['message'] = ($variables['message'] == "" ? "" : "<br />") . $locale['449']; 
     61                foreach($output as $line) { 
     62                    $variables['message'] .= "<br />" . $line; 
     63                } 
     64            } 
     65        } 
     66    } 
     67    // if no errors are found, update 
     68    if ($variables['message'] == "") { 
     69        $result = dbquery("UPDATE ".$db_prefix."configuration SET cfg_value = '".$database."' WHERE cfg_name = 'tracsvn_database'"); 
     70        $result = dbquery("UPDATE ".$db_prefix."configuration SET cfg_value = '".$url."' WHERE cfg_name = 'tracsvn_url'"); 
     71        $result = dbquery("UPDATE ".$db_prefix."configuration SET cfg_value = '".$cmd."' WHERE cfg_name = 'tracsvn_svncmd'"); 
     72        $result = dbquery("UPDATE ".$db_prefix."configuration SET cfg_value = '".$auth."' WHERE cfg_name = 'tracsvn_svnauth'"); 
     73        $result = dbquery("UPDATE ".$db_prefix."configuration SET cfg_value = '".$extensions."' WHERE cfg_name = 'tracsvn_extensions'"); 
     74        redirect(FUSION_SELF.$aidlink); 
     75    } 
     76} else { 
     77    $database = $settings['tracsvn_database']; 
     78    $url = $settings['tracsvn_url']; 
     79    $cmd = $settings['tracsvn_svncmd']; 
     80    $auth = $settings['tracsvn_svnauth']; 
     81    $extensions = $settings['tracsvn_extensions']; 
     82} 
     83 
     84// store the variables 
     85$variables['database'] = $database; 
     86$variables['url'] = $url; 
     87$variables['cmd'] = $cmd; 
     88$variables['auth'] = $auth; 
     89$variables['extensions'] = $extensions; 
     90 
    1591// define the body panel variables 
    16 $template_panels[] = array('type' => 'body', 'name' => 'tracsvn.admin_panel', 'template' => 'modules.tracsvn.admin_panel.tpl', 'locale' => "modules.tracsvn"); 
     92$template_panels[] = array('type' => 'body', 'name' => 'tracsvn.admin_panel', 'template' => 'modules.tracsvn.admin.tpl', 'locale' => "modules.tracsvn"); 
    1793$template_variables['tracsvn.admin_panel'] = $variables; 
    1894 
  • modules/ExiteCMS/tracsvn/php-files/modules/tracsvn/module_installer.php

    r1279 r1320  
    1616+----------------------------------------------------*/ 
    1717$mod_title = "Trac-SVN reports"; 
    18 $mod_description = "This ExiteCMS module provides a reporting interface on the Trac SVN Project management database (needs to be on the same MySQL server as ExiteCMS!)"; 
    19 $mod_version = "0.0.1"; 
     18$mod_description = "This ExiteCMS module provides a reporting of Trac Project management, and connects to SVN to retrieve details status information"; 
     19$mod_version = "0.0.15"; 
    2020$mod_developer = "WanWizard"; 
    2121$mod_email = "wanwizard@gmail.com"; 
     
    3838 
    3939// check for a minumum version of the ExiteCMS engine 
    40 if (str_replace(".", "", $settings['version']) < 710) { 
    41     $mod_errors .= sprintf($locale['mod001'], '7.10'); 
     40if (str_replace(".", "", $settings['version']) < 700) { 
     41    $mod_errors .= sprintf($locale['mod001'], '7.00'); 
    4242} 
    4343// check for a maximum version of the ExiteCMS engine 
     
    5555 
    5656$mod_site_links = array(); 
     57$mod_site_links[] = array('name' => 'Trac Reporting', 'url' => 'trac.php', 'panel' => '', 'visibility' => 102); 
     58$mod_site_links[] = array('name' => 'SVN Reporting', 'url' => 'svn.php', 'panel' => '', 'visibility' => 102); 
    5759 
    5860/*---------------------------------------------------+ 
     
    6264$localestrings = array(); 
    6365$localestrings['en'] = array(); 
    64 $localestrings['en']['400'] = "Trac & SVN Reporting"; 
     66$localestrings['en']['400'] = "Project Management"; 
    6567$localestrings['en']['401'] = "SVN - Now running..."; 
    6668$localestrings['en']['402'] = "SVN Revision"; 
     
    6870$localestrings['en']['404'] = "by"; 
    6971$localestrings['en']['405'] = "No information found!"; 
     72$localestrings['en']['406'] = "Database not found, no access to database, or database is not a Trac database"; 
     73$localestrings['en']['407'] = "Trac & SVN user aliases"; 
     74$localestrings['en']['408'] = "Add alias"; 
     75$localestrings['en']['409'] = "There are no aliases defined"; 
     76$localestrings['en']['410'] = "Save settings"; 
     77$localestrings['en']['411'] = "Trac MySQL database name:"; 
     78$localestrings['en']['412'] = "Trac username"; 
     79$localestrings['en']['413'] = "Member"; 
     80$localestrings['en']['414'] = "Milestone"; 
     81$localestrings['en']['415'] = ""; 
     82$localestrings['en']['416'] = "Due in"; 
     83$localestrings['en']['417'] = "Open tickets"; 
     84$localestrings['en']['418'] = "Closed tickets"; 
     85$localestrings['en']['419'] = "Completed"; 
     86$localestrings['en']['420'] = "ago"; 
     87$localestrings['en']['421'] = "Opened"; 
     88$localestrings['en']['422'] = "Closed"; 
     89$localestrings['en']['423'] = "Open"; 
     90$localestrings['en']['424'] = "tickets for"; 
     91$localestrings['en']['425'] = "Summary"; 
     92$localestrings['en']['426'] = "Type"; 
     93$localestrings['en']['427'] = "Priority"; 
     94$localestrings['en']['428'] = "Status"; 
     95$localestrings['en']['429'] = "View ticket details"; 
     96$localestrings['en']['430'] = "View open tickets"; 
     97$localestrings['en']['431'] = "View closed tickets"; 
     98$localestrings['en']['432'] = "Ticket"; 
     99$localestrings['en']['433'] = "Reported by"; 
     100$localestrings['en']['434'] = "Assigned to"; 
     101$localestrings['en']['435'] = "Component"; 
     102$localestrings['en']['436'] = "Version"; 
     103$localestrings['en']['437'] = "Severity"; 
     104$localestrings['en']['438'] = "Keywords"; 
     105$localestrings['en']['439'] = "Description"; 
     106$localestrings['en']['440'] = "Change history"; 
     107$localestrings['en']['441'] = "changed"; 
     108$localestrings['en']['442'] = "from"; 
     109$localestrings['en']['443'] = "to"; 
     110$localestrings['en']['444'] = "Command specified is not the SVN executable"; 
     111$localestrings['en']['445'] = "Path to the SVN program:"; 
     112$localestrings['en']['446'] = "SVN authorisation string:"; 
     113$localestrings['en']['447'] = "SVN repository URL:"; 
     114$localestrings['en']['448'] = "Generate diffs for file extensions:"; 
     115$localestrings['en']['449'] = "Could not connect to the SVN repository. Output of the command is:<br />"; 
     116 
     117$localestrings['en']['500'] = "Changeset"; 
     118$localestrings['en']['501'] = "Timestamp"; 
     119$localestrings['en']['502'] = "Author"; 
     120$localestrings['en']['503'] = "Message"; 
     121$localestrings['en']['504'] = "Files"; 
     122$localestrings['en']['505'] = "copied from"; 
     123$localestrings['en']['506'] = "moved from"; 
     124$localestrings['en']['507'] = "Unmodified"; 
     125$localestrings['en']['508'] = "Added"; 
     126$localestrings['en']['509'] = "Removed"; 
     127$localestrings['en']['510'] = "Copied"; 
     128$localestrings['en']['511'] = "Modified"; 
     129$localestrings['en']['512'] = "Moved"; 
     130$localestrings['en']['513'] = "diff"; 
     131$localestrings['en']['514'] = "Show differences"; 
     132$localestrings['en']['515'] = "Show new revision %s of this file"; 
     133$localestrings['en']['516'] = "View this changeset"; 
     134$localestrings['en']['517'] = "Show entry"; 
     135$localestrings['en']['518'] = "Show original file (rev. %s)"; 
    70136 
    71137$localestrings['nl'] = array(); 
    72 $localestrings['nl']['400'] = "Trac & SVN Rapportering"; 
     138$localestrings['nl']['400'] = "Project Management"; 
    73139$localestrings['nl']['401'] = "SVN - nu actief..."; 
    74140$localestrings['nl']['402'] = "SVN Revisie"; 
     
    76142$localestrings['nl']['404'] = "door"; 
    77143$localestrings['nl']['405'] = "Geen informatie gevonden!"; 
     144$localestrings['nl']['406'] = "Database niet gevonden, geen toegang tot de database, of de database is geen Trac database"; 
     145$localestrings['nl']['407'] = "Trac & SVN gebruikersaliassen"; 
     146$localestrings['nl']['408'] = "Alias toevoegen"; 
     147$localestrings['nl']['409'] = "Er zijn geen aliassen gedefinieerd"; 
     148$localestrings['nl']['410'] = "Bewaar instellingen"; 
     149$localestrings['nl']['411'] = "Trac MySQL database naam:"; 
     150$localestrings['nl']['412'] = "Trac gebruiker"; 
     151$localestrings['nl']['413'] = "Lid"; 
     152$localestrings['nl']['414'] = "Mijlpaal"; 
     153$localestrings['nl']['415'] = "Opgeleverd op"; 
     154$localestrings['nl']['416'] = "Gepland op"; 
     155$localestrings['nl']['417'] = "Open tickets"; 
     156$localestrings['nl']['418'] = "Gesloten tickets"; 
     157$localestrings['nl']['419'] = "Gereed"; 
     158$localestrings['nl']['420'] = "geleden"; 
     159$localestrings['nl']['421'] = "Geopend"; 
     160$localestrings['nl']['422'] = "Gesloten"; 
     161$localestrings['nl']['423'] = "Open"; 
     162$localestrings['nl']['424'] = "tickets van"; 
     163$localestrings['nl']['425'] = "Omschrijving"; 
     164$localestrings['nl']['426'] = "Type"; 
     165$localestrings['nl']['427'] = "Prioriteit"; 
     166$localestrings['nl']['428'] = "Status"; 
     167$localestrings['nl']['429'] = "Ticket details bekijken"; 
     168$localestrings['nl']['430'] = "Open tickets bekijken"; 
     169$localestrings['nl']['431'] = "Gesloten tickets bekijken"; 
     170$localestrings['nl']['432'] = "Ticket"; 
     171$localestrings['nl']['433'] = "Gemeld door"; 
     172$localestrings['nl']['434'] = "Toegewezen aan"; 
     173$localestrings['nl']['435'] = "Component"; 
     174$localestrings['nl']['436'] = "Versie"; 
     175$localestrings['nl']['437'] = "Criticiteit"; 
     176$localestrings['nl']['438'] = "Sleutelwoorden"; 
     177$localestrings['nl']['439'] = "Omschrijving"; 
     178$localestrings['nl']['440'] = "Aanpassingshistorie"; 
     179$localestrings['nl']['441'] = "gewijzigd"; 
     180$localestrings['nl']['442'] = "van"; 
     181$localestrings['nl']['443'] = "naar"; 
     182$localestrings['nl']['444'] = "Pad wijst niet naar het SVN programma!"; 
     183$localestrings['nl']['445'] = "Pad naar het SVN programma:"; 
     184$localestrings['nl']['446'] = "SVN authorisatie string:"; 
     185$localestrings['nl']['447'] = "SVN repository URL:"; 
     186$localestrings['nl']['448'] = "Genereer diffs voor deze file extensies:"; 
     187$localestrings['nl']['449'] = "Kan geen verbinding maken met de SVN repository. Uitvoer van het commando is:<br />"; 
     188 
     189$localestrings['nl']['500'] = "Changeset"; 
     190$localestrings['nl']['501'] = "Datum"; 
     191$localestrings['nl']['502'] = "Auteur"; 
     192$localestrings['nl']['503'] = "Bericht"; 
     193$localestrings['nl']['504'] = "Bestanden"; 
     194$localestrings['nl']['505'] = "Gekopieerd van"; 
     195$localestrings['nl']['506'] = "Verplaatst van"; 
     196$localestrings['nl']['507'] = "Ongewijzigd"; 
     197$localestrings['nl']['508'] = "Toegevoegd"; 
     198$localestrings['nl']['509'] = "Verwijderd"; 
     199$localestrings['nl']['510'] = "Gekopieerd"; 
     200$localestrings['nl']['511'] = "Gewijzigd"; 
     201$localestrings['nl']['512'] = "Verplaatst"; 
     202$localestrings['nl']['513'] = "diff"; 
     203$localestrings['nl']['514'] = "Toon de wijzigingen"; 
     204$localestrings['nl']['515'] = "Toon nieuwe revisie %s van dit bestand"; 
     205$localestrings['nl']['516'] = "Bekijk dit changeset"; 
     206$localestrings['nl']['517'] = "Bekijk bestand"; 
     207$localestrings['nl']['518'] = "Toon origineel bestand (rev. %s)"; 
    78208 
    79209/*---------------------------------------------------+ 
     
    85215// add the configuration items for this module 
    86216$mod_install_cmds[] = array('type' => 'db', 'value' => "INSERT INTO ".$db_prefix."configuration( cfg_name, cfg_value ) VALUES ('tracsvn_database', '')"); 
     217$mod_install_cmds[] = array('type' => 'db', 'value' => "INSERT INTO ".$db_prefix."configuration( cfg_name, cfg_value ) VALUES ('tracsvn_url', '')"); 
     218$mod_install_cmds[] = array('type' => 'db', 'value' => "INSERT INTO ".$db_prefix."configuration( cfg_name, cfg_value ) VALUES ('tracsvn_svncmd', '/usr/bin/svn')"); 
     219$mod_install_cmds[] = array('type' => 'db', 'value' => "INSERT INTO ".$db_prefix."configuration( cfg_name, cfg_value ) VALUES ('tracsvn_svnauth', '--username name_here --password pass_here')"); 
     220$mod_install_cmds[] = array('type' => 'db', 'value' => "INSERT INTO ".$db_prefix."configuration( cfg_name, cfg_value ) VALUES ('tracsvn_extensions', 'php,tpl,sh')"); 
    87221 
    88222// create the table: tracsvn_alias 
Note: See TracChangeset for help on using the changeset viewer.