[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.136.27.210: ~ $
<?php
#######################################################################
# Builds the global array DBstruct out of two subarrays. DBStruct holds the column definition for the database 
 # tables. A table definition must be in either $DBstructuser or $DBstructphplist. The global array 'tables' will be 
 # constructed out of DBStruct and will hold only the table names. Plugins can have their own DBStructs and these 
 # will be added to $DBstructphplist.
#######################################################################

if (!defined('PHPLISTINIT')) die(); ## avoid direct access

## don't remove spaces
if (!defined  (  'STRUCTUREVERSION'  )) {
  define("STRUCTUREVERSION","3.0.12");
}

$DBstructuser = array( # order of tables is essential for smooth upgrade
    "attribute" => array ( # attributes of a user or a message
        "id" => array("integer not null primary key auto_increment","ID"),
        "name" => array("varchar(255) not null","Name"),
        "type" => array("varchar(30)","Type of attribute"),
        "listorder" => array("integer","order of listing"),
        "default_value" => array("varchar(255)","Default value"),
        "required" => array("tinyint","Required for subscriber to fill out"),
        "tablename" => array("varchar(255)","Name of table with values"),
        "index_1" => array("nameindex (name)",""),
        "index_2" => array("idnameindex (id,name)","")
    ),
    "user_attribute" => array(
        "attributeid" => array("integer not null","attribute"),
        "userid" => array("integer not null","subscriber id"),
        "value" => array("text","Value of this attribute for this subscriber"),
        "primary key" => array("(attributeid,userid)","PKey"),
        "index_1" => array("userindex (userid)",""),
        "index_2" => array("attindex (attributeid)",""),
    #    "index_3" => array("userattid (attributeid,userid)",""), ## already Pk
        "index_4" => array("attuserid (userid,attributeid)",""),
    ),
    "user" => array ( # a user in the system
        "id" => array("integer not null primary key auto_increment","sysexp:ID"),
        "email" => array("varchar(255) not null","Email"),
        "confirmed" => array("tinyint default 0","sysexp:Is this subscriber confirmed"),
        "blacklisted" => array("tinyint default 0","sysexp:Is this subscriber blacklisted"),
        "optedin" => array("tinyint default 0","sysexp:Did this subscriber manually confirm"),
        "bouncecount" => array("integer default 0","sysexp:Number of bounces"),
        "entered" => array("datetime", "sysexp:Entered"),
        "modified" => array("timestamp", "sysexp:Last Modified"),
        "uniqid" => array("varchar(255)","sysexp:Unique ID"),
        "htmlemail" => array("tinyint default 0","Send this subscriber HTML emails"),
        "subscribepage" => array("integer","sys:Which page was used to subscribe"),
        "rssfrequency" => array("varchar(100)","RSS Frequency"), ## no longer used, but keep to avoid Sql Errors 
        "password" => array("varchar(255)","sys:Password"),
        "passwordchanged" => array("date","sys:Last time password was changed"),
        "disabled" => array("tinyint default 0","Is this account disabled?"),
        "extradata" => array("text","Additional data"),
        "foreignkey" => array("varchar(100)","Foreign Key"),
        "unique_1" => array(" email (email)","sys:unique"),
        "index_1" => array("foreignkey (foreignkey)","sys:Foreign Key"),
        "index_2" => array("idxuniqid (uniqid)","sys:index"),
    #    "index_3" => array("emailidx (email)","sys:index"),
        "index_4" => array("enteredindex (entered)","sys:index"),
        "index_5" => array('confidx (confirmed)','sys:index'),
        "index_6" => array('blidx (blacklisted)','sys:index'),
        "index_7" => array('optidx (optedin)','sys:index'),
    ),
    "user_history" => array(
        "id" => array("integer not null primary key auto_increment","sys:ID"),
        "userid" => array("integer not null",""),
        "ip" => array("varchar(255)",""),
        "date" => array("datetime",""),
        "summary" => array("varchar(255)","History Summary"),
        "detail" => array("text","History Detail"),
        "systeminfo" => array("text","System Information"),
        "index_1" => array("userididx (userid)","sys:index"),
        "index_2" => array("dateidx (date)","sys:index"),
    ),
  );
  
  $DBstructphplist = array(
    "list" => array ( # a list in the system
        "id" => array("integer not null primary key auto_increment","ID"),
        "name" => array("varchar(255) not null","Name"),
        "description" => array("Text","Description"),
        "entered" => array("datetime","Entered"),
        "listorder" => array("integer","Order of listing"),
        "prefix" => array("varchar(10)","Subject prefix"),
        "rssfeed" => array("varchar(255)","Rss Feed"),
        "modified" => array("timestamp", "Modified"),
        "active" => array("tinyint","Active"),
        "owner" => array("integer","Admin who is owner of this list"),
        "category" => array('varchar(255) default ""',"List category"),    
        "index_1" => array("nameidx (name)",""),
        "index_2" => array("listorderidx (listorder)",""),
    ),
    //"listrss" => array( # rss details for a RSS source of a list, obsolete...
        //"listid" => array("integer not null","List ID"),
        //"type" => array("varchar(255) not null","Type of this entry"),
        //"entered" => array("datetime not null",""),
        //"info" => array("text",""),
        //"index_1" => array("listididx (listid)",""),
        //"index_2" => array("enteredidx (entered)",""),
    //),
    "listuser" => array ( # user subscription to a list
        "userid" => array("integer not null","Subscriber ID"),
        "listid" => array("integer not null","List ID"),
        "entered" => array("datetime", "Entered"),
        "modified" => array("timestamp", "Modified"),
        "primary key" => array("(userid,listid)","Primary Key"),
        "index_1" => array("userenteredidx (userid,entered)",""),
        "index_2" => array("userlistenteredidx (userid,listid,entered)",""),
        "index_3" => array("useridx (userid)",""),
        "index_4" => array("listidx (listid)",""),
    ),
    "message" => array ( # a message
        "id" => array("integer not null primary key auto_increment","ID"),
        "subject" => array("varchar(255) not null default '(no subject)'","subject"),
        "fromfield" => array("varchar(255) not null default ''","from"),
        "tofield" => array("varchar(255) not null default ''","tofield"),
        "replyto" => array("varchar(255) not null default ''","reply-to"),
        "message" => array("longtext","Message"),
        "textmessage" => array("longtext","Text version of Message"),
        "footer" => array("text","Footer for a message"),
        "entered" => array("datetime","Entered"),
        "modified" => array("timestamp", "Modified"),
        "embargo" => array("datetime","Time to send message"),
        "repeatinterval" => array("integer default 0","Number of seconds to repeat the message"),
        "repeatuntil" => array("datetime","Final time to stop repetition"),
        "requeueinterval" => array("integer default 0","Number of seconds to requeue the message"),
        "requeueuntil" => array("datetime","Final time to stop requeueing"),
#        "status" => array("enum('submitted','inprocess','sent','cancelled','prepared','draft')","Status"),
        "status" => array("varchar(255)","Status"),
        "userselection" => array("text","query to select the subscribers for this message"),
        "sent" => array("datetime", "sent"),
        "htmlformatted" => array("tinyint default 0","Is this message HTML formatted"),
        "sendformat" => array("varchar(20)","Format to send this message in"),
        "template" => array("integer","Template to use"),
        "processed" => array("mediumint unsigned default 0", "Number Processed"),
        "astext" => array("integer default 0","Sent as text"),
        "ashtml" => array("integer default 0","Sent as HTML"),
        "astextandhtml" => array("integer default 0","Sent as Text and HTML"), // obsolete
        "aspdf" => array("integer default 0","Sent as PDF"),
        "astextandpdf" => array("integer default 0","Sent as Text and PDF"),
        "viewed" => array("integer default 0","Was the message viewed"),
        "bouncecount" => array("integer default 0","How many bounces on this message"),
        "sendstart" => array("datetime","When did sending of this message start"),
        "rsstemplate" => array("varchar(100)","if used as a RSS template, what frequency"),
        "owner" => array("integer","Admin who is owner")
    ),
    "messagedata" => array(
        "name" => array("varchar(100) not null","Name of field"),
        "id" => array("integer not null", "Message ID"),
        "data" => array("longtext","Data"),
        "primary key" => array("(name,id)",""),
    ),
    "listmessage" => array ( # linking messages to a list
        "id" => array("integer not null primary key auto_increment","ID"),
        "messageid" => array("integer not null","Message ID"),
        "listid" => array("integer not null","List ID"),
        "entered" => array("datetime", "Entered"),
        "modified" => array("timestamp","Modified"),
        "unique_1" => array("(messageid,listid)",""),
        "index_1" => array("listmessageidx (listid,messageid)",""),
    ),
    "user_blacklist" => array(
        "email" => array("varchar(255) not null unique","Email"),
        "added" => array("datetime","When added to blacklist"),
        "index_1" => array("emailidx (email)",""),
    ),
    "user_blacklist_data" => array(
        "email" => array("varchar(150) not null unique","Email"),
        "name" => array("varchar(25) not null","Name of Dataitem"),
        "data" => array("text",""),
        "index_1" => array("emailidx (email)",""),
        "index_2" => array("emailnameidx (email,name)",""),
    ),

    "message_attachment" => array( # attachments for a message
        "id" => array("integer not null primary key auto_increment","ID"),
        "messageid" => array("integer not null","Message ID"),
          "attachmentid" => array("integer not null","Attachment ID"),
          "index_1" => array("messageidx (messageid)",""),
          "index_2" => array("messageattidx (messageid,attachmentid)",""),
      ),
      "attachment" => array (
        "id" => array("integer not null primary key auto_increment","ID"),
        "filename" => array("varchar(255)","file"),
        "remotefile" => array("varchar(255)","The original location on the uploader machine"),
        "mimetype" => array("varchar(255)","The type of attachment"),
        "description" => array("text","Description"),
        "size" => array("integer","Size of the file")
      ),
      "usermessage" => array ( # linking messages to a user
          #"id" => array("integer not null primary key auto_increment","ID"),
          "messageid" => array("integer not null","Message ID"),
          "userid" => array("integer not null","subscriber ID"),
          "entered" => array("datetime not null", "Entered"),
          "viewed" => array("datetime","When viewed"),
          "status" => array("varchar(255)","Status of message"),
          "primary key" => array("(userid,messageid)","Primary key"),
          "index_1" => array("messageidindex (messageid)",""),
          "index_2" => array("useridindex (userid)",""),
          "index_3" => array("enteredindex (entered)",""),
          "index_4" => array("statusidx (status)",""),
          "index_5" => array("viewedidx (viewed)",""),
      ),
      "sendprocess" => array( # keep track of running send processes to avoid to many running concurrently
          "id" => array("integer not null primary key auto_increment","ID"),
          "started" => array("datetime", "Start Time"),
          "modified" => array("timestamp","Modified"),
          "alive" => array("integer default 1","Is this process still alive?"),
          "ipaddress" => array("varchar(50)","IP Address of who started it"),
          "page" => array("varchar(100)","The page that this process runs in")
      ),
      "template" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "title" => array("varchar(255) not null","Title"),
          "template" => array("longblob","The template"),
          "listorder" => array("integer",""),
          "unique_1" => array("(title)","")
      ),
      "templateimage" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "template" => array("integer not null default 0","id of template"),
          "mimetype" => array("varchar(100)","Mime Type"),
          "filename" => array("varchar(100)","Filename"),
          "data" => array("longblob","The image"),
          "width" => array("integer",""),
          "height" => array("integer",""),
          "index_1" => array("templateidx (template)",""),
      ),
      "bounce" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "date" => array("datetime","Date received"),
          "header" => array("text","Header of bounce"),
          "data" => array("blob","The bounce"),
          "status" => array("varchar(255)","Status of this bounce"),
          "comment" => array("text","System Comment"),
          "index_1" => array("dateindex (date)",""),
          "index_2" => array("statusidx (status(20))",""),
      ),
      "user_message_bounce" => array( # bounce. We can have one usermessage bounce multiple times
          "id" => array("integer not null primary key auto_increment","ID"),
          "user" => array("integer not null","subscriber ID"),
          "message" => array("integer not null","Message ID"),
          "bounce" => array("integer not null","Bounce ID"),
          "time" => array("timestamp","When did it bounce"),
          "index_1" => array("umbindex (user,message,bounce)","index"),
          "index_2" => array("useridx (user)","index"),
          "index_3" => array("msgidx (message)","index"),
          "index_4" => array("bounceidx (bounce)","index"),
      ),
      "user_message_forward" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "user" => array("integer not null","subscriber ID"),
          "message" => array("integer not null","Message ID"),
          "forward" => array("varchar(255)","Forward email"),
          "status" => array("varchar(255)","Status of forward"),
          "time" => array("timestamp","When was it forwarded"),
          "index_1" => array("usermessageidx (user,message)","index"),
          "index_2" => array("useridx (user)","index"),
          "index_3" => array("messageidx (message)","index"),
      ),
      "config" => array(
          "item" => array("varchar(35) not null primary key","ID"),
          "value" => array("longtext","Value"),
          "editable" => array("tinyint default 1","Editable?"),
          "type" => array("varchar(25)","Type of data"),
      ),
      "admin" => array (
          "id" => array("integer not null primary key auto_increment","sys:ID"),
          "loginname" => array("varchar(25) not null","Login Name (max 25 chars)"),
          "namelc" => array("varchar(255)","sys:Normalised loginname"),
          "email" => array("varchar(255) not null","Email"),
          "created" => array("datetime","sys:Time Created"),
          "modified" => array("timestamp","sys:Time modified"),
          "modifiedby" => array("varchar(25)","sys:Modified by"),
          "password" => array("varchar(255)","sys:Password"),
          "passwordchanged" => array("date","sys:Last time password was changed"),
          "superuser" => array("tinyint default 0","Is this admin Super Admin?"),
          "disabled" => array("tinyint default 0","Is this account disabled?"),
          "unique_1" => array("loginnameidx (loginname)",""),
          'privileges' => array('text','sys:Privileges'),
#          "index_1" => array("loginnameidx (loginname)",""),
      ),
      "adminattribute" => array ( # attributes for an admin
          "id" => array("integer not null primary key auto_increment","ID"),
          "name" => array("varchar(255) not null","Name"),
          "type" => array("varchar(30)","Type of attribute"),
          "listorder" => array("integer","order of listing"),
          "default_value" => array("varchar(255)","Default value"),
          "required" => array("tinyint","Required"),
          "tablename" => array("varchar(255)","Name of table with values")
      ),
      "admin_attribute" => array( # attributes of an admin
          "adminattributeid" => array("integer not null","attribute number"),
          "adminid" => array("integer not null","id of admin"),
          "value" => array("varchar(255)","Value of this attribute for this admin"),
          "primary key" => array("(adminattributeid,adminid)","PKey")
      ),
      "admin_password_request" => array( # password changes, 2.11.4 an up
          "id_key" => array ("integer not null primary key auto_increment", "Id"),
          "date" => array ("datetime", "When the password change request was made"),
          "admin" => array ("integer", "Admin's Id"),
          "key_value" => array ("varchar (32) not null", "Key")
      ),
