/var/www/vhosts/ihelp.ro/httpdocs/src/Controller
Edit: /var/www/vhosts/ihelp.ro/httpdocs/src/Controller/CausesController.php (11050B)
Authentication->addUnauthenticatedActions(['index', 'view', 'viewDonors', 'viewNews', 'viewDocs', 'downloadFile', 'addDonation', 'indexCausesDay', 'sponsorshipContract']);
}
/**
* Index method
*/
public function index()
{
$this->paginate = [
'contain' => ['FeaturedImage'],
];
$causes = $this->paginate($this->Causes->find()->where(['is_active' => true]));
$this->set(compact('causes'));
}
/**
* Index method
*/
public function indexCausesDay()
{
$causes = [];
$this->paginate = [
'contain' => ['FeaturedImage'],
];
$causesTagsDay = $this->Causes->CausesTags->find()
->contain(['Tags'])
->where(['CausesTags.tag_id' => 3, 'Tags.is_active' => true])
->toArray();
if (!empty($causesTagsDay)) {
$idsCause = [];
foreach ($causesTagsDay as $idCause) {
$idsCause[] = $idCause->cause_id;
}
$causes = $this->paginate(
$this->Causes->find()
->where(['Causes.is_active' => true, 'Causes.id IN ' => $idsCause])
);
}
$this->set(compact('causes'));
}
/**
* view method
*/
public function view($slug = false, $uuid = false)
{
if ($uuid) {
$cause = $this->Causes->find('all')
->contain(['FeaturedImage', 'GalleryImages', 'BankAccounts'])
->where(['Causes.uuid' => $uuid, 'Causes.is_active' => true])
->first();
if ($cause) {
if ($cause->slug != $slug) {
return $this->redirect(['prefix' => false, 'controller' => 'Causes', 'action' => 'view', 'uuid' => $uuid, 'slug' => $cause->slug], 301);
}
$bankAccountType = Configure::read('account_type');
$this->loadModel('Products');
$associated_products = $this->Products->find()
->contain(['FeaturedImage', 'GalleryImages'])
->where(['Products.cause_id' => $cause->id, 'Products.is_active' => true])
->toArray();
$this->set(compact('cause', 'associated_products', 'bankAccountType'));
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['prefix' => false, 'controller' => 'Causes', 'action' => 'index']);
}
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['prefix' => false, 'controller' => 'Causes', 'action' => 'index']);
}
}
/**
* viewDonors method
*/
public function viewDonors($slug = false, $uuid = false)
{
if ($uuid) {
$cause = $this->Causes->find('all')
->contain(['FeaturedImage', 'GalleryImages'])
->where(['Causes.uuid' => $uuid, 'Causes.is_active' => true])
->first();
if ($cause) {
if ($cause->slug != $slug) {
return $this->redirect(['prefix' => false, 'controller' => 'Causes', 'action' => 'viewDonors', 'uuid' => $uuid, 'slug' => $cause->slug], 301);
}
$this->loadModel('Donations');
$donors = $this->Donations->find()
->contain(['Users', 'Users.Profiles'])
->where(['Donations.cause_id' => $cause->id])
->toArray();
$this->set(compact('cause', 'donors'));
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['prefix' => false, 'controller' => 'Causes', 'action' => 'index']);
}
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['prefix' => false, 'controller' => 'Causes', 'action' => 'index']);
}
}
/**
* viewNews method
*/
public function viewNews($slug = false, $uuid = false)
{
if ($uuid) {
$cause = $this->Causes->find()
->contain(['FeaturedImage', 'GalleryImages'])
->where(['Causes.uuid' => $uuid, 'Causes.is_active' => true])
->first();
if ($cause) {
$causeNews =
$this->Causes->CauseNews->find()
->where(['CauseNews.cause_id' => $cause->id, 'CauseNews.is_published' => true])
->all();
if ($cause->slug != $slug) {
return $this->redirect(['controller' => 'Causes', 'action' => 'viewNews', 'uuid' => $uuid, 'slug' => $cause->slug], 301);
}
$this->loadModel('Products');
$associated_products = $this->Products->find()
->contain(['FeaturedImage', 'GalleryImages'])
->where(['Products.cause_id' => $cause->id, 'Products.is_active' => true])
->toArray();
$this->set(compact('cause', 'causeNews', 'associated_products'));
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
}
/**
* viewDocs method
*/
public function viewDocs($slug = false, $uuid = false)
{
if ($uuid) {
$cause = $this->Causes->find()
->contain(['FeaturedImage', 'GalleryImages'])
->where(['Causes.uuid' => $uuid, 'Causes.is_active' => true])
->first();
if ($cause) {
$documents = $this->Causes->Documents->find('all')
->where(['Documents.foreign_key' => $cause->id])
->all();
if ($cause->slug != $slug) {
return $this->redirect(['controller' => 'Causes', 'action' => 'viewDocs', 'uuid' => $uuid, 'slug' => $cause->slug], 301);
}
$this->loadModel('Products');
$associated_products = $this->Products->find()
->contain(['FeaturedImage', 'GalleryImages'])
->where(['Products.cause_id' => $cause->id, 'Products.is_active' => true])
->toArray();
$this->set(compact('cause', 'documents', 'associated_products'));
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
}
/**
* downloadFile method
*/
public function downloadFile($file_path)
{
$document = $this->Causes->Documents->find()
->where(['Documents.file_path' => $file_path])
->first();
if (!empty($document)) {
if (file_exists(ROOT . DS . $document->upload_dir)) {
$ext = pathinfo($document->file_path, PATHINFO_EXTENSION);
$response = $this->response->withFile(ROOT . DS . $document->upload_dir . $document->file_path, ['download' => true, 'name' => \Cake\Utility\Inflector::camelize($document->name) . '.' . $ext]);
return $response;
} else {
$this->Flash->error(__('Acest document nu a fost găsit. #121532'));
}
} else {
$this->Flash->error(__('Acest document nu a fost găsit. #121533'));
}
return $this->redirect($this->referer());
}
/**
* addDonation method
*/
public function addDonation($slug, $uuid)
{
if ($uuid) {
$cause = $this->Causes->find('all')
->where(['Causes.uuid' => $uuid, 'Causes.is_active' => true])
->first();
if ($cause) {
$this->loadModel('Donations');
$causeId = $cause->id;
$donation = $this->Donations->newEmptyEntity();
if ($this->request->is('post')) {
$donation->user_id = isset($this->userAuth) ? $this->userAuth->id : null;
$donation = $this->Donations->patchEntity($donation, $this->request->getData());
if ($this->Donations->save($donation)) {
$cause->donation_sum = $cause->donation_sum + $donation->value;
$this->Causes->save($cause);
$this->Flash->success(__('The donation has been saved.'));
return $this->redirect($this->referer());
}
$this->Flash->error(__('The donation could not be saved. Please, try again.'));
}
if ($cause->slug != $slug) {
return $this->redirect(['controller' => 'Causes', 'action' => 'addDonation', 'uuid' => $uuid, 'slug' => $cause->slug], 301);
}
$this->set(compact('cause', 'causeId'));
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
$this->set(compact('donation'));
}
public function sponsorshipContract(string $slug, string $uuid)
{
if ($uuid) {
$cause = $this->Causes->find('all')
->where(['Causes.uuid' => $uuid, 'Causes.is_active' => true])
->first();
if ($cause) {
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
} else {
$this->Flash->error(__('Aceasta cauza nu a fost gasita.'));
return $this->redirect(['controller' => 'Causes', 'action' => 'index']);
}
}
}