mDescription = "Count how many messages we have defined for each language"; } public function execute() { global $IP; $dir = $this->getArg( 0, "$IP/languages/messages" ); $total = 0; $nonZero = 0; foreach ( glob( "$dir/*.php" ) as $file ) { $baseName = basename( $file ); if ( !preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $baseName, $m ) ) { continue; } $numMessages = $this->getNumMessages( $file ); // print "$code: $numMessages\n"; $total += $numMessages; if ( $numMessages > 0 ) { $nonZero ++; } } $this->output( "\nTotal: $total\n" ); $this->output( "Languages: $nonZero\n" ); } private function getNumMessages( $file ) { // Separate function to limit scope require( $file ); if ( isset( $messages ) ) { return count( $messages ); } else { return 0; } } } $maintClass = "CountMessages"; require_once( RUN_MAINTENANCE_IF_MAIN );