Exemple #1
0
 public function volume()
 {
     if (!empty($this->request->params['args'][0])) {
         $filename = $this->request->params['args'][0];
         $volume_id = strval(floatval(substr(substr($this->request->params['args'][0], 0, 4), 1, 3)));
         $Pagesconditions = array('volume_number' => $volume_id, 'filename' => $this->request->params['args'][0]);
     } else {
         $id = $this->request->data['_id'];
         $conditions = array('_id' => $id);
         $fields = array('number');
         $volumes = Volumes::find('first', array("fields" => $fields, "conditions" => $conditions, "order" => "number ASC"));
         $volume_id = strval($volumes['number']);
         $Pagesconditions = array('volume_number' => $volume_id, 'updated' => 'Y');
     }
     $pages = Pages::find('all', array('options' => array('fields' => array('_id', 'filename', 'description')), 'conditions' => $Pagesconditions, 'order' => array('sort_order' => 'ASC'), 'limit' => 1));
     $numeric_vol = str_pad($volume_id, 3, '0', STR_PAD_LEFT);
     $roman_vol = $this->roman($volume_id);
     Pages::meta('key', '_id');
     Pages::meta('title', 'filename');
     $topage = Pages::find('list', array(array('fields' => array('_id', 'filename')), 'conditions' => array('volume_number' => $volume_id), 'order' => array('sort_order' => 'ASC')));
     return compact("pages", "numeric_vol", "roman_vol", "topage");
 }
 public function Assign()
 {
     $id = $this->request->data['volume_number'];
     //		print_r($id);
     $pagetypes = Pages::find('all', array('options' => array('fields' => array('_id', 'filename')), 'conditions' => array('type.id' => '', 'volume_number' => $id), 'order' => array('sort_order' => 'ASC'), 'limit' => 1));
     Pages::meta('key', '_id');
     Pages::meta('title', 'filename');
     $topage = Pages::find('list', array(array('fields' => array('_id', 'filename')), 'conditions' => array('type.id' => '', 'volume_number' => $id), 'order' => array('sort_order' => 'ASC')));
     $types = Types::find('list', array('fields' => array('id', 'name'), 'order' => 'id'));
     //	print_r($types);
     $numeric_vol = str_pad($id, 3, '0', STR_PAD_LEFT);
     $roman_vol = $this->roman($id);
     return compact('pagetypes', 'id', 'types', 'topage', 'numeric_vol', 'roman_vol');
 }