root/dev/mods/apiuser/init.php @ 491

Revision 466, 12.4 KB (checked in by kovell, 11 years ago)

Reverting 464 changes. apiuser mod actually does work for some and is used by other mods.

Line 
1<?php
2
3event::register('mod_xajax_initialised', 'apiuser::run');
4
5role::register('autopilot', 'Allow Acces to the Autopilot Mod');
6role::register('access', 'Allow to consult the Killboard');
7role::register('post_killmail', 'Allow to post Killmail');
8role::register('comment', 'Allow to post Comment');
9
10class apiuser
11{
12    function run()
13    {
14        global $xajax;
15        if (isset($xajax))
16        {
17            if (get_class($xajax) == 'xajax')
18            {
19                $xajax->register(XAJAX_FUNCTION, array('editTitleName', 'apiuser', 'editTitleName'));
20                $xajax->register(XAJAX_FUNCTION, array('validTitleName', 'apiuser', 'validTitleName'));
21
22                $xajax->register(XAJAX_FUNCTION, array('editTitleDescription', 'apiuser', 'editTitleDescription'));
23                $xajax->register(XAJAX_FUNCTION, array('validTitleDesc', 'apiuser', 'validTitleDesc'));
24
25                $xajax->register(XAJAX_FUNCTION, array('editTitleRoles', 'apiuser', 'editTitleRoles'));
26                $xajax->register(XAJAX_FUNCTION, array('validTitleRoles', 'apiuser', 'validTitleRoles'));
27
28                $xajax->register(XAJAX_FUNCTION, array('modifyBanStatus', 'apiuser', 'modifyBanStatus'));
29                $xajax->register(XAJAX_FUNCTION, array('showGroup', 'apiuser', 'showGroup'));
30                $xajax->register(XAJAX_FUNCTION, array('editGroup', 'apiuser', 'editGroup'));
31            }
32        }
33    }
34
35    //Name Of Title
36    function editTitleName($id)
37    {
38        $objResponse = new xajaxResponse();
39        $qry = new DBQuery();
40        $qry->execute('select ttl_name from kb3_titles  where ttl_id='.$id.' and ttl_site=\''.KB_SITE."'");
41        $row = $qry->getRow();
42        $objResponse->assign('titleName'.$id, 'innerHTML', '<form id="titleNameForm'.$id.'"><input  type=text value= \''.$row['ttl_name'].'\' id="titleNameChamp'.$id.'">
43        <input type=submit value="Ok" onclick="xajax_validTitleName('.$id.',document.getElementById(\'titleNameChamp'.$id.'\').value);return false;"></form>');
44        return $objResponse;
45    }
46    function validTitleName($id,$val)
47    {
48        $objResponse = new xajaxResponse();
49        $qry = new DBQuery();
50        $qry->execute("update kb3_titles set ttl_name='".$val."' where ttl_id=".$id." and ttl_site='".KB_SITE."'");
51        $objResponse->assign('titleName'.$id, 'innerHTML','<div  onclick="xajax_editTitleName('.$id.')">'.$val.'</div>');
52        return $objResponse;
53    }
54
55    //Description
56    function editTitleDescription($id)
57    {
58        $objResponse = new xajaxResponse();
59        $qry = new DBQuery();
60        $qry->execute('select ttl_descr from kb3_titles  where ttl_id='.$id.' and ttl_site=\''.KB_SITE."'");
61        $row = $qry->getRow();
62
63
64        $objResponse->assign('titleDescr'.$id, 'innerHTML', '<form><input  type=text  size=60 value= \''.$row['ttl_descr'].'\' id="titleDescChamp'.$id.'">
65        <input type=submit value="Ok" onclick="xajax_validTitleDesc('.$id.',document.getElementById(\'titleDescChamp'.$id.'\').value);return false;"></form>');
66
67        return $objResponse;
68    }
69    function validTitleDesc($id,$val)
70    {
71        $objResponse = new xajaxResponse();
72        $qry = new DBQuery();
73        $qry->execute("update kb3_titles set ttl_descr='".$val."' where ttl_id=".$id." and ttl_site='".KB_SITE."'");
74        $objResponse->assign('titleDescr'.$id, 'innerHTML','<div  onclick="xajax_editTitleName('.$id.')">'.$val.'</div>');
75        return $objResponse;
76    }
77    function editTitleRoles($id)
78    {
79        $objResponse = new xajaxResponse();
80        $qry = new DBQuery();
81
82        $html='<form>';
83        $qry->execute("select ttl_id,rol_name,a.rol_id,rol_descr  from kb3_roles a  left join  kb3_titles_roles b on (a.rol_id=b.rol_id and  ttl_id=".$id.") where  rol_site ='".KB_SITE."' ");
84        while ($row = $qry->getRow())
85        {
86            if (intval($row['ttl_id'])>0)
87                $html.='<input checked ';
88            else
89                $html.='<input ';
90
91            $html.='type=checkbox name=chk'.$row['rol_id'].'>'.$row['rol_descr'].'<br>';
92        }
93        $html.='<input type=submit value="Ok" onclick="xajax_validTitleRoles('.$id.',xajax.getFormValues(this.form));return false;"></form>';
94        $objResponse->assign('titleRoles'.$id, 'innerHTML',$html);
95        return $objResponse;
96    }
97    function validTitleRoles($id,$form)
98    {
99        $objResponse = new xajaxResponse();
100        $qry = new DBQuery();
101        $qry->execute("delete from kb3_titles_roles where ttl_id='".$id."' ");
102        foreach ($form as $key=>$val)
103        {
104            $roleID=substr($key,3,strlen($key)-1);
105            $qry->execute("insert into kb3_titles_roles values(".$id.",".$roleID.')');
106        }
107
108
109        $qry->execute("select rol_name  from kb3_roles a,kb3_titles_roles b where a.rol_id=b.rol_id and ttl_id=".$id." order by rol_name");
110        while ($row = $qry->getRow())
111            $html.=$row['rol_name'].', ';
112        $html=substr($html,0,strlen($html)-2);
113        if (strlen($html)==0)
114            $html='Nothing';
115        $objResponse->assign('titleRoles'.$id, 'innerHTML','<div  onclick="xajax_editTitleRoles('.$id.')"> '.$html.'</div>');
116        return $objResponse;
117    }
118
119    function affListMember()
120    {
121        $qry = new DBQuery();
122        $sql="select  kb3_api_user.usr_id,ttl_name,sta_value,userID,charID,charName,corpName,allianceName,usr_state as ban
123        from kb3_api_user
124        left join kb3_corps on (crp_name=corpName) ";
125        if (CORP_ID)
126            $sql.='left join kb3_standings ON(sta_from='.CORP_ID.' AND sta_from_type=\'c\' and sta_to=crp_id)';
127        else
128            $sql.='left join kb3_standings ON(sta_from='.ALLIANCE_ID.' AND sta_from_type=\'a\' and sta_to=crp_id)';
129        $sql.=' left join kb3_user u on (charName=usr_login)
130                                left join kb3_user_titles on (ust_usr_id=u.usr_id)
131                                left join kb3_titles on (ttl_id=ust_ttl_id)
132                        ';
133        $sql .= 'where u.usr_site=\''.KB_SITE.'\' ';
134        if (!config::get('apiuser_show3char'))
135            $sql.=' and kb3_api_user.usr_id>0 ';
136
137        if (!isset($_GET['view']) || $_GET['view']=='userID')
138            $sql.="order by userID,ban desc,charName";
139        else
140        if (isset($_GET['view'])&&$_GET['view']=='alliance')
141            $sql.="order by allianceName,userID,ban desc,charName";
142        elseif (isset($_GET['view'])&&$_GET['view']=='corp')
143            $sql.="order by corpName,charName,ban desc,charName";
144        elseif (isset($_GET['view'])&&$_GET['view']=='pname')
145            $sql.="order by charName,corpName,ban desc,charName";
146        elseif (isset($_GET['view'])&&$_GET['view']=='standing')
147            $sql.="order by sta_value desc,corpName,charName,ban desc,charName";
148        elseif (isset($_GET['view'])&&$_GET['view']=='titles')
149            $sql.="order by ttl_name desc,corpName,charName,ban desc,charName";
150
151        $qry->execute($sql);
152
153
154        $return = "<table class=kb-table cellspacing=1>";
155        $return .= "<tr class=kb-table-header>
156        <td><a href=?a=user_management&view=userID>userID</a></td>
157                <td><a href=?a=user_management&view=pname>CharName</a></td>
158                <td><a href=?a=user_management&view=corp>Corporation</a></td>
159                <td><a href=?a=user_management&view=alliance>Alliance</a></td>
160                <td><a href=?a=user_management&view=titles>Titles</a></td>
161                <td align=\"right\">Admin</td>
162                </tr></div>";
163
164        while ($row = $qry->getRow())
165        {
166            if ($row['sta_value'] > 5)
167                $icon = 'darkblue';
168            elseif ($row['sta_value'] > 0)
169                $icon = '#0066FF';
170            elseif ($row['sta_value'] > -5)
171                $icon = '#FF6633';
172            elseif ($row['sta_value'] == -10)
173                $icon = 'red';
174            else
175                $icon = '';
176
177
178            if ($olduserid<>$row['userID'])
179                $return .= "<tr class=kb-table-row-odd><td>".$row['userID']."&nbsp;</td>";
180            else
181                $return .= "<tr class=kb-table-row><td>&nbsp;</td>";
182            $return.="
183                    <td><a href=index.php?a=viewChar&charID=".$row['charID'].">".$row['charName']."</div></a>&nbsp;</td>
184                    <td bgcolor=".$icon.">".$row['corpName']." <img src=\"./img/sta_".$icon.".png\"/></td>
185                    <td >&nbsp;".$row['allianceName']."</td>
186
187                    ";
188
189            if (intval($row['usr_id'])>0)
190            {
191                if (empty($row['ttl_name']))
192                {
193                    $row['ttl_name'] = '[None]&nbsp;';
194                }
195                $return.="<td id=group".$row['userID']." style=\"border:1px solid #CC9900;\" ><div onclick=\"xajax_showGroup(".$row['userID'].")\">
196                        &nbsp;".$row['ttl_name']."      </div></td>
197
198                        <td ><div id=ban".$row['userID'].">&nbsp;";
199
200                if ($row['ban']==1)
201                    $return.="<a href=\"#\" onclick=\"xajax_modifyBanStatus(".$row['userID'].",'test');\">UnBan</a>";
202                else
203                    $return.="<a href=# onclick=\"xajax_modifyBanStatus(".$row['userID'].",'test');\">Ban</a>";
204                $return.=" / <a href=index.php?a=user_management&delete&userID=".$row['userID'].">Delete</a></div></td></tr></div>";
205            }
206            else
207                $return.="<td>&nbsp;</td><td>&nbsp;</td></tr>";
208            $olduserid=$row['userID'];
209        }
210        $return .= "</table>";
211        $return.=' <div id=test>Sort By : <a href=?a=user_management&view=standing>Standings</a></div>';
212        return $return;
213    }
214    function modifyBanStatus($userID)
215    {
216        $qry = new DBQuery();
217        $qry->execute('select usr_state,a.usr_id from kb3_user a,kb3_api_user b where b.charName=a.usr_login and b.userID='.$userID);
218        $row = $qry->getRow();
219        if ($row['usr_state']==0)
220            $qry->execute('update kb3_user set usr_state=1 where usr_id='.$row['usr_id']);
221        else
222            $qry->execute('update kb3_user set usr_state=0 where usr_id='.$row['usr_id']);
223
224        $return="&nbsp;";
225        if ($row['usr_state']==0)
226            $return.="<a href=\"#\" onclick=\"xajax_modifyBanStatus(".$userID.");\">UnBan</a>";
227        else
228            $return.="<a href=# onclick=\"xajax_modifyBanStatus(".$userID.");\">Ban</a>";
229        $return.=" / <a href=index.php?a=user_management&delete&userID=".$userID.">Delete</a></div>";
230        $objResponse = new xajaxResponse();
231        $objResponse->assign('ban'.$userID      , 'innerHTML', $return);
232
233        return $objResponse;
234    }
235    function showGroup($userID)
236    {
237        $qry = new DBQuery();
238        $qry->execute('select *
239from kb3_titles a
240left join kb3_user_titles on (ttl_id=ust_ttl_id)
241order by ttl_name');
242        $selected = false;
243        while ($row = $qry->getRow())
244        {
245            if (strlen($return)==0)
246                $return="<select name=\"selectGroup".$userID."\" onchange=\"xajax_editGroup(".$userID.",this.value)\">";
247            if (intval($row['ust_usr_id'])>0)
248            {
249                $return.='<option selected value="'.$row['ttl_id'].'">'.$row['ttl_name'].'</option>';
250                $selected = true;
251            }
252            else
253                $return.='<option  value="'.$row['ttl_id'].'">'.$row['ttl_name'].'</option>';
254
255        }
256        if (!$selected)
257        {
258            $return.='<option selected value="">None</option>';
259        }
260        $return.="</select>";
261
262        $objResponse = new xajaxResponse();
263        $objResponse->assign('group'.$userID, 'innerHTML', $return);
264        return $objResponse;
265    }
266    function editGroup($userID,$newTitle)
267    {
268        $qry = new DBQuery();
269        $qry->execute('select usr_id from kb3_api_user where userID='.$userID.' and usr_id>0');
270        $row = $qry->getRow();
271        $qry->execute('delete from kb3_user_titles where ust_usr_id='.$row['usr_id']);
272        $qry->execute('insert into kb3_user_titles values('.$row['usr_id'].','.$newTitle.')');
273        $qry->execute('select ttl_name from kb3_titles where ttl_id='.$newTitle. " and ttl_site='".KB_SITE."'");
274        $row = $qry->getRow();
275        $return="<div onclick=\"xajax_showGroup(".$userID.")\">".$row['ttl_name']."</div>";
276        $objResponse = new xajaxResponse();
277        $objResponse->assign('group'.$userID, 'innerHTML', $return);
278        return $objResponse;
279    }
280}
Note: See TracBrowser for help on using the browser.