<?php require_once dirname(__FILE__).'/accesscheck.php'; # $Id: editattributes.php,v 1.6 2008-01-16 05:41:28 brian_252 Exp $ $id = !empty($_GET['id']) ? sprintf('%d',$_GET['id']) : 0; ob_end_flush(); if (!$id) { Fatal_Error($GLOBALS['I18N']->get('No such attribute:')." $id"); return; } if (!isset($tables["attribute"])) { $tables["attribute"] = "attribute"; $tables["user_attribute"] = "user_attribute"; } if (!isset($table_prefix )) { $table_prefix = 'phplist_'; } $res = Sql_Query("select * from $tables[attribute] where id = $id"); $data = Sql_Fetch_array($res); $table = $table_prefix ."listattr_".$data["tablename"]; switch ($data['type']) { case 'checkboxgroup': case 'select': case 'radio': break; default: print $GLOBALS['I18N']->get('This datatype does not have editable values'); return; } ?> <div class="panel"><div class="header"></div><!-- ENDOF .header --> <div class="content"> <h3 id="attribute-name"><?php echo $data["name"]?></h3> <div class="actions"> <?php print PageLinkButton("attributes",s('Back to attributes'),""); if (!isset($_GET['action']) || $_GET['action'] != 'new') echo PageLinkButton("editattributes",$GLOBALS['I18N']->get('add new'),"id=$id&action=new"); $button = new ConfirmButton( s('Are you sure you want to delete all values?'), PageURL2("editattributes",s('delete all'),"id=$id&deleteall=yes"), s('Delete all')); print $button->show(); ?> </div> <hr/> <?php echo formStart(' class="editattributesAdd" ')?> <input type="hidden" name="action" value="add" /> <input type="hidden" name="id" value="<?php echo $id?>" /> <?php if (isset($_POST["addnew"])) { $items = explode("\n", $_POST["itemlist"]); $query = sprintf('select max(listorder) as listorder from %s',$table); $maxitem = Sql_Fetch_Row_Query($query); if (!Sql_Affected_Rows() || !is_numeric($maxitem[0])) { $listorder = 1; # insert the listorder as it's in the textarea / start with 1 ' } else { $listorder = $maxitem[0]+1; # One more than the maximum } while (list($key,$val) = each($items)) { $val = clean($val); if ($val != "") { $query = sprintf('insert into %s (name,listorder) values("%s","%s")',$table,$val,$listorder); $result = Sql_query($query); } $listorder++; } } if (isset($_POST["listorder"]) && is_array($_POST["listorder"])) { foreach ($_POST["listorder"] as $key => $val) { Sql_Query(sprintf('update %s set listorder = %d where id = %d',sql_escape($table),$val,$key)); } } function giveAlternative($table,$delete,$attributeid) { print $GLOBALS['I18N']->get('Alternatively you can replace all values with another one:').formStart(' class="editattributesAlternatives" '); print '<select name="replace"><option value="0">-- '.$GLOBALS['I18N']->get('Replace with').'</option>'; $req = Sql_Query("select * from $table order by listorder,name"); while ($row = Sql_Fetch_array($req)) if ($row["id"] != $delete) printf('<option value="%d">%s</option>',$row["id"],$row["name"]); print "</select>"; printf('<input type="hidden" name="delete" value="%d" />',$delete); printf('<input type="hidden" name="id" value="%d" />',$attributeid); printf('<input class="submit" type="submit" name="deleteandreplace" value="%s" /><hr class="line" />',$GLOBALS['I18N']->get('Delete and replace')); } function deleteItem($table,$attributeid,$delete) { global $tables; if (isset($_REQUEST['replace'])) { $replace = sprintf('%d',$_REQUEST['replace']); } else { $replace = 0; } # delete the index in delete $valreq = Sql_Fetch_Row_query("select name from $table where id = $delete"); $val = $valreq[0]; # check dependencies $dependencies = array(); $result = Sql_query("select distinct userid from $tables[user_attribute] where attributeid = $attributeid and value = $delete"); while ($row = Sql_fetch_array($result)) { array_push($dependencies,$row["userid"]); } if (sizeof($dependencies) == 0) $result = Sql_query("delete from $table where id = $delete"); else if ($replace) { $result = Sql_Query("update $tables[user_attribute] set value = $replace where value = $delete"); $result = Sql_query("delete from $table where id = $delete"); } else { print $GLOBALS["I18N"]->get("Cannot delete"); print " <b>$val</b><br />"; print $GLOBALS["I18N"]->get("The following subscriber(s) are dependent on this value<br />Update the subscriber profiles to not use this attribute value and try again"); for ($i=0;$i<sizeof($dependencies);$i++) { print PageLink2("user",$GLOBALS["I18N"]->get("user")." ".$dependencies[$i],"id=$dependencies[$i]")."<br />\n"; if ($i>10) { print $GLOBALS['I18N']->get('* Too many to list, total dependencies:')." ".sizeof($dependencies)."<br /><br />"; giveAlternative($table,$delete,$attributeid); return 0; } } print "<br />"; giveAlternative($table,$delete,$attributeid); } return 1; } if (isset($_GET["delete"])) { deleteItem($table,$id,sprintf('%d',$_GET["delete"])); } elseif(isset($_GET["deleteall"])) { $count = 0; $errcount = 0; $res = Sql_Query("select id from $table"); while ($row = Sql_Fetch_Row($res)) { if (deleteItem($table,$id,$row[0])) { $count++; } else { $errcount++; if ($errcount > 10) { print $GLOBALS['I18N']->get('* Too many errors, quitting')."<br /><br /><br />\n"; break; } } } } if (isset($_GET["action"]) && $_GET["action"] == "new") { // ?? ?> <p><?php echo $GLOBALS["I18N"]->get("Add new")." ".$data["name"].', '.$GLOBALS["I18N"]->get("one per line") ?></p> <textarea name="itemlist" rows="20" cols="50"></textarea> <input class="submit" type="submit" name="addnew" value="<?php echo $GLOBALS["I18N"]->get("Add new")." ".$data["name"] ?>" /><br /> <hr /> <?php } $rs = Sql_query("select * from $table order by listorder, name"); $num = Sql_Num_Rows($rs); if ($num < 100 && $num > 25) printf('<input class="submit" type="submit" name="action" value="%s" /><br /><br />',$GLOBALS["I18N"]->get("Change order")); while ($row = Sql_Fetch_array($rs)) { printf( '<div class="row-value"><span class="delete"><a href="javascript:deleteRec(\'%s\');">'.$GLOBALS['I18N']->get('delete').'</a></span>',PageURL2("editattributes","","id=$id&delete=".$row["id"])); if ($num < 100) printf(' <input type="text" name="listorder[%d]" value="%s" size="5" class="listorder" />',$row["id"],$row["listorder"]); printf(' %s %s </div>', $row["name"],($row["name"] == $data["default_value"]) ? '('.$GLOBALS['I18N']->get('default').')':""); } if ($num && $num < 100) printf('<br /><input class="submit" type="submit" name="action" value="%s" />',$GLOBALS["I18N"]->get("Change order")); ?> </form> </div> <!-- eo content --> </div> <!-- eo panel -->
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
FCKeditor | Folder | 0755 |
|
|
PEAR | Folder | 0755 |
|
|
PHPMailer | Folder | 0755 |
|
|
PHPMailer6 | Folder | 0755 |
|
|
actions | Folder | 0755 |
|
|
auth | Folder | 0755 |
|
|
commonlib | Folder | 0755 |
|
|
css | Folder | 0755 |
|
|
data | Folder | 0755 |
|
|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
inc | Folder | 0755 |
|
|
info | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
lan | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
oldmailer | Folder | 0755 |
|
|
onyxrss | Folder | 0755 |
|
|
plugins | Folder | 0755 |
|
|
styles | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
ui | Folder | 0755 |
|
|
uploadimages | Folder | 0755 |
|
|
.gitignore | File | 20 B | 0644 |
|
.htaccess | File | 171 B | 0644 |
|
.minceconf | File | 994 B | 0644 |
|
AnalyticsQuery.php | File | 985 B | 0644 |
|
CsvReader.php | File | 1.27 KB | 0644 |
|
EmailSender.php | File | 477 B | 0644 |
|
about.php | File | 4.22 KB | 0644 |
|
accesscheck.php | File | 1.51 KB | 0644 |
|
addprefix.php | File | 966 B | 0644 |
|
adduser.php | File | 46 B | 0644 |
|
admin.php | File | 10.68 KB | 0644 |
|
adminattributes.php | File | 6.39 KB | 0644 |
|
admins.php | File | 4.54 KB | 0644 |
|
adodb.inc | File | 6.49 KB | 0644 |
|
analytics.php | File | 2.84 KB | 0644 |
|
attributes.php | File | 102 B | 0644 |
|
blacklistemail.php | File | 1.04 KB | 0644 |
|
bounce.php | File | 10.09 KB | 0644 |
|
bouncemgt.php | File | 1.39 KB | 0644 |
|
bouncerule.php | File | 3 KB | 0644 |
|
bouncerules.php | File | 5.86 KB | 0644 |
|
bounces.php | File | 6.01 KB | 0644 |
|
catlists.php | File | 2.64 KB | 0644 |
|
checkbouncerules.php | File | 1.34 KB | 0644 |
|
checki18n.php | File | 2.69 KB | 0644 |
|
checkprerequisites.php | File | 1.05 KB | 0644 |
|
class.html.mime.mail-outlookfix.inc | File | 19.93 KB | 0644 |
|
class.html.mime.mail.inc | File | 19.35 KB | 0644 |
|
class.image.inc | File | 5.77 KB | 0644 |
|
class.phplistmailer.php | File | 24.23 KB | 0644 |
|
class.phplistmailerbase.php | File | 1.5 KB | 0644 |
|
community.php | File | 1.78 KB | 0644 |
|
communityfeed.php | File | 2.36 KB | 0644 |
|
configure.php | File | 5.25 KB | 0644 |
|
connect.php | File | 74.36 KB | 0644 |
|
convertstats.php | File | 5.51 KB | 0644 |
|
converttoutf8.php | File | 3.77 KB | 0644 |
|
cron.php | File | 3.37 KB | 0644 |
|
date.php | File | 6.08 KB | 0644 |
|
dbcheck.php | File | 111 B | 0644 |
|
defaultFrontendTexts.php | File | 9.57 KB | 0644 |
|
defaultconfig.inc | File | 23.52 KB | 0644 |
|
defaultconfig.php | File | 24.92 KB | 0644 |
|
defaultplugin.php | File | 23.31 KB | 0644 |
|
defaults.php | File | 2.83 KB | 0644 |
|
defaultsystemtemplate.php | File | 1.83 KB | 0644 |
|
defaulttest.php | File | 1.12 KB | 0644 |
|
dlusers.php | File | 232 B | 0644 |
|
domainbounces.php | File | 507 B | 0644 |
|
domainstats.php | File | 2.83 KB | 0644 |
|
editattributes.php | File | 6.7 KB | 0644 |
|
editlist.php | File | 6.79 KB | 0644 |
|
error_log | File | 274 B | 0644 |
|
eventlog.php | File | 4.49 KB | 0644 |
|
export.php | File | 4.84 KB | 0644 |
|
exportuserdata.php | File | 6.36 KB | 0644 |
|
fckphplist.php | File | 43.21 KB | 0644 |
|
footer.inc | File | 1.19 KB | 0644 |
|
footer.old.inc | File | 1.82 KB | 0644 |
|
gchart.php | File | 869 B | 0644 |
|
generatebouncerules.php | File | 5.24 KB | 0644 |
|
getrss.php | File | 3.94 KB | 0644 |
|
header.inc | File | 1.75 KB | 0644 |
|
home.php | File | 16.36 KB | 0644 |
|
hostedprocessqueuesetup.php | File | 1.64 KB | 0644 |
|
htaccess | File | 311 B | 0644 |
|
image.php | File | 795 B | 0644 |
|
import.php | File | 2.54 KB | 0644 |
|
import1.php | File | 9.41 KB | 0644 |
|
import2.php | File | 243 B | 0644 |
|
import3.php | File | 20.26 KB | 0644 |
|
import4.php | File | 15.63 KB | 0644 |
|
importadmin.php | File | 14.5 KB | 0644 |
|
importlib.php | File | 2.86 KB | 0644 |
|
importsimple.php | File | 5.84 KB | 0644 |
|
index.php | File | 22.53 KB | 0644 |
|
index.php.old | File | 22.53 KB | 0644 |
|
info.php | File | 1.01 KB | 0644 |
|
init.php | File | 21.7 KB | 0644 |
|
initialise.php | File | 10.02 KB | 0644 |
|
initlanguages.php | File | 794 B | 0644 |
|
languages.php | File | 22.43 KB | 0644 |
|
lib.php | File | 59.85 KB | 0644 |
|
list.php | File | 11.79 KB | 0644 |
|
listbounces.php | File | 4.64 KB | 0644 |
|
login.php | File | 6.05 KB | 0755 |
|
logout.php | File | 224 B | 0644 |
|
massremove.php | File | 1.81 KB | 0644 |
|
massunconfirm.php | File | 1.52 KB | 0644 |
|
mclicks.php | File | 9.55 KB | 0644 |
|
members.php | File | 16.58 KB | 0644 |
|
mergeduplicates.php | File | 4.28 KB | 0644 |
|
message.php | File | 7.27 KB | 0644 |
|
messages.php | File | 18.94 KB | 0644 |
|
mimePart.php | File | 10.7 KB | 0644 |
|
minify.txt | File | 201 B | 0644 |
|
msgbounces.php | File | 3.79 KB | 0644 |
|
msgstatus.php | File | 1.18 KB | 0644 |
|
mviews.php | File | 7.88 KB | 0644 |
|
mysql.inc | File | 11.19 KB | 0644 |
|
mysqli.inc | File | 11.58 KB | 0644 |
|
pageaction.php | File | 1.08 KB | 0644 |
|
pagetop.php | File | 1.17 KB | 0644 |
|
phpListAdminAuthentication.php | File | 7.2 KB | 0644 |
|
pluginlib.php | File | 6.39 KB | 0644 |
|
plugins.php | File | 10.32 KB | 0644 |
|
preparesend.php | File | 627 B | 0644 |
|
processbounces.php | File | 29.71 KB | 0644 |
|
processqueue.php | File | 3.73 KB | 0644 |
|
purgerss.php | File | 1.38 KB | 0644 |
|
readtestmail.php | File | 11.26 KB | 0644 |
|
reconcileusers.php | File | 25.16 KB | 0644 |
|
redirecttoupdater.php | File | 170 B | 0644 |
|
reindex.php | File | 1.69 KB | 0644 |
|
rsslib.php | File | 2.8 KB | 0644 |
|
runcommand.php | File | 583 B | 0644 |
|
send.php | File | 5.58 KB | 0644 |
|
send_core.php | File | 56.08 KB | 0644 |
|
sendemaillib.php | File | 64.2 KB | 0644 |
|
sendprepared.php | File | 4.33 KB | 0644 |
|
sessionlib.php | File | 2.92 KB | 0644 |
|
setpermissions.php | File | 1.57 KB | 0644 |
|
setup.php | File | 3.21 KB | 0644 |
|
sidebar.php | File | 2.67 KB | 0644 |
|
spage.php | File | 3.29 KB | 0644 |
|
spageedit.php | File | 17.07 KB | 0644 |
|
statsmgt.php | File | 1.22 KB | 0644 |
|
statsoverview.php | File | 7.62 KB | 0644 |
|
stresstest.php | File | 5.1 KB | 0644 |
|
structure.php | File | 26.79 KB | 0644 |
|
subscribelib2.php | File | 66.02 KB | 0644 |
|
subscriberstats.php | File | 591 B | 0644 |
|
suppressionlist.php | File | 1.71 KB | 0644 |
|
system.php | File | 784 B | 0644 |
|
systemstats.php | File | 7.71 KB | 0644 |
|
template.php | File | 12.72 KB | 0644 |
|
templates.php | File | 3.02 KB | 0644 |
|
tests.php | File | 1.57 KB | 0644 |
|
uclicks.php | File | 6.52 KB | 0644 |
|
update.php | File | 187 B | 0644 |
|
updateLib.php | File | 2.77 KB | 0644 |
|
updatetlds.php | File | 399 B | 0644 |
|
updatetranslation.php | File | 1.94 KB | 0644 |
|
upgrade.php | File | 29.03 KB | 0644 |
|
user.php | File | 2.35 KB | 0644 |
|
usercheck.php | File | 2.27 KB | 0644 |
|
userclicks.php | File | 8 KB | 0644 |
|
userhistory.php | File | 127 B | 0644 |
|
usermgt.php | File | 1.83 KB | 0644 |
|
users.php | File | 393 B | 0644 |
|
vCard.php | File | 1.9 KB | 0644 |
|
viewmessage.php | File | 610 B | 0644 |
|
viewrss.php | File | 4.07 KB | 0644 |
|
viewtemplate.php | File | 1.82 KB | 0644 |
|
vote.php | File | 38 B | 0644 |
|