/*
 * obsolete tables
      "task" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "page" => array("varchar(25) not null","Page, page in system"),
          "type" => array("varchar(25) not null","Type: system, list, user, message, admin"),
          "unique_1" => array("(page)",""),
          "index_1" => array("pageidx (page)","index"),
          "index_2" => array("pagetypeidx (page,type)","index"),
      ),
      "admin_task" => array(
          "adminid" => array("integer not null","id of admin"),
          "taskid" => array("integer not null","id of task"),
          "level" => array("integer","Level: all,none,view,add,edit,delete,self"),
          "primary key" => array("(adminid,taskid)","PKey")
      ),
*/
      "subscribepage" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "title" => array("varchar(255) not null","Title"),
          "active" => array("tinyint default 0",""),
          "owner" => array("integer","Admin who is owner of this page")
      ),
      "subscribepage_data" => array(
          "id" => array("integer not null","ID"),
          "name" => array("varchar(100) not null","Name of field"),
          "data" => array("text","data"),
          "primary key" => array("(id,name)","")
      ),
      "eventlog" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "entered" => array("datetime",""),
          "page" => array("varchar(100)","page this log was for"),
          "entry" => array("text",""),
          "index_1" => array("enteredidx (entered)","index"),
          "index_2" => array("pageidx (page)","index"),
      ),
      "urlcache" => array(
         "id" => array("integer not null primary key auto_increment","ID"),
         "url" => array("varchar(255) not null",""),
         "lastmodified" => array("integer",""),
         "added" => array("datetime",""),
         "content" => array("mediumtext",""),
         "index_1" => array("urlindex (url)",""),
      ),
      //"gchartcache" => array(
         //"url" => array("text not null",""),
         //"lastmodified" => array("timestamp",""),
         //"added" => array("datetime",""),
         //"content" => array("blob",""),
         //"index_1" => array("urlindex (url (1000))",""),
      //),
      # obsoleted table, but may still contain data
  
      ## keep it in for now, but could be dropped at some point
      ## once all dependencies have been removed
      "linktrack" => array ( 
          "linkid" => array("integer not null primary key auto_increment", "Link ID"),
          "messageid" => array("integer not null","Message ID"),
          "userid" => array("integer not null","subscriber ID"),
          "url" => array("varchar(255)", "URL to log"),
          "forward" => array("text","URL to forward to"),
          "firstclick" => array("datetime","When first clicked"),
          "latestclick" => array("timestamp", "When last clicked"),
          "clicked" => array("integer default 0", "Number of clicks"),
          "index_1" => array("midindex (messageid)",""),
          "index_2" => array("uidindex (userid)",""),
          "index_3" => array("urlindex (url)",""),
          "index_4" => array("miduidindex (messageid,userid)",""),
#          "index_5" => array("miduidurlindex (messageid,userid,url)",""),
          "unique_1" => array("miduidurlindex (messageid,userid,url)","")
      ),
      "linktrack_ml" => array ( # ml -> message link
          "messageid" => array("integer not null","Message ID"),
          'forwardid' => array('integer not null','ID in forward table'),
          "firstclick" => array("datetime","When first clicked"),
          "latestclick" => array("datetime", "When last clicked"),
          "total" => array("integer default 0", "Number of times this link has been sent to subscribers for this message"),
          "clicked" => array("integer default 0", "Number of clicks"),
          "htmlclicked" => array("integer default 0", "Number of clicks from HTML emails"),
          "textclicked" => array("integer default 0", "Number of clicks from text emails"),
          "primary key" => array("(messageid,forwardid)",""),
          "index_1" => array("midindex (messageid)",""),
          "index_2" => array("fwdindex (forwardid)",""),
      ),
      "linktrack_uml_click" => array ( # uml -> user message link, click
          "id" => array("integer not null primary key auto_increment", "ID"),
          "messageid" => array("integer not null","Message ID"),
          "userid" => array("integer not null","subscriber ID"),
          'forwardid' => array('integer','ID in forward table'),
          "firstclick" => array("datetime","When first clicked"),
          "latestclick" => array("datetime", "When last clicked"),
          "clicked" => array("integer default 0", "Number of clicks"),
          "htmlclicked" => array("integer default 0", "Number of clicks from HTML emails"),
          "textclicked" => array("integer default 0", "Number of clicks from text emails"),
          "index_1" => array("midindex (messageid)",""),
          "index_2" => array("uidindex (userid)",""),
          "index_4" => array("miduidindex (messageid,userid)",""),
          "unique_1" => array("miduidfwdid (messageid,userid,forwardid)","")
      ),
      "linktrack_forward" => array (
          "id" => array("integer not null primary key auto_increment", "forward ID"),
          "url" => array("varchar(255)", "URL to log"),
  #        "forward" => array("text","URL to forward to"),
          "personalise" => array("tinyint default 0","Forward adding the UID?"),
          "index_1" => array("urlindex (url)",""),
  #        "index_2" => array("urlforwardindex (url,forward(255))",""),
  #        'unique_1' => array('fwdunique (forward (500))','Forward should be unique'),
          'unique_1' => array('urlunique (url)','URL should be unique'),
      ),
      "linktrack_userclick" => array (
          "linkid" => array("integer not null",""),
          "userid" => array("integer not null",""),
          "messageid" => array("integer not null",""),
          "name" => array("varchar(255)","Name of data"),
          "data" => array("text",""),
          "date" => array("datetime",""),
          "index_1" => array("linkindex (linkid)",""),
          "index_2" => array("uidindex (userid)",""),
          "index_3" => array("midindex (messageid)",""),
          "index_4" => array("linkuserindex (linkid,userid)",""),
          "index_5" => array("linkusermessageindex (linkid,userid,messageid)",""),
      ),
      "userstats" => array(
          "id" => array("integer not null primary key auto_increment",""),
          "unixdate" => array("integer","date in unix format"),
          "item" => array("varchar(255)",""),
          "listid" => array("integer default 0",""),
          "value" => array("integer default 0",""),
          "index_1" => array("dateindex (unixdate)",""),
          "index_2" => array("itemindex (item)",""),
          "index_3" => array("listindex (listid)",""),
          "index_4" => array("listdateindex (listid,unixdate)",""),
          "unique_1" => array("entry (unixdate,item,listid)",""),
      ),
      # session table structure, table is created as the name identified in the config file
  #   "sessiontable" => array(
  #      "sessionid" => array("CHAR(32) NOT NULL PRIMARY KEY",""),
  #      "lastactive" => array("INTEGER NOT NULL",""),
  #      "data" => array("LONGTEXT",""),
  #    ),
      "bounceregex" => array(
          "id" => array("integer not null primary key auto_increment","ID"),
          "regex" => array("varchar(255)","Regex"),
          "action" => array("varchar(255)","Action on rule"),
          "listorder" => array("integer default 0",""),
          "admin" => array("integer",""),
          "comment" => array("text",""),
          "status" => array("varchar(255)",""),
          "count" => array("integer default 0","Count of matching bounces on this rule"),
          "unique_1" => array("regex (regex)",""),
       ),
       "bounceregex_bounce" => array(
          "regex" => array("integer not null","Related regex"),
          "bounce" => array("integer not null","Related bounce"),
          "primary key" => array("(regex,bounce)",""),
        ),
      "admintoken" => array(
        "id" => array("integer not null primary key auto_increment","ID"),
        "adminid" => array("integer not null","adminid"),
        "value" => array('varchar(255)',''),
        "entered" => array('integer not null',''),
        "expires" => array('datetime not null',''),
      ),
      "i18n" => array (
        "lan" => array('varchar(10) not null','Language ISO'),
        "original" => array('text not null','Original string'),
        "translation" => array('text not null','Translated string'),
        "index_1" => array('lanorigidx (lan(10),original(200))','index'),
        'unique_1' => array('lanorigunq (lan(10),original(200))','unique'),
      ),
        
  /*    "translation" => array(
        "id" => array("integer not null primary key auto_increment",""),
        "translator" => array("varchar(255)","Name of translator"),
        "email" => array("varchar(255)","email of translator"),
        "pass" => array("varchar(255)","encrypted password for translation"),
        "ident" => array("varchar(255)","Translation identifier")
      ),
      "translation_data" => array(
        "id" => array("integer not null","Translation ID"),
        "item" => array("varchar(100)","Item to translate"),
        "primary key" => array("(id,item)","")
      )
  */
  //   "querycount" => array(
  //     "query" => array('text',''),
  //     "count" => array('integer default 0',''),
  //     'frontend' => array('integer default 0',''),
  //     'unique_1' => array('qindex (query (500))',''),
  //   ),
  
  );

  $DBstruct = $DBstructuser  + $DBstructphplist; # order of tables is essential for smooth upgrade


Filemanager

Name Type Size Permission Actions
admin Folder 0755
auth Folder 0755
base Folder 0755
config Folder 0755
images Folder 0755
js Folder 0755
styles Folder 0755
texts Folder 0755
updater Folder 0755
.htaccess File 666 B 0644
adminstructure.php File 26.79 KB 0644
api.php File 260 B 0644
dl.php File 2.45 KB 0644
error_log File 4.96 KB 0644
index - Copy.php File 41.8 KB 0644
index.html File 698 B 0644
index.php File 46.38 KB 0644
lt.php File 6.79 KB 0644
run_command_line File 121 B 0755
ut.php File 2.66 KB 0644