Skip to content

Commit 5174186

Browse files
author
Luca Bruno
committed
v.0.9.6
1 parent 67ddd0b commit 5174186

29 files changed

+467
-108
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
/vendor
22
/composer.lock
3+
/composer.local.*

src/FacebookAds/Api.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class Api {
3636
/**
3737
* @var string
3838
*/
39-
const VERSION = '0.0.1';
39+
const VERSION = '0.9.6';
4040

4141
/**
4242
* @var string
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<?php
2+
/**
3+
* Copyright 2014 Facebook, Inc.
4+
*
5+
* You are hereby granted a non-exclusive, worldwide, royalty-free license to
6+
* use, copy, modify, and distribute this software in source code or binary
7+
* form for use in connection with the web services and APIs provided by
8+
* Facebook.
9+
*
10+
* As with any software that integrates with the Facebook platform, your use
11+
* of this software is subject to the Facebook Developer Principles and
12+
* Policies [http://developers.facebook.com/policy/]. This copyright notice
13+
* shall be included in all copies or substantial portions of the software.
14+
*
15+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18+
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21+
* DEALINGS IN THE SOFTWARE.
22+
*
23+
*/
24+
25+
namespace FacebookAds\Object;
26+
27+
use FacebookAds\Api;
28+
29+
abstract class AbstractArchivableCrudObject extends AbstractCrudObject {
30+
31+
/**
32+
* @var string
33+
*/
34+
const STATUS_DELETED = 'DELETED';
35+
36+
/**
37+
* @var string
38+
*/
39+
const STATUS_ARCHIVED = 'ARCHIVED';
40+
41+
/**
42+
* @return string
43+
*/
44+
public abstract function getStatusFieldName();
45+
46+
/**
47+
* Archive this object
48+
*
49+
* @param array $params
50+
* @return void
51+
*/
52+
public function archive(array $params = array()) {
53+
$this->getApi()->call(
54+
$this->getNodePath(),
55+
Api::HTTP_METHOD_POST,
56+
array_merge($params, array(
57+
$this->getStatusFieldName() => static::STATUS_ARCHIVED)));
58+
}
59+
60+
/**
61+
* Delete this object
62+
*
63+
* @param array $params
64+
* @return void
65+
*/
66+
public function delete(array $params = array()) {
67+
$this->getApi()->call(
68+
$this->getNodePath(),
69+
Api::HTTP_METHOD_POST,
70+
array_merge($params, array(
71+
$this->getStatusFieldName() => static::STATUS_DELETED)));
72+
}
73+
}

src/FacebookAds/Object/AbstractCrudObject.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ public function setApi(Api $api) {
8888
$this->api = static::assureApi($api);
8989
}
9090

91-
9291
/**
9392
* @return string
9493
*/
@@ -304,11 +303,8 @@ public function delete(array $params = array()) {
304303
$this->getNodePath(),
305304
Api::HTTP_METHOD_DELETE,
306305
$params);
307-
308-
$this->data[static::FIELD_ID] = null;
309306
}
310307

311-
312308
/**
313309
* Perform object upsert
314310
*

src/FacebookAds/Object/AbstractObject.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,16 @@ protected function exportData() {
9090
$data[$key] = $value;
9191
}
9292
}
93-
9493
return $data;
9594
}
9695

96+
/**
97+
* @return array
98+
*/
99+
public static function getFields() {
100+
return static::$fields;
101+
}
102+
97103
/**
98104
* @return string
99105
*/

src/FacebookAds/Object/AdAccount.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,16 @@ public function getAdImages(
177177
return $this->getManyByConnection(AdImage::className(), $fields, $params);
178178
}
179179

180+
/**
181+
* @param array $fields
182+
* @param array $params
183+
* @return Cursor
184+
*/
185+
public function getAdsPixels(
186+
array $fields = array(), array $params = array()) {
187+
return $this->getManyByConnection(AdsPixel::className(), $fields, $params);
188+
}
189+
180190
/**
181191
* @param array $fields
182192
* @param array $params

src/FacebookAds/Object/AdCampaign.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
use FacebookAds\Object\Fields\AdCampaignFields;
2929
use FacebookAds\Traits\FieldValidation;
3030

31-
class AdCampaign extends AbstractCrudObject {
31+
class AdCampaign extends AbstractArchivableCrudObject {
3232
use FieldValidation;
3333

3434
/**
@@ -60,6 +60,13 @@ protected function getEndpoint() {
6060
return 'adcampaign_groups';
6161
}
6262

63+
/**
64+
* @return string
65+
*/
66+
public function getStatusFieldName() {
67+
return AdCampaignFields::STATUS;
68+
}
69+
6370
/**
6471
* @param array $fields
6572
* @param array $params

src/FacebookAds/Object/AdCreative.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
namespace FacebookAds\Object;
2626

27+
use FacebookAds\Cursor;
2728
use FacebookAds\Object\Fields\AdCreativeFields;
2829
use FacebookAds\Traits\FieldValidation;
2930

@@ -41,6 +42,7 @@ class AdCreative extends AbstractCrudObject {
4142
AdCreativeFields::NAME,
4243
AdCreativeFields::OBJECT_ID,
4344
AdCreativeFields::OBJECT_STORY_ID,
45+
AdCreativeFields::OBJECT_STORY_SPEC,
4446
AdCreativeFields::BODY,
4547
AdCreativeFields::IMAGE_HASH,
4648
AdCreativeFields::IMAGE_FILE,

src/FacebookAds/Object/AdGroup.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
use FacebookAds\Object\Fields\AdGroupFields;
2929
use FacebookAds\Traits\FieldValidation;
3030

31-
class AdGroup extends AbstractCrudObject {
31+
class AdGroup extends AbstractArchivableCrudObject {
3232
use FieldValidation;
3333

3434
/**
@@ -95,6 +95,13 @@ protected function getEndpoint() {
9595
return 'adgroups';
9696
}
9797

98+
/**
99+
* @return string
100+
*/
101+
public function getStatusFieldName() {
102+
return AdGroupFields::ADGROUP_STATUS;
103+
}
104+
98105
/**
99106
* @param array $fields
100107
* @param array $params

src/FacebookAds/Object/AdSet.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
use FacebookAds\Traits\FieldValidation;
2929
use FacebookAds\Cursor;
3030

31-
class AdSet extends AbstractCrudObject {
31+
class AdSet extends AbstractArchivableCrudObject {
3232
use FieldValidation;
3333

3434
/**
@@ -56,6 +56,8 @@ class AdSet extends AbstractCrudObject {
5656
AdSetFields::DAILY_BUDGET,
5757
AdSetFields::LIFETIME_BUDGET,
5858
AdSetFields::BUDGET_REMAINING,
59+
AdSetFields::PACING_TYPE,
60+
AdSetFields::CAMPAIGN_SCHEDULE,
5961
);
6062

6163
/**
@@ -65,6 +67,13 @@ protected function getEndpoint() {
6567
return 'adcampaigns';
6668
}
6769

70+
/**
71+
* @return string
72+
*/
73+
public function getStatusFieldName() {
74+
return AdSetFields::CAMPAIGN_STATUS;
75+
}
76+
6877
/**
6978
* @param array $fields
7079
* @param array $params

0 commit comments

Comments
 (0)