/* Copyright (C) Erik Ljungström 2001-11-19 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 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 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <fstream.h> #include <string.h> #include <time.h> #include <stdlib.h> #include <stdio.h> int menu (); void clear (); bool filex (); int dial (); using namespace std; int main () { clear (); menu (); } int dial () { int seconds = 0, minutes = 0, hours = 0; fstream skit ("/usr/local/gnome-ppp_logger/online.log", ios::app); time_t starttime, endtime, timer; struct tm *tblock; timer = time (NULL); tblock = localtime (&timer); starttime = time (0); system ("gnome-ppp"); endtime = time (0); seconds = endtime - starttime; minutes = seconds / 60; if (minutes >= 60) { hours = minutes / 60; minutes %= 60; } seconds = seconds % 60; clear(); cout << endl << asctime (tblock) << "You were connected for: " << endl << hours << " hours" << endl << minutes; cout << " minutes" << endl << (seconds - 15) << " seconds " << endl; skit << endl << asctime (tblock) << "You were connected for: " << endl << hours << " hours" << endl; skit << minutes << " minutes" << endl << (seconds - 15) << " seconds " << endl << endl; skit.close (); } int menu () { int val; char sure[10]; bool ex; cout << endl << endl << "\t[1] Connect \n\t[2] View online log \n\t[3] Erase online log \n\t[4] Save online log \n\t[5] Exit\n\n"; cout << "\tPlease enter your choice: "; cin >> val; if (val == 3) { clear (); ex = filex (); if (ex == false) { cout << endl << "\tFile does not exist. Try running option 1 first." << endl; menu (); } else { cout << "\tAre you sure you want to do this? (Y/N): "; cin.ignore (10, '\n'); cin.get (sure, 10); if ((strcmp (sure, "Y") ==0) || (strcmp(sure, "y")) == 0) { system ("rm -rf /usr/local/gnome-ppp_logger/online.log"); cout << "\tDone!" << endl; menu (); } else menu (); } } if (val == 1) { dial (); menu (); } if (val == 4){ ex = filex(); if (ex == false) { clear(); cout << "\n\tFile does not exist. Try runing option 1 first." << endl; cin.clear(); menu(); } cout << endl << "\tYour file will be saved as 'online.log.save' in /usr/local/gnome-ppp_logger/"; system("cp /usr/local/gnome-ppp_logger/online.log /usr/local/gnome-ppp_logger/online.log.save"); menu(); } if (val == 5) { clear (); exit (0); } if (val == 2) { for (int i = 0; i < 80; i++) { cout << endl; } ex = filex (); if (ex == false) { cout << endl << "\tFile does not exist. Try running option 1 first." << endl; menu (); } else { system ("cat /usr/local/gnome-ppp_logger/online.log"); cin.clear (); cin.ignore (10, '\n'); menu (); } } } bool filex () { FILE *tf = fopen ("/usr/local/gnome-ppp_logger/online.log", "r"); if (!tf) { cin.ignore (10, '\n'); return false; } else return true; } void clear () { for (int i = 0; i < 80; i++) { cout << endl; } }