function get($tab)
{
// $this->jerr("Not authenticated", array('authFailure' => true));
- echo '<PRE>';print_R($_GET); DB_DataObject::debuglevel(1);
+ //echo '<PRE>';print_R($_GET); DB_DataObject::debuglevel(1);
$this->init(); // from pnan.
//print_r($x);
// build join if req.
- DB_DataObject::debugLevel(1);
+ //DB_DataObject::debugLevel(1);
$total = $x->count($this->countWhat);
// sorting..
//
* @arg DB_DataObject $x
*
*/
- function applySort($x)
+ function applySort($x, $sort = '', $dir ='')
{
// Db_DataObject::debugLevel(1);
- $sort = empty($_REQUEST['sort']) ? '' : $_REQUEST['sort'];
- $dir = (empty($_REQUEST['dir']) || strtoupper($_REQUEST['dir']) == 'ASC' ? 'ASC' : 'DESC');
+ $sort = empty($_REQUEST['sort']) ? $sort : $_REQUEST['sort'];
+ $dir = empty($_REQUEST['dir']) ? $dir : $_REQUEST['dir'];
+ $dir = $dir == 'ASC' ? 'ASC' : 'DESC';
while ($x->fetch()) {
$xx = clone($x);
+
+ // perms first.
+
+ if (method_exists($x, 'checkPerm') && !$x->checkPerm('D', $this->authUser)) {
+ $this->jerr("PERMISSION DENIED");
+ }
+ // before delte = allows us to trash dependancies if needed..
+ if ( method_exists($xx, 'beforeDelete') && ($xx->beforeDelete() === false)) {
+ $errs[] = "Delete failed ({$xx->id})\n". (isset($xx->err) ? $xx->err : '');
+ continue;
+ }
+
+ // now check deps.
+
foreach($affects as $k=> $true) {
$ka = explode('.', $k);
$chk = DB_DataObject::factory($ka[0]);
$this->jerr('Delete Dependant records first ('. $ka[0]. ':' . $ka[1] .'='.$xx->$pk.')');
}
}
-
-
-
- if (method_exists($x, 'checkPerm') && !$x->checkPerm('D', $this->authUser)) {
- $this->jerr("PERMISSION DENIED");
- }
+ // finally log it..
$this->addEvent("DELETE", $x, $x->toEventString());
- if ( method_exists($xx, 'beforeDelete') && ($xx->beforeDelete() === false)) {
- $errs[] = "Delete failed ({$xx->id})\n". (isset($xx->err) ? $xx->err : '');
- continue;
- }
+
$xx->delete();
}
if ($errs) {
$x->whereAddIn(
- isset($this->colsJoinName[$key]) ?
- $this->colsJoinName[$key] :
+ isset($this->colsJname[$key]) ?
+ $this->colsJname[$key] :
($x->tableName(). '.'.$key),
$ar, $quote ? 'string' : 'int');
}
$key = substr($key, 1) ;
$x->whereAdd( (
- isset($this->colsJoinName[$key]) ?
- $this->colsJoinName[$key] :
+ isset($this->colsJname[$key]) ?
+ $this->colsJname[$key] :
$x->tableName(). '.'.$key ) . ' != ' .
(is_numeric($val) ? $val : "'". $x->escape($val) . "'")
);