| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace cx_newsletter;
- abstract class view
- implements view_interface {
- public function __construct(
- \wpdb $database,
- settings $settings,
- \cx_appengine\templates $templates,
- table_names $tables
- ) {
- $this->database = $database;
- $this->settings = $settings;
- $this->templates = $templates;
- $this->tables = $tables;
- $this->view = new \cx_appengine\view($_POST);
- }
- protected function get_settings() : settings {
- return $this->settings;
- }
- protected function get_database() : \wpdb {
- return $this->database;
- }
- protected function get_templates() : \cx_appengine\templates {
- return $this->templates;
- }
- protected function get_view() : \cx_appengine\view {
- return $this->view;
- }
- protected function get_tables() : table_names {
- return $this->tables;
- }
- protected function add_activity(string $name) : self {
- $activity = new $name(
- $this->get_database(),
- $this->get_settings(),
- $this->get_templates(),
- $this->get_tables()
- );
- $this->get_view()->add_activity($activity);
- return $this;
- }
- public function action() : void {
- $this->process();
- echo(
- $this
- ->get_view()
- ->prepare()
- ->choose()
- ->validate()
- ->process()
- ->render()
- ->get()
- );
- }
- private \cx_appengine\view $view;
- private \wpdb $database;
- private settings $settings;
- private table_names $tables;
- private \cx_appengine\templates $templates;
- }
|