コード例 #1
0
 /**
  * will delete old images and create new ones
  */
 private function createImages()
 {
     foreach ($this->slider->getImages() as $image) {
         $image->delete();
     }
     $descriptions = [];
     $linkTargets = [];
     foreach ($_POST as $key => $value) {
         if (strstr($key, "description")) {
             $descriptions[] = stripslashes($value);
         }
         if (strstr($key, "link_target")) {
             $linkTargets[] = $value;
         }
     }
     $newImages = [];
     for ($i = 0; $i < count($descriptions); $i++) {
         $image = Image::create(["slider_id" => $this->slider->id, "title" => $_POST["title"][$i], "description" => $descriptions[$i], "order" => $i + 1, "image_url" => $_POST["image_url"][$i], "image_link" => $_POST["image_link"][$i], "image_link_new_window" => $linkTargets[$i] == "on" ? 1 : 0]);
         $image->save();
         $newImages[] = $image;
     }
     $this->slider->images = $newImages;
 }
コード例 #2
0
 /**
  * creates the first instant of an image
  */
 public function createPlaceholderImage()
 {
     $this->images = [];
     $this->images[] = Image::create(["id" => 0]);
 }
コード例 #3
0
 /**
  * See: http://plugin.michael-simpson.com/?page_id=101
  * Called by install() to create any database tables if needed.
  * Best Practice:
  * (1) Prefix all table names with $wpdb->prefix
  * (2) make table names lower case only
  * @return void
  */
 protected function installDatabaseTables()
 {
     Image::install_table();
     Slider::install_table();
 }