summaryrefslogtreecommitdiffstats
path: root/kiosktool/kiosktool-tdedirs.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-02-01 17:25:31 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-02-01 17:25:31 -0600
commit3c66b171a6f0ad667c538fd727bbcef54af71d37 (patch)
treeae80c2d1cb16b92fb7d5a73bbe5ce34fbc5ae016 /kiosktool/kiosktool-tdedirs.cpp
parent867b7c23aa5ee22368683f23635ded9506587069 (diff)
downloadkiosktool-3c66b171a6f0ad667c538fd727bbcef54af71d37.tar.gz
kiosktool-3c66b171a6f0ad667c538fd727bbcef54af71d37.zip
Fix FTBFS
Diffstat (limited to 'kiosktool/kiosktool-tdedirs.cpp')
-rw-r--r--kiosktool/kiosktool-tdedirs.cpp184
1 files changed, 0 insertions, 184 deletions
diff --git a/kiosktool/kiosktool-tdedirs.cpp b/kiosktool/kiosktool-tdedirs.cpp
deleted file mode 100644
index 7f8b1f7..0000000
--- a/kiosktool/kiosktool-tdedirs.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * kiosktool-tdedirs.cpp
- *
- * Copyright (C) 2004 Waldo Bastian <bastian@kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License versin 2 as
- * published by the Free Software Foundation.
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <config.h>
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <pwd.h>
-#include <grp.h>
-
-#include <tqfile.h>
-
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <kinstance.h>
-#include <kshell.h>
-#include <ksimpleconfig.h>
-#include <kstandarddirs.h>
-
-static const char *description = I18N_NOOP("A tool to set $TDEDIRS according to the current user profile.");
-
-
-static TQString readEnvPath(const char *env)
-{
- TQCString c_path = getenv(env);
- if (c_path.isEmpty())
- return TQString();
- return TQFile::decodeName(c_path);
-}
-
-static TQStringList lookupProfiles(const TQString &mapFile)
-{
- TQStringList profiles;
-
- if (mapFile.isEmpty() || !TQFile::exists(mapFile))
- {
- profiles << "default";
- return profiles;
- }
-
- struct passwd *pw = getpwuid(geteuid());
- if (!pw)
- {
- profiles << "default";
- return profiles; // Not good
- }
-
- TQCString user = pw->pw_name;
-
- gid_t sup_gids[512];
- int sup_gids_nr = getgroups(512, sup_gids);
-
- KSimpleConfig mapCfg(mapFile, true);
- mapCfg.setGroup("Users");
- if (mapCfg.hasKey(user.data()))
- {
- profiles = mapCfg.readListEntry(user.data());
- return profiles;
- }
-
- mapCfg.setGroup("General");
- TQStringList groups = mapCfg.readListEntry("groups");
-
- mapCfg.setGroup("Groups");
-
- for( TQStringList::ConstIterator it = groups.begin();
- it != groups.end(); ++it )
- {
- TQCString grp = (*it).utf8();
- // Check if user is in this group
- struct group *grp_ent = getgrnam(grp);
- if (!grp_ent) continue;
- gid_t gid = grp_ent->gr_gid;
- if (pw->pw_gid == gid)
- {
- // User is in this group --> add profiles
- profiles += mapCfg.readListEntry(*it);
- }
- else
- {
- for(int i = 0; i < sup_gids_nr; i++)
- {
- if (sup_gids[i] == gid)
- {
- // User is in this group --> add profiles
- profiles += mapCfg.readListEntry(*it);
- break;
- }
- }
- }
- }
-
- if (profiles.isEmpty())
- profiles << "default";
- return profiles;
-}
-
-static KCmdLineOptions options[] = {
- { "check", I18N_NOOP("Output currently active prefixes"), 0 },
- KCmdLineLastOption
-};
-
-int main(int argc, char **argv)
-{
- TDELocale::setMainCatalogue("kiosktool");
- TDEAboutData about("kiosktool-tdedirs", "kiosktool-tdedirs", "1.0", description, TDEAboutData::License_GPL, "(C) 2004 Waldo Bastian");
- TDECmdLineArgs::init( argc, argv, &about);
- TDECmdLineArgs::addCmdLineOptions(options);
- TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
-
- TDEInstance a("kiosktool-tdedirs");
-
- if (args->isSet("check"))
- {
- (void) TDEGlobal::config(); // Force config file processing
- TQString dirs = TDEGlobal::dirs()->kfsstnd_prefixes();
- printf("%s\n", TQFile::encodeName(dirs).data());
- return 0;
- }
-
- TQStringList tdedirList;
-
- // begin TDEDIRS
- TQString tdedirs = readEnvPath("TDEDIRS");
- if (!tdedirs.isEmpty())
- {
- tdedirList = TQStringList::split(":", tdedirs);
- }
- else
- {
- TQString tdedir = readEnvPath("TDEDIR");
- if (!tdedir.isEmpty())
- {
- tdedir = KShell::tildeExpand(tdedir);
- tdedirList.append(tdedir);
- }
- }
-
- TDEConfig *config = TDEGlobal::config();
- config->setGroup("Directories");
- TQString userMapFile = config->readEntry("userProfileMapFile");
- TQString profileDirsPrefix = config->readEntry("profileDirsPrefix");
- if (!profileDirsPrefix.isEmpty() && !profileDirsPrefix.endsWith("/"))
- profileDirsPrefix.append('/');
- TQStringList profiles = lookupProfiles(userMapFile);
-
- while(!profiles.isEmpty())
- {
- TQString profile = profiles.back();
- config->setGroup(TQString::fromLatin1("Directories-%1").arg(profile));
- profiles.pop_back();
- TQStringList list = config->readListEntry("prefixes");
- for (TQStringList::ConstIterator it = list.begin(); it != list.end(); it++)
- {
- tdedirList.prepend(*it);
- }
- if (list.isEmpty() && !profile.isEmpty() && !profileDirsPrefix.isEmpty())
- {
- tdedirList.prepend(profileDirsPrefix + profile);
- }
- }
- printf("%s\n", TQFile::encodeName(tdedirList.join(":")).data());
-
- return 0;
-}